diff options
author | Chris Lattner <sabre@nondot.org> | 2005-11-10 19:30:07 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-11-10 19:30:07 +0000 |
commit | ac8c83428886adcd6b6b2290252db87be184c71c (patch) | |
tree | 7d7db28cbc47a80f677f1784b97dc2ff7f8ffba6 /include/llvm | |
parent | 6c636c0fffe03f4acc5a68ce9f9e2f22d6c8ec8a (diff) | |
download | external_llvm-ac8c83428886adcd6b6b2290252db87be184c71c.zip external_llvm-ac8c83428886adcd6b6b2290252db87be184c71c.tar.gz external_llvm-ac8c83428886adcd6b6b2290252db87be184c71c.tar.bz2 |
Add a new option for targets that accept quoted labels.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24283 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/Support/Mangler.h | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/include/llvm/Support/Mangler.h b/include/llvm/Support/Mangler.h index 975791f..6499b9d 100644 --- a/include/llvm/Support/Mangler.h +++ b/include/llvm/Support/Mangler.h @@ -25,15 +25,15 @@ class Value; class GlobalValue; class Mangler { - /// This keeps track of which global values have had their names - /// mangled in the current module. - /// - std::set<const GlobalValue*> MangledGlobals; - /// Prefix - This string is added to each symbol that is emitted, unless the /// symbol is marked as not needing this prefix. const char *Prefix; - + + /// UseQuotes - If this is set, the target accepts global names in quotes, + /// e.g. "foo bar" is a legal name. This syntax is used instead of escaping + /// the space character. By default, this is false. + bool UseQuotes; + /// Memo - This is used to remember the name that we assign a value. /// std::map<const Value*, std::string> Memo; @@ -47,13 +47,20 @@ class Mangler { std::map<const Type*, unsigned> TypeMap; unsigned TypeCounter; - void InsertName(GlobalValue *GV, std::map<std::string, GlobalValue*> &Names); + /// This keeps track of which global values have had their names + /// mangled in the current module. + /// + std::set<const GlobalValue*> MangledGlobals; public: // Mangler ctor - if a prefix is specified, it will be prepended onto all // symbols. Mangler(Module &M, const char *Prefix = ""); + /// setUseQuotes - If UseQuotes is set to true, this target accepts quoted + /// strings for assembler labels. + void setUseQuotes(bool Val) { UseQuotes = Val; } + /// getTypeID - Return a unique ID for the specified LLVM type. /// unsigned getTypeID(const Type *Ty); @@ -72,6 +79,9 @@ public: /// from getValueName. /// std::string makeNameProper(const std::string &x, const char *Prefix = ""); + +private: + void InsertName(GlobalValue *GV, std::map<std::string, GlobalValue*> &Names); }; } // End llvm namespace |