diff options
Diffstat (limited to 'include/llvm/Target/Mangler.h')
-rw-r--r-- | include/llvm/Target/Mangler.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/include/llvm/Target/Mangler.h b/include/llvm/Target/Mangler.h index 45cbf9d..a9f3576 100644 --- a/include/llvm/Target/Mangler.h +++ b/include/llvm/Target/Mangler.h @@ -1,4 +1,4 @@ -//===-- llvm/Target/Mangler.h - Self-contained name mangler ----*- C++ -*-===// +//===-- llvm/Target/Mangler.h - Self-contained name mangler -----*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -23,7 +23,9 @@ class Twine; class Value; class GlobalValue; template <typename T> class SmallVectorImpl; -class MCAsmInfo; +class MCContext; +class MCSymbol; +class TargetData; class Mangler { public: @@ -34,7 +36,8 @@ public: }; private: - const MCAsmInfo &MAI; + MCContext &Context; + const TargetData &TD; /// AnonGlobalIDs - We need to give global values the same name every time /// they are mangled. This keeps track of the number we give to anonymous @@ -47,10 +50,14 @@ private: unsigned NextAnonGlobalID; public: - // Mangler ctor - if a prefix is specified, it will be prepended onto all - // symbols. - Mangler(const MCAsmInfo &mai) : MAI(mai), NextAnonGlobalID(1) {} + Mangler(MCContext &context, const TargetData &td) + : Context(context), TD(td), NextAnonGlobalID(1) {} + /// getSymbol - Return the MCSymbol for the specified global value. This + /// symbol is the main label that is the address of the global. + MCSymbol *getSymbol(const GlobalValue *GV); + + /// getNameWithPrefix - Fill OutName with the name of the appropriate prefix /// and the specified global variable's name. If the global variable doesn't /// have a name, this fills in a unique name for the global. |