Skip to content
This repository was archived by the owner on Nov 1, 2021. It is now read-only.

Commit 34ef52a

Browse files
committed
API update for streamlining of IRBuilder::CreateCall to just use ArrayRef/initializer_list+braced init
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@237625 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 1ae192d commit 34ef52a

14 files changed

+109
-108
lines changed

lib/CodeGen/CGBuiltin.cpp

+68-65
Large diffs are not rendered by default.

lib/CodeGen/CGCall.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -2692,7 +2692,7 @@ void CallArgList::allocateArgumentMemory(CodeGenFunction &CGF) {
26922692

26932693
// Save the stack.
26942694
llvm::Function *F = CGF.CGM.getIntrinsic(llvm::Intrinsic::stacksave);
2695-
StackBase = CGF.Builder.CreateCall(F, "inalloca.save");
2695+
StackBase = CGF.Builder.CreateCall(F, {}, "inalloca.save");
26962696

26972697
// Control gets really tied up in landing pads, so we have to spill the
26982698
// stacksave to an alloca to avoid violating SSA form.

lib/CodeGen/CGClass.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -780,9 +780,9 @@ void CodeGenFunction::EmitAsanPrologueOrEpilogue(bool Prologue) {
780780
if (PoisonSize < AsanAlignment || !SSV[i].Size ||
781781
(NextField % AsanAlignment) != 0)
782782
continue;
783-
Builder.CreateCall2(
784-
F, Builder.CreateAdd(ThisPtr, Builder.getIntN(PtrSize, EndOffset)),
785-
Builder.getIntN(PtrSize, PoisonSize));
783+
Builder.CreateCall(
784+
F, {Builder.CreateAdd(ThisPtr, Builder.getIntN(PtrSize, EndOffset)),
785+
Builder.getIntN(PtrSize, PoisonSize)});
786786
}
787787
}
788788

@@ -2205,17 +2205,17 @@ void CodeGenFunction::EmitVTablePtrCheck(const CXXRecordDecl *RD,
22052205
llvm::Value *BitSetName = llvm::MetadataAsValue::get(
22062206
getLLVMContext(), llvm::MDString::get(getLLVMContext(), Out.str()));
22072207

2208-
llvm::Value *BitSetTest = Builder.CreateCall2(
2208+
llvm::Value *BitSetTest = Builder.CreateCall(
22092209
CGM.getIntrinsic(llvm::Intrinsic::bitset_test),
2210-
Builder.CreateBitCast(VTable, CGM.Int8PtrTy), BitSetName);
2210+
{Builder.CreateBitCast(VTable, CGM.Int8PtrTy), BitSetName});
22112211

22122212
llvm::BasicBlock *ContBlock = createBasicBlock("vtable.check.cont");
22132213
llvm::BasicBlock *TrapBlock = createBasicBlock("vtable.check.trap");
22142214

22152215
Builder.CreateCondBr(BitSetTest, ContBlock, TrapBlock);
22162216

22172217
EmitBlock(TrapBlock);
2218-
Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::trap));
2218+
Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::trap), {});
22192219
Builder.CreateUnreachable();
22202220

22212221
EmitBlock(ContBlock);

lib/CodeGen/CGDecl.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -990,7 +990,7 @@ CodeGenFunction::EmitAutoVarAlloca(const VarDecl &D) {
990990
llvm::Value *Stack = CreateTempAlloca(Int8PtrTy, "saved_stack");
991991

992992
llvm::Value *F = CGM.getIntrinsic(llvm::Intrinsic::stacksave);
993-
llvm::Value *V = Builder.CreateCall(F);
993+
llvm::Value *V = Builder.CreateCall(F, {});
994994

995995
Builder.CreateStore(V, Stack);
996996

lib/CodeGen/CGException.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1413,9 +1413,9 @@ void CodeGenFunction::EmitCapturedLocals(CodeGenFunction &ParentCGF,
14131413
InsertPair.first->second = ParentCGF.EscapedLocals.size() - 1;
14141414
int FrameEscapeIdx = InsertPair.first->second;
14151415
// call i8* @llvm.framerecover(i8* bitcast(@parentFn), i8* %fp, i32 N)
1416-
RecoverCall =
1417-
Builder.CreateCall3(FrameRecoverFn, ParentI8Fn, ParentFP,
1418-
llvm::ConstantInt::get(Int32Ty, FrameEscapeIdx));
1416+
RecoverCall = Builder.CreateCall(
1417+
FrameRecoverFn, {ParentI8Fn, ParentFP,
1418+
llvm::ConstantInt::get(Int32Ty, FrameEscapeIdx)});
14191419

14201420
} else {
14211421
// If the parent didn't have an alloca, we're doing some nested outlining.

lib/CodeGen/CGExpr.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -535,7 +535,7 @@ void CodeGenFunction::EmitTypeCheck(TypeCheckKind TCK, SourceLocation Loc,
535535
llvm::Value *Min = Builder.getFalse();
536536
llvm::Value *CastAddr = Builder.CreateBitCast(Address, Int8PtrTy);
537537
llvm::Value *LargeEnough =
538-
Builder.CreateICmpUGE(Builder.CreateCall2(F, CastAddr, Min),
538+
Builder.CreateICmpUGE(Builder.CreateCall(F, {CastAddr, Min}),
539539
llvm::ConstantInt::get(IntPtrTy, Size));
540540
Checks.push_back(std::make_pair(LargeEnough, SanitizerKind::ObjectSize));
541541
}
@@ -1720,8 +1720,8 @@ void CodeGenFunction::EmitStoreThroughGlobalRegLValue(RValue Src, LValue Dst) {
17201720
llvm::Value *Value = Src.getScalarVal();
17211721
if (OrigTy->isPointerTy())
17221722
Value = Builder.CreatePtrToInt(Value, Ty);
1723-
Builder.CreateCall2(F, llvm::MetadataAsValue::get(Ty->getContext(), RegName),
1724-
Value);
1723+
Builder.CreateCall(
1724+
F, {llvm::MetadataAsValue::get(Ty->getContext(), RegName), Value});
17251725
}
17261726

17271727
// setObjCGCLValueClass - sets class of the lvalue for the purpose of
@@ -2404,7 +2404,7 @@ void CodeGenFunction::EmitTrapCheck(llvm::Value *Checked) {
24042404
Builder.CreateCondBr(Checked, Cont, TrapBB);
24052405
EmitBlock(TrapBB);
24062406
llvm::Value *F = CGM.getIntrinsic(llvm::Intrinsic::trap);
2407-
llvm::CallInst *TrapCall = Builder.CreateCall(F);
2407+
llvm::CallInst *TrapCall = Builder.CreateCall(F, {});
24082408
TrapCall->setDoesNotReturn();
24092409
TrapCall->setDoesNotThrow();
24102410
Builder.CreateUnreachable();

lib/CodeGen/CGExprCXX.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,7 @@ static llvm::Value *EmitCXXNewAllocSize(CodeGenFunction &CGF,
690690
llvm::Value *tsmV =
691691
llvm::ConstantInt::get(CGF.SizeTy, typeSizeMultiplier);
692692
llvm::Value *result =
693-
CGF.Builder.CreateCall2(umul_with_overflow, size, tsmV);
693+
CGF.Builder.CreateCall(umul_with_overflow, {size, tsmV});
694694

695695
llvm::Value *overflowed = CGF.Builder.CreateExtractValue(result, 1);
696696
if (hasOverflow)
@@ -729,7 +729,7 @@ static llvm::Value *EmitCXXNewAllocSize(CodeGenFunction &CGF,
729729

730730
llvm::Value *cookieSizeV = llvm::ConstantInt::get(CGF.SizeTy, cookieSize);
731731
llvm::Value *result =
732-
CGF.Builder.CreateCall2(uadd_with_overflow, size, cookieSizeV);
732+
CGF.Builder.CreateCall(uadd_with_overflow, {size, cookieSizeV});
733733

734734
llvm::Value *overflowed = CGF.Builder.CreateExtractValue(result, 1);
735735
if (hasOverflow)

lib/CodeGen/CGExprScalar.cpp

+4-5
Original file line numberDiff line numberDiff line change
@@ -2343,7 +2343,7 @@ Value *ScalarExprEmitter::EmitOverflowCheckedBinOp(const BinOpInfo &Ops) {
23432343

23442344
llvm::Function *intrinsic = CGF.CGM.getIntrinsic(IID, opTy);
23452345

2346-
Value *resultAndOverflow = Builder.CreateCall2(intrinsic, Ops.LHS, Ops.RHS);
2346+
Value *resultAndOverflow = Builder.CreateCall(intrinsic, {Ops.LHS, Ops.RHS});
23472347
Value *result = Builder.CreateExtractValue(resultAndOverflow, 0);
23482348
Value *overflow = Builder.CreateExtractValue(resultAndOverflow, 1);
23492349

@@ -2523,10 +2523,9 @@ static Value* buildFMulAdd(llvm::BinaryOperator *MulOp, Value *Addend,
25232523
"neg");
25242524
}
25252525

2526-
Value *FMulAdd =
2527-
Builder.CreateCall3(
2526+
Value *FMulAdd = Builder.CreateCall(
25282527
CGF.CGM.getIntrinsic(llvm::Intrinsic::fmuladd, Addend->getType()),
2529-
MulOp0, MulOp1, Addend);
2528+
{MulOp0, MulOp1, Addend});
25302529
MulOp->eraseFromParent();
25312530

25322531
return FMulAdd;
@@ -2904,7 +2903,7 @@ Value *ScalarExprEmitter::EmitCompare(const BinaryOperator *E,unsigned UICmpOpc,
29042903

29052904
Value *CR6Param = Builder.getInt32(CR6);
29062905
llvm::Function *F = CGF.CGM.getIntrinsic(ID);
2907-
Result = Builder.CreateCall3(F, CR6Param, FirstVecArg, SecondVecArg, "");
2906+
Result = Builder.CreateCall(F, {CR6Param, FirstVecArg, SecondVecArg});
29082907
return EmitScalarConversion(Result, CGF.getContext().BoolTy, E->getType());
29092908
}
29102909

lib/CodeGen/CGObjC.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1980,7 +1980,8 @@ CodeGenFunction::EmitARCRetainAutoreleasedReturnValue(llvm::Value *value) {
19801980
}
19811981

19821982
// Call the marker asm if we made one, which we do only at -O0.
1983-
if (marker) Builder.CreateCall(marker);
1983+
if (marker)
1984+
Builder.CreateCall(marker, {});
19841985

19851986
return emitARCValueOperation(*this, value,
19861987
CGM.getARCEntrypoints().objc_retainAutoreleasedReturnValue,

lib/CodeGen/CGObjCGNU.cpp

+9-11
Original file line numberDiff line numberDiff line change
@@ -2570,8 +2570,8 @@ llvm::Function *CGObjCGNU::ModuleInitFunction() {
25702570
true);
25712571
if (TheClass) {
25722572
TheClass = llvm::ConstantExpr::getBitCast(TheClass, PtrTy);
2573-
Builder.CreateCall2(RegisterAlias, TheClass,
2574-
MakeConstantString(iter->second));
2573+
Builder.CreateCall(RegisterAlias,
2574+
{TheClass, MakeConstantString(iter->second)});
25752575
}
25762576
}
25772577
// Jump to end:
@@ -2695,7 +2695,7 @@ void CGObjCGNU::EmitObjCWeakAssign(CodeGenFunction &CGF,
26952695
CGBuilderTy &B = CGF.Builder;
26962696
src = EnforceType(B, src, IdTy);
26972697
dst = EnforceType(B, dst, PtrToIdTy);
2698-
B.CreateCall2(WeakAssignFn, src, dst);
2698+
B.CreateCall(WeakAssignFn, {src, dst});
26992699
}
27002700

27012701
void CGObjCGNU::EmitObjCGlobalAssign(CodeGenFunction &CGF,
@@ -2704,11 +2704,9 @@ void CGObjCGNU::EmitObjCGlobalAssign(CodeGenFunction &CGF,
27042704
CGBuilderTy &B = CGF.Builder;
27052705
src = EnforceType(B, src, IdTy);
27062706
dst = EnforceType(B, dst, PtrToIdTy);
2707-
if (!threadlocal)
2708-
B.CreateCall2(GlobalAssignFn, src, dst);
2709-
else
2710-
// FIXME. Add threadloca assign API
2711-
llvm_unreachable("EmitObjCGlobalAssign - Threal Local API NYI");
2707+
// FIXME. Add threadloca assign API
2708+
assert(!threadlocal && "EmitObjCGlobalAssign - Threal Local API NYI");
2709+
B.CreateCall(GlobalAssignFn, {src, dst});
27122710
}
27132711

27142712
void CGObjCGNU::EmitObjCIvarAssign(CodeGenFunction &CGF,
@@ -2717,15 +2715,15 @@ void CGObjCGNU::EmitObjCIvarAssign(CodeGenFunction &CGF,
27172715
CGBuilderTy &B = CGF.Builder;
27182716
src = EnforceType(B, src, IdTy);
27192717
dst = EnforceType(B, dst, IdTy);
2720-
B.CreateCall3(IvarAssignFn, src, dst, ivarOffset);
2718+
B.CreateCall(IvarAssignFn, {src, dst, ivarOffset});
27212719
}
27222720

27232721
void CGObjCGNU::EmitObjCStrongCastAssign(CodeGenFunction &CGF,
27242722
llvm::Value *src, llvm::Value *dst) {
27252723
CGBuilderTy &B = CGF.Builder;
27262724
src = EnforceType(B, src, IdTy);
27272725
dst = EnforceType(B, dst, PtrToIdTy);
2728-
B.CreateCall2(StrongCastAssignFn, src, dst);
2726+
B.CreateCall(StrongCastAssignFn, {src, dst});
27292727
}
27302728

27312729
void CGObjCGNU::EmitGCMemmoveCollectable(CodeGenFunction &CGF,
@@ -2736,7 +2734,7 @@ void CGObjCGNU::EmitGCMemmoveCollectable(CodeGenFunction &CGF,
27362734
DestPtr = EnforceType(B, DestPtr, PtrTy);
27372735
SrcPtr = EnforceType(B, SrcPtr, PtrTy);
27382736

2739-
B.CreateCall3(MemMoveFn, DestPtr, SrcPtr, Size);
2737+
B.CreateCall(MemMoveFn, {DestPtr, SrcPtr, Size});
27402738
}
27412739

27422740
llvm::GlobalVariable *CGObjCGNU::ObjCIvarOffsetVariable(

lib/CodeGen/CGObjCRuntime.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ namespace {
160160

161161
void Emit(CodeGenFunction &CGF, Flags flags) override {
162162
if (!MightThrow) {
163-
CGF.Builder.CreateCall(Fn)->setDoesNotThrow();
163+
CGF.Builder.CreateCall(Fn, {})->setDoesNotThrow();
164164
return;
165165
}
166166

lib/CodeGen/CodeGenFunction.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -929,7 +929,7 @@ void CodeGenFunction::GenerateCode(GlobalDecl GD, llvm::Function *Fn,
929929
"missing_return", EmitCheckSourceLocation(FD->getLocation()),
930930
None);
931931
} else if (CGM.getCodeGenOpts().OptimizationLevel == 0)
932-
Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::trap));
932+
Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::trap), {});
933933
Builder.CreateUnreachable();
934934
Builder.ClearInsertionPoint();
935935
}

lib/CodeGen/CodeGenPGO.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -783,11 +783,11 @@ void CodeGenPGO::emitCounterIncrement(CGBuilderTy &Builder, const Stmt *S) {
783783

784784
unsigned Counter = (*RegionCounterMap)[S];
785785
auto *I8PtrTy = llvm::Type::getInt8PtrTy(CGM.getLLVMContext());
786-
Builder.CreateCall4(CGM.getIntrinsic(llvm::Intrinsic::instrprof_increment),
787-
llvm::ConstantExpr::getBitCast(FuncNameVar, I8PtrTy),
786+
Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::instrprof_increment),
787+
{llvm::ConstantExpr::getBitCast(FuncNameVar, I8PtrTy),
788788
Builder.getInt64(FunctionHash),
789789
Builder.getInt32(NumRegionCounters),
790-
Builder.getInt32(Counter));
790+
Builder.getInt32(Counter)});
791791
}
792792

793793
void CodeGenPGO::loadRegionCounts(llvm::IndexedInstrProfReader *PGOReader,

lib/CodeGen/ItaniumCXXABI.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -2090,7 +2090,7 @@ void ItaniumCXXABI::EmitThreadLocalInitFuncs(
20902090
CGBuilderTy Builder(Entry);
20912091
if (InitIsInitFunc) {
20922092
if (Init)
2093-
Builder.CreateCall(Init);
2093+
Builder.CreateCall(Init, {});
20942094
} else {
20952095
// Don't know whether we have an init function. Call it if it exists.
20962096
llvm::Value *Have = Builder.CreateIsNotNull(Init);
@@ -2099,7 +2099,7 @@ void ItaniumCXXABI::EmitThreadLocalInitFuncs(
20992099
Builder.CreateCondBr(Have, InitBB, ExitBB);
21002100

21012101
Builder.SetInsertPoint(InitBB);
2102-
Builder.CreateCall(Init);
2102+
Builder.CreateCall(Init, {});
21032103
Builder.CreateBr(ExitBB);
21042104

21052105
Builder.SetInsertPoint(ExitBB);
@@ -2128,7 +2128,7 @@ LValue ItaniumCXXABI::EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF,
21282128
llvm::Value *Val = CGF.CGM.GetAddrOfGlobalVar(VD, Ty);
21292129
llvm::Function *Wrapper = getOrCreateThreadLocalWrapper(VD, Val);
21302130

2131-
Val = CGF.Builder.CreateCall(Wrapper);
2131+
Val = CGF.Builder.CreateCall(Wrapper, {});
21322132

21332133
LValue LV;
21342134
if (VD->getType()->isReferenceType())
@@ -3615,7 +3615,7 @@ static llvm::Constant *getClangCallTerminateFn(CodeGenModule &CGM) {
36153615
catchCall->setCallingConv(CGM.getRuntimeCC());
36163616

36173617
// Call std::terminate().
3618-
llvm::CallInst *termCall = builder.CreateCall(CGM.getTerminateFn());
3618+
llvm::CallInst *termCall = builder.CreateCall(CGM.getTerminateFn(), {});
36193619
termCall->setDoesNotThrow();
36203620
termCall->setDoesNotReturn();
36213621
termCall->setCallingConv(CGM.getRuntimeCC());

0 commit comments

Comments
 (0)