diff options
| author | Chandler Carruth <chandlerc@gmail.com> | 2018-05-03 00:11:03 +0000 |
|---|---|---|
| committer | Chandler Carruth <chandlerc@gmail.com> | 2018-05-03 00:11:03 +0000 |
| commit | e74c354d125fd21cf5682d8f37d0bbe5950afba8 (patch) | |
| tree | 9ab0f5b58a2d56db1655a34964c142a9d18f407b /llvm/lib/Transforms/Instrumentation | |
| parent | 7d1b25d0538f52931b0b12d781fe8c1487b01010 (diff) | |
| download | bcm5719-llvm-e74c354d125fd21cf5682d8f37d0bbe5950afba8.tar.gz bcm5719-llvm-e74c354d125fd21cf5682d8f37d0bbe5950afba8.zip | |
[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
Diffstat (limited to 'llvm/lib/Transforms/Instrumentation')
| -rw-r--r-- | llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp b/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp index 7447cb8c23c..49f7c330be8 100644 --- a/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp +++ b/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp @@ -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. |

