forked from OSchip/llvm-project
parent
94734eef33
commit
0b6537e6e5
|
@ -379,9 +379,10 @@ void AsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
|
|||
|
||||
MCSymbol *GVSym = getSymbol(GV);
|
||||
MCSymbol *EmittedSym = GVSym;
|
||||
// getOrCreateEmuTLSControlSym only creates the symbol with name and default attributes.
|
||||
// GV's or GVSym's attributes will be used for the EmittedSym.
|
||||
|
||||
// getOrCreateEmuTLSControlSym only creates the symbol with name and default
|
||||
// attributes.
|
||||
// GV's or GVSym's attributes will be used for the EmittedSym.
|
||||
EmitVisibility(EmittedSym, GV->getVisibility(), !GV->isDeclaration());
|
||||
|
||||
if (!GV->hasInitializer()) // External globals require no extra code.
|
||||
|
@ -1005,8 +1006,9 @@ static bool isGOTEquivalentCandidate(const GlobalVariable *GV,
|
|||
// Global GOT equivalents are unnamed private globals with a constant
|
||||
// pointer initializer to another global symbol. They must point to a
|
||||
// GlobalVariable or Function, i.e., as GlobalValue.
|
||||
if (!GV->hasGlobalUnnamedAddr() || !GV->hasInitializer() || !GV->isConstant() ||
|
||||
!GV->isDiscardableIfUnused() || !dyn_cast<GlobalValue>(GV->getOperand(0)))
|
||||
if (!GV->hasGlobalUnnamedAddr() || !GV->hasInitializer() ||
|
||||
!GV->isConstant() || !GV->isDiscardableIfUnused() ||
|
||||
!dyn_cast<GlobalValue>(GV->getOperand(0)))
|
||||
return false;
|
||||
|
||||
// To be a got equivalent, at least one of its users need to be a constant
|
||||
|
@ -1615,7 +1617,8 @@ void AsmPrinter::EmitXXStructorList(const DataLayout &DL, const Constant *List,
|
|||
S.Priority = Priority->getLimitedValue(65535);
|
||||
S.Func = CS->getOperand(1);
|
||||
if (ETy->getNumElements() == 3 && !CS->getOperand(2)->isNullValue())
|
||||
S.ComdatKey = dyn_cast<GlobalValue>(CS->getOperand(2)->stripPointerCasts());
|
||||
S.ComdatKey =
|
||||
dyn_cast<GlobalValue>(CS->getOperand(2)->stripPointerCasts());
|
||||
}
|
||||
|
||||
// Emit the function pointers in the target-specific order
|
||||
|
|
Loading…
Reference in New Issue