Skip to content

Commit 2f3fe3e

Browse files
committed
[CodeGen] Remove Constant arguments from linkage functions, NFCI.
This was unused since commit dd2362a last year. Differential Revision: https://reviews.llvm.org/D156891
1 parent 28741a2 commit 2f3fe3e

File tree

9 files changed

+23
-28
lines changed

9 files changed

+23
-28
lines changed

clang/lib/CodeGen/CGCXXABI.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,7 @@ void CGCXXABI::setCXXDestructorDLLStorage(llvm::GlobalValue *GV,
312312
llvm::GlobalValue::LinkageTypes CGCXXABI::getCXXDestructorLinkage(
313313
GVALinkage Linkage, const CXXDestructorDecl *Dtor, CXXDtorType DT) const {
314314
// Delegate back to CGM by default.
315-
return CGM.getLLVMLinkageForDeclarator(Dtor, Linkage,
316-
/*IsConstantVariable=*/false);
315+
return CGM.getLLVMLinkageForDeclarator(Dtor, Linkage);
317316
}
318317

319318
bool CGCXXABI::NeedsVTTParameter(GlobalDecl GD) {

clang/lib/CodeGen/CGDecl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ void CodeGenFunction::EmitVarDecl(const VarDecl &D) {
202202
return;
203203

204204
llvm::GlobalValue::LinkageTypes Linkage =
205-
CGM.getLLVMLinkageVarDefinition(&D, /*IsConstant=*/false);
205+
CGM.getLLVMLinkageVarDefinition(&D);
206206

207207
// FIXME: We need to force the emission/use of a guard variable for
208208
// some variables even if we can constant-evaluate them because

clang/lib/CodeGen/CGExpr.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2679,8 +2679,7 @@ static LValue EmitGlobalNamedRegister(const VarDecl *VD, CodeGenModule &CGM) {
26792679
/// this context.
26802680
static bool canEmitSpuriousReferenceToVariable(CodeGenFunction &CGF,
26812681
const DeclRefExpr *E,
2682-
const VarDecl *VD,
2683-
bool IsConstant) {
2682+
const VarDecl *VD) {
26842683
// For a variable declared in an enclosing scope, do not emit a spurious
26852684
// reference even if we have a capture, as that will emit an unwarranted
26862685
// reference to our capture state, and will likely generate worse code than
@@ -2713,7 +2712,7 @@ static bool canEmitSpuriousReferenceToVariable(CodeGenFunction &CGF,
27132712
// We can emit a spurious reference only if the linkage implies that we'll
27142713
// be emitting a non-interposable symbol that will be retained until link
27152714
// time.
2716-
switch (CGF.CGM.getLLVMLinkageVarDefinition(VD, IsConstant)) {
2715+
switch (CGF.CGM.getLLVMLinkageVarDefinition(VD)) {
27172716
case llvm::GlobalValue::ExternalLinkage:
27182717
case llvm::GlobalValue::LinkOnceODRLinkage:
27192718
case llvm::GlobalValue::WeakODRLinkage:
@@ -2744,7 +2743,7 @@ LValue CodeGenFunction::EmitDeclRefLValue(const DeclRefExpr *E) {
27442743
// constant value directly instead.
27452744
if (E->isNonOdrUse() == NOUR_Constant &&
27462745
(VD->getType()->isReferenceType() ||
2747-
!canEmitSpuriousReferenceToVariable(*this, E, VD, true))) {
2746+
!canEmitSpuriousReferenceToVariable(*this, E, VD))) {
27482747
VD->getAnyInitializer(VD);
27492748
llvm::Constant *Val = ConstantEmitter(*this).emitAbstract(
27502749
E->getLocation(), *VD->evaluateValue(), VD->getType());
@@ -2846,7 +2845,7 @@ LValue CodeGenFunction::EmitDeclRefLValue(const DeclRefExpr *E) {
28462845
// some reason; most likely, because it's in an outer function.
28472846
} else if (VD->isStaticLocal()) {
28482847
llvm::Constant *var = CGM.getOrCreateStaticVarDecl(
2849-
*VD, CGM.getLLVMLinkageVarDefinition(VD, /*IsConstant=*/false));
2848+
*VD, CGM.getLLVMLinkageVarDefinition(VD));
28502849
addr = Address(
28512850
var, ConvertTypeForMem(VD->getType()), getContext().getDeclAlign(VD));
28522851

clang/lib/CodeGen/CGExprConstant.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1953,7 +1953,7 @@ ConstantLValueEmitter::tryEmitBase(const APValue::LValueBase &base) {
19531953

19541954
if (VD->isLocalVarDecl()) {
19551955
return CGM.getOrCreateStaticVarDecl(
1956-
*VD, CGM.getLLVMLinkageVarDefinition(VD, /*IsConstant=*/false));
1956+
*VD, CGM.getLLVMLinkageVarDefinition(VD));
19571957
}
19581958
}
19591959
}

clang/lib/CodeGen/CGOpenMPRuntime.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1570,7 +1570,7 @@ Address CGOpenMPRuntime::getAddrOfDeclareTargetVar(const VarDecl *VD) {
15701570
auto AddrOfGlobal = [&VD, this]() { return CGM.GetAddrOfGlobal(VD); };
15711571

15721572
auto LinkageForVariable = [&VD, this]() {
1573-
return CGM.getLLVMLinkageVarDefinition(VD, /*IsConstant=*/false);
1573+
return CGM.getLLVMLinkageVarDefinition(VD);
15741574
};
15751575

15761576
std::vector<llvm::GlobalVariable *> GeneratedRefs;
@@ -10087,7 +10087,7 @@ void CGOpenMPRuntime::registerTargetGlobalVariable(const VarDecl *VD,
1008710087

1008810088
auto AddrOfGlobal = [&VD, this]() { return CGM.GetAddrOfGlobal(VD); };
1008910089
auto LinkageForVariable = [&VD, this]() {
10090-
return CGM.getLLVMLinkageVarDefinition(VD, /*IsConstant=*/false);
10090+
return CGM.getLLVMLinkageVarDefinition(VD);
1009110091
};
1009210092

1009310093
std::vector<llvm::GlobalVariable *> GeneratedRefs;

clang/lib/CodeGen/CodeGenModule.cpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1979,7 +1979,7 @@ CodeGenModule::getFunctionLinkage(GlobalDecl GD) {
19791979
return llvm::GlobalValue::InternalLinkage;
19801980
}
19811981

1982-
return getLLVMLinkageForDeclarator(D, Linkage, /*IsConstantVariable=*/false);
1982+
return getLLVMLinkageForDeclarator(D, Linkage);
19831983
}
19841984

19851985
llvm::ConstantInt *CodeGenModule::CreateCrossDsoCfiTypeId(llvm::Metadata *MD) {
@@ -5220,8 +5220,7 @@ void CodeGenModule::EmitGlobalVarDefinition(const VarDecl *D,
52205220
AddGlobalAnnotations(D, GV);
52215221

52225222
// Set the llvm linkage type as appropriate.
5223-
llvm::GlobalValue::LinkageTypes Linkage =
5224-
getLLVMLinkageVarDefinition(D, GV->isConstant());
5223+
llvm::GlobalValue::LinkageTypes Linkage = getLLVMLinkageVarDefinition(D);
52255224

52265225
// CUDA B.2.1 "The __device__ qualifier declares a variable that resides on
52275226
// the device. [...]"
@@ -5414,8 +5413,9 @@ static bool isVarDeclStrongDefinition(const ASTContext &Context,
54145413
return false;
54155414
}
54165415

5417-
llvm::GlobalValue::LinkageTypes CodeGenModule::getLLVMLinkageForDeclarator(
5418-
const DeclaratorDecl *D, GVALinkage Linkage, bool IsConstantVariable) {
5416+
llvm::GlobalValue::LinkageTypes
5417+
CodeGenModule::getLLVMLinkageForDeclarator(const DeclaratorDecl *D,
5418+
GVALinkage Linkage) {
54195419
if (Linkage == GVA_Internal)
54205420
return llvm::Function::InternalLinkage;
54215421

@@ -5485,10 +5485,10 @@ llvm::GlobalValue::LinkageTypes CodeGenModule::getLLVMLinkageForDeclarator(
54855485
return llvm::GlobalVariable::ExternalLinkage;
54865486
}
54875487

5488-
llvm::GlobalValue::LinkageTypes CodeGenModule::getLLVMLinkageVarDefinition(
5489-
const VarDecl *VD, bool IsConstant) {
5488+
llvm::GlobalValue::LinkageTypes
5489+
CodeGenModule::getLLVMLinkageVarDefinition(const VarDecl *VD) {
54905490
GVALinkage Linkage = getContext().GetGVALinkageForVariable(VD);
5491-
return getLLVMLinkageForDeclarator(VD, Linkage, IsConstant);
5491+
return getLLVMLinkageForDeclarator(VD, Linkage);
54925492
}
54935493

54945494
/// Replace the uses of a function that was declared with a non-proto type.
@@ -5700,7 +5700,7 @@ void CodeGenModule::EmitAliasDefinition(GlobalDecl GD) {
57005700
Aliasee = GetOrCreateLLVMGlobal(AA->getAliasee(), DeclTy, LangAS::Default,
57015701
/*D=*/nullptr);
57025702
if (const auto *VD = dyn_cast<VarDecl>(GD.getDecl()))
5703-
LT = getLLVMLinkageVarDefinition(VD, D->getType().isConstQualified());
5703+
LT = getLLVMLinkageVarDefinition(VD);
57045704
else
57055705
LT = getFunctionLinkage(GD);
57065706
}
@@ -6334,8 +6334,7 @@ ConstantAddress CodeGenModule::GetAddrOfGlobalTemporary(
63346334
}
63356335

63366336
// Create a global variable for this lifetime-extended temporary.
6337-
llvm::GlobalValue::LinkageTypes Linkage =
6338-
getLLVMLinkageVarDefinition(VD, Constant);
6337+
llvm::GlobalValue::LinkageTypes Linkage = getLLVMLinkageVarDefinition(VD);
63396338
if (Linkage == llvm::GlobalVariable::ExternalLinkage) {
63406339
const VarDecl *InitVD;
63416340
if (VD->isStaticDataMember() && VD->getAnyInitializer(InitVD) &&

clang/lib/CodeGen/CodeGenModule.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1314,12 +1314,11 @@ class CodeGenModule : public CodeGenTypeCache {
13141314

13151315
/// Returns LLVM linkage for a declarator.
13161316
llvm::GlobalValue::LinkageTypes
1317-
getLLVMLinkageForDeclarator(const DeclaratorDecl *D, GVALinkage Linkage,
1318-
bool IsConstantVariable);
1317+
getLLVMLinkageForDeclarator(const DeclaratorDecl *D, GVALinkage Linkage);
13191318

13201319
/// Returns LLVM linkage for a declarator.
13211320
llvm::GlobalValue::LinkageTypes
1322-
getLLVMLinkageVarDefinition(const VarDecl *VD, bool IsConstant);
1321+
getLLVMLinkageVarDefinition(const VarDecl *VD);
13231322

13241323
/// Emit all the global annotations.
13251324
void EmitGlobalAnnotations();

clang/lib/CodeGen/ItaniumCXXABI.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2832,7 +2832,7 @@ static bool isThreadWrapperReplaceable(const VarDecl *VD,
28322832
static llvm::GlobalValue::LinkageTypes
28332833
getThreadLocalWrapperLinkage(const VarDecl *VD, CodeGen::CodeGenModule &CGM) {
28342834
llvm::GlobalValue::LinkageTypes VarLinkage =
2835-
CGM.getLLVMLinkageVarDefinition(VD, /*IsConstant=*/false);
2835+
CGM.getLLVMLinkageVarDefinition(VD);
28362836

28372837
// For internal linkage variables, we don't need an external or weak wrapper.
28382838
if (llvm::GlobalValue::isLocalLinkage(VarLinkage))

clang/lib/CodeGen/MicrosoftCXXABI.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1379,8 +1379,7 @@ llvm::GlobalValue::LinkageTypes MicrosoftCXXABI::getCXXDestructorLinkage(
13791379
case Dtor_Base:
13801380
// The base destructor most closely tracks the user-declared constructor, so
13811381
// we delegate back to the normal declarator case.
1382-
return CGM.getLLVMLinkageForDeclarator(Dtor, Linkage,
1383-
/*IsConstantVariable=*/false);
1382+
return CGM.getLLVMLinkageForDeclarator(Dtor, Linkage);
13841383
case Dtor_Complete:
13851384
// The complete destructor is like an inline function, but it may be
13861385
// imported and therefore must be exported as well. This requires changing

0 commit comments

Comments
 (0)