mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
llvm-mc: Add some more doxyments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74607 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
42cdc3878e
commit
1aa14aac41
@ -18,13 +18,15 @@ class MCContext;
|
||||
class MCSymbol;
|
||||
class MCValue;
|
||||
|
||||
/// AsmExpr - Base class for the full range of assembler expressions which are
|
||||
/// needed for parsing.
|
||||
class AsmExpr {
|
||||
public:
|
||||
enum AsmExprKind {
|
||||
Binary, /// Binary expressions.
|
||||
Constant, /// Constant expressions.
|
||||
SymbolRef, /// References to labels and assigned expressions.
|
||||
Unary /// Unary expressions.
|
||||
Binary, ///< Binary expressions.
|
||||
Constant, ///< Constant expressions.
|
||||
SymbolRef, ///< References to labels and assigned expressions.
|
||||
Unary ///< Unary expressions.
|
||||
};
|
||||
|
||||
private:
|
||||
@ -45,7 +47,7 @@ public:
|
||||
bool EvaluateAsAbsolute(MCContext &Ctx, int64_t &Res) const;
|
||||
|
||||
/// EvaluateAsRelocatable - Try to evaluate the expression to a relocatable
|
||||
/// value.
|
||||
/// value, i.e. an expression of the fixed form (a - b + constant).
|
||||
///
|
||||
/// @param Res - The relocatable value, if evaluation succeeds.
|
||||
/// @result - True on success.
|
||||
@ -54,6 +56,7 @@ public:
|
||||
static bool classof(const AsmExpr *) { return true; }
|
||||
};
|
||||
|
||||
//// AsmConstantExpr - Represent a constant integer expression.
|
||||
class AsmConstantExpr : public AsmExpr {
|
||||
int64_t Value;
|
||||
|
||||
@ -69,6 +72,12 @@ public:
|
||||
static bool classof(const AsmConstantExpr *) { return true; }
|
||||
};
|
||||
|
||||
/// AsmSymbolRefExpr - Represent a reference to a symbol from inside an
|
||||
/// expression.
|
||||
///
|
||||
/// A symbol reference in an expression may be a use of a label, a use of an
|
||||
/// assembler variable (defined constant), or constitute an implicit definition
|
||||
/// of the symbol as external.
|
||||
class AsmSymbolRefExpr : public AsmExpr {
|
||||
MCSymbol *Symbol;
|
||||
|
||||
@ -84,13 +93,14 @@ public:
|
||||
static bool classof(const AsmSymbolRefExpr *) { return true; }
|
||||
};
|
||||
|
||||
/// AsmUnaryExpr - Unary assembler expressions.
|
||||
class AsmUnaryExpr : public AsmExpr {
|
||||
public:
|
||||
enum Opcode {
|
||||
LNot, /// Logical negation.
|
||||
Minus, /// Unary minus.
|
||||
Not, /// Bit-wise negation.
|
||||
Plus /// Unary plus.
|
||||
LNot, ///< Logical negation.
|
||||
Minus, ///< Unary minus.
|
||||
Not, ///< Bitwise negation.
|
||||
Plus ///< Unary plus.
|
||||
};
|
||||
|
||||
private:
|
||||
@ -114,27 +124,28 @@ public:
|
||||
static bool classof(const AsmUnaryExpr *) { return true; }
|
||||
};
|
||||
|
||||
/// AsmBinaryExpr - Binary assembler expressions.
|
||||
class AsmBinaryExpr : public AsmExpr {
|
||||
public:
|
||||
enum Opcode {
|
||||
Add, /// Addition.
|
||||
And, /// Bitwise and.
|
||||
Div, /// Division.
|
||||
EQ, /// Equality comparison.
|
||||
GT, /// Greater than comparison.
|
||||
GTE, /// Greater than or equal comparison.
|
||||
LAnd, /// Logical and.
|
||||
LOr, /// Logical or.
|
||||
LT, /// Less than comparison.
|
||||
LTE, /// Less than or equal comparison.
|
||||
Mod, /// Modulus.
|
||||
Mul, /// Multiplication.
|
||||
NE, /// Inequality comparison.
|
||||
Or, /// Bitwise or.
|
||||
Shl, /// Bitwise shift left.
|
||||
Shr, /// Bitwise shift right.
|
||||
Sub, /// Subtraction.
|
||||
Xor /// Bitwise exclusive or.
|
||||
Add, ///< Addition.
|
||||
And, ///< Bitwise and.
|
||||
Div, ///< Division.
|
||||
EQ, ///< Equality comparison.
|
||||
GT, ///< Greater than comparison.
|
||||
GTE, ///< Greater than or equal comparison.
|
||||
LAnd, ///< Logical and.
|
||||
LOr, ///< Logical or.
|
||||
LT, ///< Less than comparison.
|
||||
LTE, ///< Less than or equal comparison.
|
||||
Mod, ///< Modulus.
|
||||
Mul, ///< Multiplication.
|
||||
NE, ///< Inequality comparison.
|
||||
Or, ///< Bitwise or.
|
||||
Shl, ///< Bitwise shift left.
|
||||
Shr, ///< Bitwise shift right.
|
||||
Sub, ///< Subtraction.
|
||||
Xor ///< Bitwise exclusive or.
|
||||
};
|
||||
|
||||
private:
|
||||
@ -151,7 +162,10 @@ public:
|
||||
|
||||
Opcode getOpcode() const { return Op; }
|
||||
|
||||
/// getLHS - Get the left-hand side expression of the binary operator.
|
||||
AsmExpr *getLHS() const { return LHS; }
|
||||
|
||||
/// getRHS - Get the right-hand side expression of the binary operator.
|
||||
AsmExpr *getRHS() const { return RHS; }
|
||||
|
||||
static bool classof(const AsmExpr *E) {
|
||||
|
Loading…
Reference in New Issue
Block a user