diff options
author | Chris Lattner <sabre@nondot.org> | 2010-03-12 18:44:54 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-03-12 18:44:54 +0000 |
commit | 5ef31a039dbb9c36cfd78442b3554d1b6974ec4c (patch) | |
tree | a99e4557d23e694b6d6e3d13ad43f6ed3791f1d1 /lib | |
parent | fdab14b10564283028e9bdb628d095feae7fa071 (diff) |
make the mangler take an MCContext instead of an MAI.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98363 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 2 | ||||
-rw-r--r-- | lib/CodeGen/ELFWriter.cpp | 2 | ||||
-rw-r--r-- | lib/CodeGen/LLVMTargetMachine.cpp | 6 | ||||
-rw-r--r-- | lib/Target/CBackend/CBackend.cpp | 5 | ||||
-rw-r--r-- | lib/Target/Mangler.cpp | 10 |
5 files changed, 14 insertions, 11 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 53e1fab059..c5bf848edc 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -104,7 +104,7 @@ bool AsmPrinter::doInitialization(Module &M) { const_cast<TargetLoweringObjectFile&>(getObjFileLowering()) .Initialize(OutContext, TM); - Mang = new Mangler(*MAI); + Mang = new Mangler(OutContext); // Allow the target to emit any magic that it wants at the start of the file. EmitStartOfAsmFile(M); diff --git a/lib/CodeGen/ELFWriter.cpp b/lib/CodeGen/ELFWriter.cpp index a748b8bb4c..d73581a337 100644 --- a/lib/CodeGen/ELFWriter.cpp +++ b/lib/CodeGen/ELFWriter.cpp @@ -109,7 +109,7 @@ bool ELFWriter::doInitialization(Module &M) { // Initialize TargetLoweringObjectFile. const_cast<TargetLoweringObjectFile&>(TLOF).Initialize(OutContext, TM); - Mang = new Mangler(*MAI); + Mang = new Mangler(OutContext); // ELF Header // ---------- diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index 38d00178ba..51e538ef46 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/lib/CodeGen/LLVMTargetMachine.cpp @@ -101,14 +101,12 @@ LLVMTargetMachine::LLVMTargetMachine(const Target &T, // Set the default code model for the JIT for a generic target. // FIXME: Is small right here? or .is64Bit() ? Large : Small? -void -LLVMTargetMachine::setCodeModelForJIT() { +void LLVMTargetMachine::setCodeModelForJIT() { setCodeModel(CodeModel::Small); } // Set the default code model for static compilation for a generic target. -void -LLVMTargetMachine::setCodeModelForStatic() { +void LLVMTargetMachine::setCodeModelForStatic() { setCodeModel(CodeModel::Small); } diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index 10f873ffcb..6b9ae4fc0d 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -36,6 +36,7 @@ #include "llvm/Target/Mangler.h" #include "llvm/Transforms/Scalar.h" #include "llvm/MC/MCAsmInfo.h" +#include "llvm/MC/MCContext.h" #include "llvm/MC/MCSymbol.h" #include "llvm/Target/TargetData.h" #include "llvm/Target/TargetRegistry.h" @@ -95,6 +96,7 @@ namespace { LoopInfo *LI; const Module *TheModule; const MCAsmInfo* TAsm; + MCContext *TCtx; const TargetData* TD; std::map<const Type *, std::string> TypeNames; std::map<const ConstantFP *, unsigned> FPConstantMap; @@ -1731,7 +1733,8 @@ bool CWriter::doInitialization(Module &M) { TAsm = Match->createAsmInfo(Triple); #endif TAsm = new CBEMCAsmInfo(); - Mang = new Mangler(*TAsm); + TCtx = new MCContext(*TAsm); + Mang = new Mangler(*TCtx); // Keep track of which functions are static ctors/dtors so they can have // an attribute added to their prototypes. diff --git a/lib/Target/Mangler.cpp b/lib/Target/Mangler.cpp index ef6defc58d..3eab58cc36 100644 --- a/lib/Target/Mangler.cpp +++ b/lib/Target/Mangler.cpp @@ -14,6 +14,7 @@ #include "llvm/Target/Mangler.h" #include "llvm/GlobalValue.h" #include "llvm/MC/MCAsmInfo.h" +#include "llvm/MC/MCContext.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/Twine.h" using namespace llvm; @@ -59,11 +60,10 @@ static bool NameNeedsEscaping(StringRef Str, const MCAsmInfo &MAI) { /// appendMangledName - Add the specified string in mangled form if it uses /// any unusual characters. static void appendMangledName(SmallVectorImpl<char> &OutName, StringRef Str, - const MCAsmInfo *MAI) { + const MCAsmInfo &MAI) { // The first character is not allowed to be a number unless the target // explicitly allows it. - if ((MAI == 0 || !MAI->doesAllowNameToStartWithDigit()) && - Str[0] >= '0' && Str[0] <= '9') { + if (!MAI.doesAllowNameToStartWithDigit() && Str[0] >= '0' && Str[0] <= '9') { MangleLetter(OutName, Str[0]); Str = Str.substr(1); } @@ -100,6 +100,8 @@ void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName, StringRef Name = GVName.toStringRef(TmpData); assert(!Name.empty() && "getNameWithPrefix requires non-empty name"); + const MCAsmInfo &MAI = Context.getAsmInfo(); + // If the global name is not led with \1, add the appropriate prefixes. if (Name[0] == '\1') { Name = Name.substr(1); @@ -134,7 +136,7 @@ void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName, // On systems that do not allow quoted names, we need to mangle most // strange characters. if (!MAI.doesAllowQuotesInName()) - return appendMangledName(OutName, Name, &MAI); + return appendMangledName(OutName, Name, MAI); // Okay, the system allows quoted strings. We can quote most anything, the // only characters that need escaping are " and \n. |