Skip to content

Commit 42b7d59

Browse files
authored
Merge pull request #29951 from dan-zheng/silence-warnings
[IRGen] NFC: silence `llvm::MaybeAlign` warnings.
2 parents d53ff03 + 1779632 commit 42b7d59

15 files changed

+78
-68
lines changed

lib/IRGen/GenBuiltin.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1012,7 +1012,8 @@ if (Builtin.ID == BuiltinValueKind::id) { \
10121012
/*constant*/ false,
10131013
llvm::GlobalValue::PrivateLinkage,
10141014
llvm::ConstantAggregateZero::get(flagStorageTy));
1015-
flag->setAlignment(IGF.IGM.getAtomicBoolAlignment().getValue());
1015+
flag->setAlignment(
1016+
llvm::MaybeAlign(IGF.IGM.getAtomicBoolAlignment().getValue()));
10161017
entrypointArgs[6] = llvm::ConstantExpr::getBitCast(flag, IGF.IGM.Int8PtrTy);
10171018

10181019
IGF.Builder.CreateCall(IGF.IGM.getSwift3ImplicitObjCEntrypointFn(),

lib/IRGen/GenCoverage.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,6 @@ void IRGenModule::emitCoverageMapping() {
174174
CovDataVal, llvm::getCoverageMappingVarName());
175175
std::string CovSection = getCoverageSection(*this);
176176
CovData->setSection(CovSection);
177-
CovData->setAlignment(8);
177+
CovData->setAlignment(llvm::MaybeAlign(8));
178178
addUsedGlobal(CovData);
179179
}

lib/IRGen/GenDecl.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ emitGlobalList(IRGenModule &IGM, ArrayRef<llvm::WeakTrackingVH> handles,
530530
auto var = new llvm::GlobalVariable(IGM.Module, varTy, isConstant, linkage,
531531
init, name);
532532
var->setSection(section);
533-
var->setAlignment(alignment.getValue());
533+
var->setAlignment(llvm::MaybeAlign(alignment.getValue()));
534534
disableAddressSanitizer(IGM, var);
535535

536536
// Mark the variable as used if doesn't have external linkage.
@@ -1945,7 +1945,7 @@ llvm::GlobalVariable *swift::irgen::createVariable(
19451945
linkInfo.getVisibility(),
19461946
linkInfo.getDLLStorage()})
19471947
.to(var);
1948-
var->setAlignment(alignment.getValue());
1948+
var->setAlignment(llvm::MaybeAlign(alignment.getValue()));
19491949

19501950
// Everything externally visible is considered used in Swift.
19511951
// That mostly means we need to be good at not marking things external.
@@ -1998,7 +1998,7 @@ swift::irgen::createLinkerDirectiveVariable(IRGenModule &IGM, StringRef name) {
19981998
ApplyIRLinkage({Linkage,
19991999
llvm::GlobalValue::VisibilityTypes::DefaultVisibility,
20002000
llvm::GlobalValue::DLLStorageClassTypes::DefaultStorageClass}).to(var);
2001-
var->setAlignment(Alignment);
2001+
var->setAlignment(llvm::MaybeAlign(Alignment));
20022002
disableAddressSanitizer(IGM, var);
20032003
IGM.addUsedGlobal(var);
20042004
return var;
@@ -3287,7 +3287,7 @@ llvm::Constant *IRGenModule::emitTypeMetadataRecords() {
32873287

32883288
var->setInitializer(initializer);
32893289
var->setSection(sectionName);
3290-
var->setAlignment(4);
3290+
var->setAlignment(llvm::MaybeAlign(4));
32913291

32923292
disableAddressSanitizer(*this, var);
32933293

@@ -3338,8 +3338,8 @@ llvm::Constant *IRGenModule::emitFieldDescriptors() {
33383338

33393339
var->setInitializer(llvm::ConstantArray::get(arrayTy, elts));
33403340
var->setSection(sectionName);
3341-
var->setAlignment(4);
3342-
3341+
var->setAlignment(llvm::MaybeAlign(4));
3342+
33433343
disableAddressSanitizer(*this, var);
33443344

33453345
addUsedGlobal(var);

lib/IRGen/GenEnum.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1446,11 +1446,10 @@ namespace {
14461446
SILType T) const {
14471447
// If the layout is fixed, the size will be a constant.
14481448
// Otherwise, do a memcpy of the dynamic size of the type.
1449-
IGF.Builder.CreateMemCpy(dest.getAddress(),
1450-
dest.getAlignment().getValue(),
1451-
src.getAddress(),
1452-
src.getAlignment().getValue(),
1453-
TI->getSize(IGF, T));
1449+
IGF.Builder.CreateMemCpy(
1450+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
1451+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
1452+
TI->getSize(IGF, T));
14541453
}
14551454

14561455
void emitPrimitiveStorePayloadAndExtraTag(IRGenFunction &IGF, Address dest,

lib/IRGen/GenKeyPath.cpp

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -483,8 +483,10 @@ getWitnessTableForComputedComponent(IRGenModule &IGM,
483483
auto destEnv = IGF.Builder.CreateInBoundsGEP(destArgsBuf, offset);
484484

485485
auto align = IGM.getPointerAlignment().getValue();
486-
IGF.Builder.CreateMemCpy(destEnv, align, sourceEnv, align,
487-
IGM.getPointerSize().getValue() * requirements.size());
486+
IGF.Builder.CreateMemCpy(destEnv, llvm::MaybeAlign(align), sourceEnv,
487+
llvm::MaybeAlign(align),
488+
IGM.getPointerSize().getValue() *
489+
requirements.size());
488490
}
489491

490492
IGF.Builder.CreateRetVoid();
@@ -640,8 +642,9 @@ getInitializerForComputedComponent(IRGenModule &IGM,
640642
}
641643

642644
auto align = IGM.getPointerAlignment().getValue();
643-
IGF.Builder.CreateMemCpy(destGenericEnv, align, src, align,
644-
IGM.getPointerSize().getValue() * requirements.size());
645+
IGF.Builder.CreateMemCpy(
646+
destGenericEnv, llvm::MaybeAlign(align), src, llvm::MaybeAlign(align),
647+
IGM.getPointerSize().getValue() * requirements.size());
645648
}
646649
IGF.Builder.CreateRetVoid();
647650
}
@@ -1176,7 +1179,7 @@ IRGenModule::getAddrOfKeyPathPattern(KeyPathPattern *pattern,
11761179
llvm::GlobalValue::PrivateLinkage,
11771180
llvm::ConstantInt::get(OnceTy, 0),
11781181
"keypath_once");
1179-
onceVar->setAlignment(getPointerAlignment().getValue());
1182+
onceVar->setAlignment(llvm::MaybeAlign(getPointerAlignment().getValue()));
11801183
fields.addRelativeAddress(onceVar);
11811184
} else {
11821185
fields.addInt32(0);
@@ -1292,7 +1295,7 @@ void IRGenModule::emitSILProperty(SILProperty *prop) {
12921295
fields.finishAndCreateFuture()));
12931296
var->setConstant(true);
12941297
var->setUnnamedAddr(llvm::GlobalValue::UnnamedAddr::Global);
1295-
var->setAlignment(4);
1298+
var->setAlignment(llvm::MaybeAlign(4));
12961299

12971300
TheTrivialPropertyDescriptor = var;
12981301
} else {
@@ -1353,5 +1356,5 @@ void IRGenModule::emitSILProperty(SILProperty *prop) {
13531356
fields.finishAndCreateFuture()));
13541357
var->setConstant(true);
13551358
var->setUnnamedAddr(llvm::GlobalValue::UnnamedAddr::Global);
1356-
var->setAlignment(4);
1359+
var->setAlignment(llvm::MaybeAlign(4));
13571360
}

lib/IRGen/GenObjC.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ llvm::Constant *IRGenModule::getAddrOfObjCMethodName(StringRef selector) {
264264
init,
265265
llvm::Twine("\01L_selector_data(") + selector + ")");
266266
SetCStringLiteralSection(global, ObjCLabelType::MethodVarName);
267-
global->setAlignment(1);
267+
global->setAlignment(llvm::MaybeAlign(1));
268268
addCompilerUsedGlobal(global);
269269

270270
// Drill down to make an i8*.
@@ -295,7 +295,7 @@ llvm::Constant *IRGenModule::getAddrOfObjCSelectorRef(StringRef selector) {
295295
init,
296296
llvm::Twine("\01L_selector(") + selector + ")");
297297
global->setExternallyInitialized(true);
298-
global->setAlignment(getPointerAlignment().getValue());
298+
global->setAlignment(llvm::MaybeAlign(getPointerAlignment().getValue()));
299299

300300
// This section name is magical for the Darwin static and dynamic linkers.
301301
global->setSection(GetObjCSectionName("__objc_selrefs",
@@ -359,7 +359,8 @@ IRGenModule::getObjCProtocolGlobalVars(ProtocolDecl *proto) {
359359
protocolRecord,
360360
llvm::Twine("\01l_OBJC_LABEL_PROTOCOL_$_")
361361
+ protocolName);
362-
protocolLabel->setAlignment(getPointerAlignment().getValue());
362+
protocolLabel->setAlignment(
363+
llvm::MaybeAlign(getPointerAlignment().getValue()));
363364
protocolLabel->setVisibility(llvm::GlobalValue::HiddenVisibility);
364365
protocolLabel->setSection(GetObjCSectionName("__objc_protolist",
365366
"coalesced,no_dead_strip"));
@@ -375,7 +376,7 @@ IRGenModule::getObjCProtocolGlobalVars(ProtocolDecl *proto) {
375376
llvm::GlobalValue::WeakAnyLinkage,
376377
protocolRecord,
377378
llvm::Twine("\01l_OBJC_PROTOCOL_REFERENCE_$_") + protocolName);
378-
protocolRef->setAlignment(getPointerAlignment().getValue());
379+
protocolRef->setAlignment(llvm::MaybeAlign(getPointerAlignment().getValue()));
379380
protocolRef->setVisibility(llvm::GlobalValue::HiddenVisibility);
380381
protocolRef->setSection(GetObjCSectionName("__objc_protorefs",
381382
"coalesced,no_dead_strip"));

lib/IRGen/GenProto.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2157,7 +2157,8 @@ void IRGenModule::emitSILWitnessTable(SILWitnessTable *wt) {
21572157
initializer)
21582158
: getAddrOfWitnessTable(conf, initializer));
21592159
global->setConstant(isConstantWitnessTable(wt));
2160-
global->setAlignment(getWitnessTableAlignment().getValue());
2160+
global->setAlignment(
2161+
llvm::MaybeAlign(getWitnessTableAlignment().getValue()));
21612162
tableSize = wtableBuilder.getTableSize();
21622163
} else {
21632164
initializer.abandon();

lib/IRGen/GenRecord.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -239,11 +239,10 @@ class RecordTypeInfoImpl : public Base,
239239
SILType T, bool isOutlined) const override {
240240
// If we're bitwise-takable, use memcpy.
241241
if (this->isBitwiseTakable(ResilienceExpansion::Maximal)) {
242-
IGF.Builder.CreateMemCpy(dest.getAddress(),
243-
dest.getAlignment().getValue(),
244-
src.getAddress(),
245-
src.getAlignment().getValue(),
246-
asImpl().Impl::getSize(IGF, T));
242+
IGF.Builder.CreateMemCpy(
243+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
244+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
245+
asImpl().Impl::getSize(IGF, T));
247246
return;
248247
}
249248

lib/IRGen/GenReflection.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ llvm::Constant *IRGenModule::getMangledAssociatedConformance(
469469
nullptr,
470470
symbolName);
471471
ApplyIRLinkage(IRLinkage::InternalLinkOnceODR).to(var);
472-
var->setAlignment(2);
472+
var->setAlignment(llvm::MaybeAlign(2));
473473
setTrueConstGlobal(var);
474474
var->setSection(getReflectionTypeRefSectionName());
475475

lib/IRGen/GenValueWitness.cpp

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1251,10 +1251,10 @@ void TypeInfo::initializeArrayWithCopy(IRGenFunction &IGF,
12511251
if (isPOD(ResilienceExpansion::Maximal)) {
12521252
llvm::Value *stride = getStride(IGF, T);
12531253
llvm::Value *byteCount = IGF.Builder.CreateNUWMul(stride, count);
1254-
IGF.Builder.CreateMemCpy(dest.getAddress(),
1255-
dest.getAlignment().getValue(),
1256-
src.getAddress(),
1257-
src.getAlignment().getValue(), byteCount);
1254+
IGF.Builder.CreateMemCpy(
1255+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
1256+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
1257+
byteCount);
12581258
return;
12591259
}
12601260

@@ -1267,10 +1267,10 @@ void TypeInfo::initializeArrayWithTakeNoAlias(IRGenFunction &IGF, Address dest,
12671267
if (isBitwiseTakable(ResilienceExpansion::Maximal)) {
12681268
llvm::Value *stride = getStride(IGF, T);
12691269
llvm::Value *byteCount = IGF.Builder.CreateNUWMul(stride, count);
1270-
IGF.Builder.CreateMemCpy(dest.getAddress(),
1271-
dest.getAlignment().getValue(),
1272-
src.getAddress(),
1273-
src.getAlignment().getValue(), byteCount);
1270+
IGF.Builder.CreateMemCpy(
1271+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
1272+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
1273+
byteCount);
12741274
return;
12751275
}
12761276

@@ -1284,9 +1284,10 @@ const {
12841284
if (isBitwiseTakable(ResilienceExpansion::Maximal)) {
12851285
llvm::Value *stride = getStride(IGF, T);
12861286
llvm::Value *byteCount = IGF.Builder.CreateNUWMul(stride, count);
1287-
IGF.Builder.CreateMemMove(dest.getAddress(), dest.getAlignment().getValue(),
1288-
src.getAddress(), src.getAlignment().getValue(),
1289-
byteCount);
1287+
IGF.Builder.CreateMemMove(
1288+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
1289+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
1290+
byteCount);
12901291
return;
12911292
}
12921293

@@ -1300,9 +1301,10 @@ const {
13001301
if (isBitwiseTakable(ResilienceExpansion::Maximal)) {
13011302
llvm::Value *stride = getStride(IGF, T);
13021303
llvm::Value *byteCount = IGF.Builder.CreateNUWMul(stride, count);
1303-
IGF.Builder.CreateMemMove(dest.getAddress(), dest.getAlignment().getValue(),
1304-
src.getAddress(), src.getAlignment().getValue(),
1305-
byteCount);
1304+
IGF.Builder.CreateMemMove(
1305+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
1306+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
1307+
byteCount);
13061308
return;
13071309
}
13081310

@@ -1315,10 +1317,10 @@ void TypeInfo::assignArrayWithCopyNoAlias(IRGenFunction &IGF, Address dest,
13151317
if (isPOD(ResilienceExpansion::Maximal)) {
13161318
llvm::Value *stride = getStride(IGF, T);
13171319
llvm::Value *byteCount = IGF.Builder.CreateNUWMul(stride, count);
1318-
IGF.Builder.CreateMemCpy(dest.getAddress(),
1319-
dest.getAlignment().getValue(),
1320-
src.getAddress(),
1321-
src.getAlignment().getValue(), byteCount);
1320+
IGF.Builder.CreateMemCpy(
1321+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
1322+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
1323+
byteCount);
13221324
return;
13231325
}
13241326

@@ -1331,9 +1333,10 @@ void TypeInfo::assignArrayWithCopyFrontToBack(IRGenFunction &IGF, Address dest,
13311333
if (isPOD(ResilienceExpansion::Maximal)) {
13321334
llvm::Value *stride = getStride(IGF, T);
13331335
llvm::Value *byteCount = IGF.Builder.CreateNUWMul(stride, count);
1334-
IGF.Builder.CreateMemMove(dest.getAddress(), dest.getAlignment().getValue(),
1335-
src.getAddress(), src.getAlignment().getValue(),
1336-
byteCount);
1336+
IGF.Builder.CreateMemMove(
1337+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
1338+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
1339+
byteCount);
13371340
return;
13381341
}
13391342

@@ -1346,9 +1349,10 @@ void TypeInfo::assignArrayWithCopyBackToFront(IRGenFunction &IGF, Address dest,
13461349
if (isPOD(ResilienceExpansion::Maximal)) {
13471350
llvm::Value *stride = getStride(IGF, T);
13481351
llvm::Value *byteCount = IGF.Builder.CreateNUWMul(stride, count);
1349-
IGF.Builder.CreateMemMove(dest.getAddress(), dest.getAlignment().getValue(),
1350-
src.getAddress(), src.getAlignment().getValue(),
1351-
byteCount);
1352+
IGF.Builder.CreateMemMove(
1353+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
1354+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
1355+
byteCount);
13521356
return;
13531357
}
13541358

@@ -1361,10 +1365,10 @@ void TypeInfo::assignArrayWithTake(IRGenFunction &IGF, Address dest,
13611365
if (isPOD(ResilienceExpansion::Maximal)) {
13621366
llvm::Value *stride = getStride(IGF, T);
13631367
llvm::Value *byteCount = IGF.Builder.CreateNUWMul(stride, count);
1364-
IGF.Builder.CreateMemCpy(dest.getAddress(),
1365-
dest.getAlignment().getValue(),
1366-
src.getAddress(),
1367-
src.getAlignment().getValue(), byteCount);
1368+
IGF.Builder.CreateMemCpy(
1369+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
1370+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
1371+
byteCount);
13681372
return;
13691373
}
13701374

lib/IRGen/IRBuilder.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,10 @@ class IRBuilder : public IRBuilderBase {
208208

209209
using IRBuilderBase::CreateMemCpy;
210210
llvm::CallInst *CreateMemCpy(Address dest, Address src, Size size) {
211-
return CreateMemCpy(dest.getAddress(), dest.getAlignment().getValue(),
212-
src.getAddress(), src.getAlignment().getValue(),
213-
size.getValue());
211+
return CreateMemCpy(
212+
dest.getAddress(), llvm::MaybeAlign(dest.getAlignment().getValue()),
213+
src.getAddress(), llvm::MaybeAlign(src.getAlignment().getValue()),
214+
size.getValue());
214215
}
215216

216217
using IRBuilderBase::CreateMemSet;

lib/IRGen/IRGen.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ void swift::performLLVMOptimizations(const IRGenOptions &Opts,
320320
#endif
321321
for (auto I = Module->begin(), E = Module->end(); I != E; ++I) {
322322
if (!I->isDeclaration()) {
323-
I->setAlignment(pageSize);
323+
I->setAlignment(llvm::MaybeAlign(pageSize));
324324
break;
325325
}
326326
}
@@ -1362,7 +1362,7 @@ swift::createSwiftModuleObjectFile(SILModule &SILMod, StringRef Buffer,
13621362
break;
13631363
}
13641364
ASTSym->setSection(Section);
1365-
ASTSym->setAlignment(serialization::SWIFTMODULE_ALIGNMENT);
1365+
ASTSym->setAlignment(llvm::MaybeAlign(serialization::SWIFTMODULE_ALIGNMENT));
13661366
::performLLVM(Opts, &Ctx.Diags, nullptr, nullptr, IGM.getModule(),
13671367
IGM.TargetMachine.get(),
13681368
Ctx.LangOpts.EffectiveLanguageVersion,

lib/IRGen/IRGenFunction.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ void IRGenFunction::emitMemCpy(llvm::Value *dest, llvm::Value *src,
103103

104104
void IRGenFunction::emitMemCpy(llvm::Value *dest, llvm::Value *src,
105105
llvm::Value *size, Alignment align) {
106-
Builder.CreateMemCpy(dest, align.getValue(), src, align.getValue(), size);
106+
Builder.CreateMemCpy(dest, llvm::MaybeAlign(align.getValue()), src,
107+
llvm::MaybeAlign(align.getValue()), size);
107108
}
108109

109110
void IRGenFunction::emitMemCpy(Address dest, Address src, Size size) {

lib/IRGen/IRGenModule.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1195,7 +1195,7 @@ void IRGenModule::emitAutolinkInfo() {
11951195
llvm::GlobalValue::PrivateLinkage,
11961196
EntriesConstant, "_swift1_autolink_entries");
11971197
var->setSection(".swift1_autolink_entries");
1198-
var->setAlignment(getPointerAlignment().getValue());
1198+
var->setAlignment(llvm::MaybeAlign(getPointerAlignment().getValue()));
11991199

12001200
disableAddressSanitizer(*this, var);
12011201
addUsedGlobal(var);

lib/IRGen/MetadataRequest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ llvm::Constant *IRGenModule::getAddrOfStringForMetadataRef(
285285

286286
ApplyIRLinkage(IRLinkage::InternalLinkOnceODR).to(var);
287287
if (alignment)
288-
var->setAlignment(alignment);
288+
var->setAlignment(llvm::MaybeAlign(alignment));
289289
setTrueConstGlobal(var);
290290
var->setSection(getReflectionTypeRefSectionName());
291291

@@ -404,7 +404,7 @@ llvm::Constant *IRGenModule::getAddrOfStringForTypeRef(
404404
nullptr,
405405
symbolName);
406406
ApplyIRLinkage(IRLinkage::InternalLinkOnceODR).to(var);
407-
var->setAlignment(2);
407+
var->setAlignment(llvm::MaybeAlign(2));
408408
setTrueConstGlobal(var);
409409
var->setSection(getReflectionTypeRefSectionName());
410410

0 commit comments

Comments
 (0)