X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FMC%2FMCValue.h;h=6bdf43685f211c131dfcc40a8255621e0de2ec84;hb=00552e3875ee5f382db6c98286a241a7d0efe1b8;hp=21a17038a14ff99d9d79af1c198044835047e424;hpb=4266ae806798f1e8982a53bb9babe1e508adfc68;p=oota-llvm.git diff --git a/include/llvm/MC/MCValue.h b/include/llvm/MC/MCValue.h index 21a17038a14..6bdf43685f2 100644 --- a/include/llvm/MC/MCValue.h +++ b/include/llvm/MC/MCValue.h @@ -14,20 +14,20 @@ #ifndef LLVM_MC_MCVALUE_H #define LLVM_MC_MCVALUE_H +#include "llvm/MC/MCExpr.h" #include "llvm/MC/MCSymbol.h" #include "llvm/Support/DataTypes.h" #include namespace llvm { class MCAsmInfo; -class MCSymbol; -class MCSymbolRefExpr; class raw_ostream; -/// MCValue - This represents an "assembler immediate". In its most -/// general form, this can hold ":Kind:(SymbolA - SymbolB + imm64)". -/// Not all targets supports relocations of this general form, but we -/// need to represent this anyway. +/// \brief This represents an "assembler immediate". +/// +/// In its most general form, this can hold ":Kind:(SymbolA - SymbolB + +/// imm64)". Not all targets supports relocations of this general form, but we +/// need to represent this anyway. /// /// In general both SymbolA and SymbolB will also have a modifier /// analogous to the top-level Kind. Current targets are not expected @@ -52,15 +52,17 @@ public: const MCSymbolRefExpr *getSymB() const { return SymB; } uint32_t getRefKind() const { return RefKind; } - /// isAbsolute - Is this an absolute (as opposed to relocatable) value. + /// \brief Is this an absolute (as opposed to relocatable) value. bool isAbsolute() const { return !SymA && !SymB; } - /// print - Print the value to the stream \p OS. - void print(raw_ostream &OS, const MCAsmInfo *MAI) const; + /// \brief Print the value to the stream \p OS. + void print(raw_ostream &OS) const; - /// dump - Print the value to stderr. + /// \brief Print the value to stderr. void dump() const; + MCSymbolRefExpr::VariantKind getAccessVariant() const; + static MCValue get(const MCSymbolRefExpr *SymA, const MCSymbolRefExpr *SymB = nullptr, int64_t Val = 0, uint32_t RefKind = 0) {