Binary assembler expressions.

Synopsis

Declared in <llvm/MC/MCExpr.h>

class MCBinaryExpr
    : public MCExpr

Base Classes

Name

Description

MCExpr

Base class for the full range of assembler expressions which are needed for parsing.

Enums

Name

Description

ExprKind

Discriminator for concrete MCExpr subclasses.

Opcode

Binary operation applied to two subexpressions.

Member Functions

Name

Description

operator= [deleted]

Deleted copy assignment.

dump

Dump this expression to stderr.

evaluateAsAbsolute

evaluateAsAbsolute overloads

evaluateAsRelocatable

Try to evaluate the expression to a relocatable value, i.e. an expression of the fixed form (a ‐ b + constant).

evaluateAsValue

Try to evaluate the expression to the form (a ‐ b + constant) where neither a nor b are variables.

evaluateKnownAbsolute

Aggressive variant of evaluateAsRelocatable when relocations are unavailable (e.g. .fill). Expects callers to handle errors when true is returned.

findAssociatedFragment

Find the fragment associated with this expression.

getKind

Return the kind of this expression.

getLHS

Get the left‐hand side expression of the binary operator.

getLoc

Return the source location of this expression.

getOpcode

Get the kind of this binary expression.

getRHS

Get the right‐hand side expression of the binary operator.

Static Member Functions

Name

Description

classof

Return true if E is a binary expression.

create

Create a binary expression with operator Op applied to LHS and RHS.

createAShr

Create an arithmetic right shift of LHS by RHS.

createAdd

Create an addition of LHS and RHS.

createAnd

Create a bitwise AND of LHS and RHS.

createDiv

Create a signed division of LHS by RHS.

createEQ

Create an equality comparison of LHS and RHS.

createGT

Create a signed greater‐than comparison of LHS and RHS.

createGTE

Create a signed greater‐than‐or‐equal comparison of LHS and RHS.

createLAnd

Create a logical AND of LHS and RHS.

createLOr

Create a logical OR of LHS and RHS.

createLShr

Create a logical right shift of LHS by RHS.

createLT

Create a signed less‐than comparison of LHS and RHS.

createLTE

Create a signed less‐than‐or‐equal comparison of LHS and RHS.

createMod

Create a signed remainder of LHS divided by RHS.

createMul

Create a multiplication of LHS and RHS.

createNE

Create a not‐equal comparison of LHS and RHS.

createOr

Create a bitwise OR of LHS and RHS.

createShl

Create a left shift of LHS by RHS.

createSub

Create a subtraction of RHS from LHS.

createXor

Create a bitwise XOR of LHS and RHS.

evaluateSymbolicAdd

Add two symbolic relocatable values, folding resolved differences when possible.

Protected Type Aliases

Name

Description

Spec

Relocation specifier type stored in subclass data.

Protected Member Functions

Name

Description

evaluateAsRelocatableImpl

Evaluate this expression as a relocatable value.

getSubclassData

Return subclass‐specific data stored in this expression.

Created with MrDocs