Address review comments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232540 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Majnemer 2015-03-17 20:39:40 +00:00
parent 6526150f82
commit 468fbb3c2b
3 changed files with 12 additions and 13 deletions

View File

@ -52,9 +52,11 @@ public:
/// If the global variable doesn't have a name, this fills in a unique name
/// for the global.
void getNameWithPrefix(raw_ostream &OS, const GlobalValue *GV,
bool CannotUsePrivateLabel) const;
bool CannotUsePrivateLabel,
bool ForceNonPrivate = false) const;
void getNameWithPrefix(SmallVectorImpl<char> &OutName, const GlobalValue *GV,
bool CannotUsePrivateLabel) const;
bool CannotUsePrivateLabel,
bool ForceNonPrivate = false) const;
/// Print the appropriate prefix and the specified name as the global variable
/// name. GVName must not be empty.

View File

@ -960,13 +960,8 @@ void TargetLoweringObjectFileCOFF::getNameWithPrefix(
((isa<Function>(GV) && TM.getFunctionSections()) ||
(isa<GlobalVariable>(GV) && TM.getDataSections()))) {
SmallString<256> Tmp;
Mang.getNameWithPrefix(Tmp, GV, /*CannotUsePrivateLabel=*/false);
if (Tmp.startswith(".L"))
OutName.append(Tmp.begin() + 2, Tmp.end());
else if (Tmp.startswith("L"))
OutName.append(Tmp.begin() + 1, Tmp.end());
else
OutName.append(Tmp.begin(), Tmp.end());
Mang.getNameWithPrefix(Tmp, GV, CannotUsePrivateLabel, /*ForceNonPrivate=*/true);
OutName.append(Tmp.begin(), Tmp.end());
return;
}
Mang.getNameWithPrefix(OutName, GV, CannotUsePrivateLabel);

View File

@ -91,9 +91,10 @@ static void addByteCountSuffix(raw_ostream &OS, const Function *F,
}
void Mangler::getNameWithPrefix(raw_ostream &OS, const GlobalValue *GV,
bool CannotUsePrivateLabel) const {
bool CannotUsePrivateLabel,
bool ForceNonPrivate) const {
ManglerPrefixTy PrefixTy = Mangler::Default;
if (GV->hasPrivateLinkage()) {
if (GV->hasPrivateLinkage() && !ForceNonPrivate) {
if (CannotUsePrivateLabel)
PrefixTy = Mangler::LinkerPrivate;
else
@ -152,7 +153,8 @@ void Mangler::getNameWithPrefix(raw_ostream &OS, const GlobalValue *GV,
void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName,
const GlobalValue *GV,
bool CannotUsePrivateLabel) const {
bool CannotUsePrivateLabel,
bool ForceNonPrivate) const {
raw_svector_ostream OS(OutName);
getNameWithPrefix(OS, GV, CannotUsePrivateLabel);
getNameWithPrefix(OS, GV, CannotUsePrivateLabel, ForceNonPrivate);
}