'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
ConstType
Syntax: !pc.const
MemType
Syntax: !pc.mem
RegType
Syntax: !pc.reg
VarType
Syntax: !pc.var