diff options
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/CBackend/CBackend.cpp | 2 | ||||
-rw-r--r-- | lib/Target/DarwinTargetAsmInfo.cpp | 9 |
2 files changed, 4 insertions, 7 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index 38ce218..c3c2b0e 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -1432,7 +1432,7 @@ void CWriter::printConstantWithCast(Constant* CPV, unsigned Opcode) { std::string CWriter::GetValueName(const Value *Operand) { // Mangle globals with the standard mangler interface for LLC compatibility. if (const GlobalValue *GV = dyn_cast<GlobalValue>(Operand)) - return Mang->getMangledName(GV); + return Mang->getValueName(GV); std::string Name = Operand->getName(); diff --git a/lib/Target/DarwinTargetAsmInfo.cpp b/lib/Target/DarwinTargetAsmInfo.cpp index d331467..6094976 100644 --- a/lib/Target/DarwinTargetAsmInfo.cpp +++ b/lib/Target/DarwinTargetAsmInfo.cpp @@ -103,21 +103,18 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo(const TargetMachine &TM) /// emitUsedDirectiveFor - On Darwin, internally linked data beginning with /// the PrivateGlobalPrefix or the LessPrivateGlobalPrefix does not have the /// directive emitted (this occurs in ObjC metadata). + bool DarwinTargetAsmInfo::emitUsedDirectiveFor(const GlobalValue* GV, Mangler *Mang) const { if (GV==0) return false; - - /// FIXME: WHAT IS THIS? - if (GV->hasLocalLinkage() && !isa<Function>(GV) && ((strlen(getPrivateGlobalPrefix()) != 0 && - Mang->getMangledName(GV).substr(0,strlen(getPrivateGlobalPrefix())) == + Mang->getValueName(GV).substr(0,strlen(getPrivateGlobalPrefix())) == getPrivateGlobalPrefix()) || (strlen(getLessPrivateGlobalPrefix()) != 0 && - Mang->getMangledName(GV).substr(0, - strlen(getLessPrivateGlobalPrefix())) == + Mang->getValueName(GV).substr(0,strlen(getLessPrivateGlobalPrefix())) == getLessPrivateGlobalPrefix()))) return false; return true; |