[gcov] Switch to an explicit if clunky array to satisfy some compilers

on various build bots that are unhappy with using makeArrayRef with an
initializer list.

llvm-svn: 331418
This commit is contained in:
Chandler Carruth 2018-05-03 00:11:03 +00:00
parent 7d1b25d053
commit e74c354d12
1 changed files with 8 additions and 9 deletions

View File

@ -908,6 +908,8 @@ Function *GCOVProfiler::insertCounterWriteout(
EmitArcsCallArgsTy->getPointerTo()});
Constant *Zero32 = Builder.getInt32(0);
// Build an explicit array of two zeros for use in ConstantExpr GEP building.
Constant *TwoZero32s[] = {Zero32, Zero32};
SmallVector<Constant *, 8> FileInfos;
for (int i : llvm::seq<int>(0, CUNodes->getNumOperands())) {
@ -943,10 +945,8 @@ Function *GCOVProfiler::insertCounterWriteout(
unsigned Arcs = cast<ArrayType>(GV->getValueType())->getNumElements();
EmitArcsCallArgsArray.push_back(ConstantStruct::get(
EmitArcsCallArgsTy,
{Builder.getInt32(Arcs),
ConstantExpr::getInBoundsGetElementPtr(
GV->getValueType(), GV,
makeArrayRef<Constant *>({Zero32, Zero32}))}));
{Builder.getInt32(Arcs), ConstantExpr::getInBoundsGetElementPtr(
GV->getValueType(), GV, TwoZero32s)}));
}
// Create global arrays for the two emit calls.
int CountersSize = CountersBySP.size();
@ -976,12 +976,11 @@ Function *GCOVProfiler::insertCounterWriteout(
FileInfos.push_back(ConstantStruct::get(
FileInfoTy,
{StartFileCallArgs, Builder.getInt32(CountersSize),
ConstantExpr::getInBoundsGetElementPtr(EmitFunctionCallArgsArrayTy,
EmitFunctionCallArgsArrayGV,
TwoZero32s),
ConstantExpr::getInBoundsGetElementPtr(
EmitFunctionCallArgsArrayTy, EmitFunctionCallArgsArrayGV,
makeArrayRef<Constant *>({Zero32, Zero32})),
ConstantExpr::getInBoundsGetElementPtr(
EmitArcsCallArgsArrayTy, EmitArcsCallArgsArrayGV,
makeArrayRef<Constant *>({Zero32, Zero32}))}));
EmitArcsCallArgsArrayTy, EmitArcsCallArgsArrayGV, TwoZero32s)}));
}
// If we didn't find anything to actually emit, bail on out.