'pc' Dialect
Dialect for representing ghidra pcode operations. [TOC]
Operations
pc.block
(::patchestry::pc::BlockOp)
Syntax:
Traits: NoTerminator
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
sym_name | ::mlir::StringAttr | string attribute |
pc.bool_negate
(::patchestry::pc::BoolNegateOp)
Syntax:
Traits: SameOperandsAndResultType
Interfaces: InferTypeOpInterface
Operands:
Operand | Description |
---|---|
op |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.branch
(::patchestry::pc::BranchOp)
Pcode BRANCH operation
Syntax:
TBD
Operands:
Operand | Description |
---|---|
addr |
signless integer |
pc.call
(::patchestry::pc::CallOp)
Pcode CALL operation
Syntax:
TBD
Operands:
Operand | Description |
---|---|
addr |
signless integer |
pc.cbranch
(::patchestry::pc::CBranchOp)
Pcode CBRANCH operation
Syntax:
TBD
Operands:
Operand | Description |
---|---|
addr |
signless integer |
cond |
signless integer |
pc.const
(::patchestry::pc::ConstOp)
Syntax:
Traits: ConstantLike
Interfaces: InferTypeOpInterface
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
value | ::mlir::TypedAttr | TypedAttr instance{{% markdown %}} This interface is used for attributes that have a type. The type of an attribute is understood to represent the type of the data contained in the attribute and is often used as the type of a value with this data. {{% /markdown %}} |
Results:
Result | Description |
---|---|
result |
any type |
pc.copy
(::patchestry::pc::CopyOp)
Syntax:
Traits: SameOperandsAndResultType
Interfaces: InferTypeOpInterface
Operands:
Operand | Description |
---|---|
op |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.func
(::patchestry::pc::FuncOp)
Syntax:
Traits: IsolatedFromAbove
, NoTerminator
, SymbolTable
Interfaces: Symbol
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
sym_name | ::mlir::StringAttr | string attribute |
pc.instruction
(::patchestry::pc::InstOp)
Syntax:
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
inst_mnemonic | ::mlir::StringAttr | string attribute |
pc.int_add
(::patchestry::pc::IntAddOp)
Syntax:
Operands:
Operand | Description |
---|---|
lhs |
signless integer |
rhs |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.int_and
(::patchestry::pc::IntAndOp)
Syntax:
Operands:
Operand | Description |
---|---|
lhs |
signless integer |
rhs |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.int_equal
(::patchestry::pc::IntEqualOp)
Syntax:
Operands:
Operand | Description |
---|---|
lhs |
signless integer |
rhs |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.int_less
(::patchestry::pc::IntLessOp)
Syntax:
Operands:
Operand | Description |
---|---|
lhs |
signless integer |
rhs |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.int_sborrow
(::patchestry::pc::IntSBorrowOp)
Syntax:
Operands:
Operand | Description |
---|---|
lhs |
signless integer |
rhs |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.int_sless
(::patchestry::pc::IntSLessOp)
Syntax:
Operands:
Operand | Description |
---|---|
lhs |
signless integer |
rhs |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.int_sub
(::patchestry::pc::IntSubOp)
Syntax:
Operands:
Operand | Description |
---|---|
lhs |
signless integer |
rhs |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.load
(::patchestry::pc::LoadOp)
Pcode LOAD operation
Syntax:
TBD
Operands:
Operand | Description |
---|---|
addr_space |
signless integer |
addr |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.mem
(::patchestry::pc::MemOp)
Syntax:
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
addr_space | ::mlir::StringAttr | string attribute |
addr | ::mlir::IntegerAttr | 64-bit signless integer attribute |
size | ::mlir::IntegerAttr | 8-bit signless integer attribute |
Results:
Result | Description |
---|---|
result |
any type |
pc.popcount
(::patchestry::pc::PopcountOp)
Syntax:
Operands:
Operand | Description |
---|---|
op |
signless integer |
Results:
Result | Description |
---|---|
result |
signless integer |
pc.reg
(::patchestry::pc::RegOp)
Syntax:
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
addr_space | ::mlir::StringAttr | string attribute |
addr | ::mlir::IntegerAttr | 64-bit signless integer attribute |
size | ::mlir::IntegerAttr | 8-bit signless integer attribute |
Results:
Result | Description |
---|---|
result |
any type |
pc.return
(::patchestry::pc::ReturnOp)
Pcode RETURN operation
Syntax:
TBD
Operands:
Operand | Description |
---|---|
varnode |
signless integer |
pc.store
(::patchestry::pc::StoreOp)
Pcode STORE operation
Syntax:
TBD
Operands:
Operand | Description |
---|---|
addr_space |
signless integer |
addr |
signless integer |
data |
signless integer |
pc.var
(::patchestry::pc::VarOp)
Syntax:
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
addr_space | ::mlir::StringAttr | string attribute |
addr | ::mlir::IntegerAttr | 64-bit signless integer attribute |
size | ::mlir::IntegerAttr | 8-bit signless integer attribute |
Results:
Result | Description |
---|---|
result |
any type |
Types
MemType
Syntax: !pc.mem
RegType
Syntax: !pc.reg
VarType
Syntax: !pc.var