Header menu logo B2R2

LLVMIRBuilder Type

LLVM IR builder, which takes in a series of LowUIR stmts and creates an LLVM function that corresponds to the LowUIR stmts.

Constructors

Constructor Description

LLVMIRBuilder(fname, addr, hdl, ctxt)

Full Usage: LLVMIRBuilder(fname, addr, hdl, ctxt)

Parameters:
Returns: LLVMIRBuilder
fname : string
addr : Addr
hdl : BinHandle
ctxt : LLVMContext
Returns: LLVMIRBuilder

Instance members

Instance member Description

this.Address

Full Usage: this.Address

Returns: Addr
Returns: Addr

this.EmitBinOp

Full Usage: this.EmitBinOp

Parameters:
Returns: LLVMExpr
opstr : string
typ : int<MeasureProduct<rt, MeasureOne>>
lhs : LLVMExpr
rhs : LLVMExpr
Returns: LLVMExpr

this.EmitBranch

Full Usage: this.EmitBranch

Parameters:
targets : Addr list
succs : Addr list

this.EmitBranchToFinal

Full Usage: this.EmitBranchToFinal

this.EmitCast

Full Usage: this.EmitCast

Parameters:
Returns: LLVMExpr
e : LLVMExpr
kind : string
etyp : int<MeasureProduct<rt, MeasureOne>>
rt : int<MeasureProduct<rt, MeasureOne>>
Returns: LLVMExpr

this.EmitComment

Full Usage: this.EmitComment

Parameters:
    s : string

s : string

this.EmitCondBranch

Full Usage: this.EmitCondBranch

Parameters:
cond : LLVMExpr
t : Addr
f : Addr
succs : Addr list

this.EmitExtract

Full Usage: this.EmitExtract

Parameters:
Returns: LLVMExpr
e : LLVMExpr
etyp : RegType
len : RegType
pos : int
Returns: LLVMExpr

this.EmitInterCJmp

Full Usage: this.EmitInterCJmp

Parameters:
typ : int<MeasureProduct<rt, MeasureOne>>
cond : LLVMExpr
t : LLVMExpr
f : LLVMExpr
succs : Addr list

this.EmitInterJmp

Full Usage: this.EmitInterJmp

Parameters:
target : LLVMExpr
succs : Addr list

this.EmitLabel

Full Usage: this.EmitLabel

Parameters:
addr : Addr

this.EmitMemLoad

Full Usage: this.EmitMemLoad

Parameters:
Returns: LLVMExpr
mexpr : LLVMExpr
mtyp : int<MeasureProduct<rt, MeasureOne>>
Returns: LLVMExpr

this.EmitMemStore

Full Usage: this.EmitMemStore

Parameters:
addr : LLVMExpr
mtyp : int<MeasureProduct<rt, MeasureOne>>
v : LLVMExpr

this.EmitPCLoad

Full Usage: this.EmitPCLoad

Returns: LLVMExpr
Returns: LLVMExpr

this.EmitPCStore

Full Usage: this.EmitPCStore

Parameters:
target : LLVMExpr

this.EmitRegLoad

Full Usage: this.EmitRegLoad

Parameters:
Returns: LLVMExpr
reg : RegisterID
Returns: LLVMExpr

this.EmitRegStore

Full Usage: this.EmitRegStore

Parameters:
lreg : RegisterID
rexp : LLVMExpr

this.EmitRelOp

Full Usage: this.EmitRelOp

Parameters:
Returns: LLVMExpr
opstr : string
typ : int<MeasureProduct<rt, MeasureOne>>
lhs : LLVMExpr
rhs : LLVMExpr
Returns: LLVMExpr

this.EmitStmt

Full Usage: this.EmitStmt

Parameters:
s : LLVMStmt

this.EmitUnOp

Full Usage: this.EmitUnOp

Parameters:
Returns: LLVMExpr
opstr : string
exp : LLVMExpr
etyp : int<MeasureProduct<rt, MeasureOne>>
Returns: LLVMExpr

this.Number

Full Usage: this.Number

Parameters:
Returns: LLVMExpr
num : uint64
len : RegType
Returns: LLVMExpr

Type something to start searching.