Author: Nikita Popov Date: 2020-02-16T17:57:18+01:00 New Revision: 7c362b25d7a9093d7d38171f2684876b63bb5a57
URL: https://github.com/llvm/llvm-project/commit/7c362b25d7a9093d7d38171f2684876b63bb5a57 DIFF: https://github.com/llvm/llvm-project/commit/7c362b25d7a9093d7d38171f2684876b63bb5a57.diff LOG: [IRBuilder] Fix unnecessary IRBuilder copies; NFC Fix a few cases where an IRBuilder is passed to a helper function by value, while a by reference pass was intended. Added: Modified: clang/lib/CodeGen/CGExprScalar.cpp llvm/lib/Target/X86/X86InterleavedAccess.cpp llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp Removed: ################################################################################ diff --git a/clang/lib/CodeGen/CGExprScalar.cpp b/clang/lib/CodeGen/CGExprScalar.cpp index 706aa43a5071..8d9bf17969a3 100644 --- a/clang/lib/CodeGen/CGExprScalar.cpp +++ b/clang/lib/CodeGen/CGExprScalar.cpp @@ -4683,7 +4683,7 @@ struct GEPOffsetAndOverflow { static GEPOffsetAndOverflow EmitGEPOffsetInBytes(Value *BasePtr, Value *GEPVal, llvm::LLVMContext &VMContext, CodeGenModule &CGM, - CGBuilderTy Builder) { + CGBuilderTy &Builder) { const auto &DL = CGM.getDataLayout(); // The total (signed) byte offset for the GEP. diff --git a/llvm/lib/Target/X86/X86InterleavedAccess.cpp b/llvm/lib/Target/X86/X86InterleavedAccess.cpp index 36ee9d4ad382..f0288adf52ce 100644 --- a/llvm/lib/Target/X86/X86InterleavedAccess.cpp +++ b/llvm/lib/Target/X86/X86InterleavedAccess.cpp @@ -284,7 +284,7 @@ static void genShuffleBland(MVT VT, ArrayRef<uint32_t> Mask, static void reorderSubVector(MVT VT, SmallVectorImpl<Value *> &TransposedMatrix, ArrayRef<Value *> Vec, ArrayRef<uint32_t> VPShuf, unsigned VecElems, unsigned Stride, - IRBuilder<> Builder) { + IRBuilder<> &Builder) { if (VecElems == 16) { for (unsigned i = 0; i < Stride; i++) @@ -519,7 +519,7 @@ static void DecodePALIGNRMask(MVT VT, unsigned Imm, // Invec[2] - |8|9|10|11| Vec[2] - |2|5|8|11| static void concatSubVector(Value **Vec, ArrayRef<Instruction *> InVec, - unsigned VecElems, IRBuilder<> Builder) { + unsigned VecElems, IRBuilder<> &Builder) { if (VecElems == 16) { for (int i = 0; i < 3; i++) Vec[i] = InVec[i]; diff --git a/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp b/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp index 9abb62ac788c..3e7ebe54a00c 100644 --- a/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp +++ b/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp @@ -112,7 +112,7 @@ static Value *getBoundsCheckCond(Value *Ptr, Value *InstVal, /// /// \p GetTrapBB is a callable that returns the trap BB to use on failure. template <typename GetTrapBBT> -static void insertBoundsCheck(Value *Or, BuilderTy IRB, GetTrapBBT GetTrapBB) { +static void insertBoundsCheck(Value *Or, BuilderTy &IRB, GetTrapBBT GetTrapBB) { // check if the comparison is always false ConstantInt *C = dyn_cast_or_null<ConstantInt>(Or); if (C) { diff --git a/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp b/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp index 4047de13d0e2..5cfcb45e4bca 100644 --- a/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp +++ b/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp @@ -290,7 +290,7 @@ class LowerMatrixIntrinsics { /// Otherwie split the flat vector \p MatrixVal containing a matrix with /// shape \p SI into column vectors. ColumnMatrixTy getMatrix(Value *MatrixVal, const ShapeInfo &SI, - IRBuilder<> Builder) { + IRBuilder<> &Builder) { VectorType *VType = dyn_cast<VectorType>(MatrixVal->getType()); assert(VType && "MatrixVal must be a vector type"); assert(VType->getNumElements() == SI.NumRows * SI.NumColumns && @@ -584,13 +584,13 @@ class LowerMatrixIntrinsics { } LoadInst *createColumnLoad(Value *ColumnPtr, Type *EltType, - IRBuilder<> Builder) { + IRBuilder<> &Builder) { return Builder.CreateAlignedLoad( ColumnPtr, Align(DL.getABITypeAlignment(EltType)), "col.load"); } StoreInst *createColumnStore(Value *ColumnValue, Value *ColumnPtr, - Type *EltType, IRBuilder<> Builder) { + Type *EltType, IRBuilder<> &Builder) { return Builder.CreateAlignedStore(ColumnValue, ColumnPtr, DL.getABITypeAlign(EltType)); } @@ -690,7 +690,7 @@ class LowerMatrixIntrinsics { /// Extract a column vector of \p NumElts starting at index (\p I, \p J) from /// the matrix \p LM represented as a vector of column vectors. Value *extractVector(const ColumnMatrixTy &LM, unsigned I, unsigned J, - unsigned NumElts, IRBuilder<> Builder) { + unsigned NumElts, IRBuilder<> &Builder) { Value *Col = LM.getColumn(J); Value *Undef = UndefValue::get(Col->getType()); Constant *Mask = createSequentialMask(Builder, I, NumElts, 0); @@ -699,7 +699,7 @@ class LowerMatrixIntrinsics { // Set elements I..I+NumElts-1 to Block Value *insertVector(Value *Col, unsigned I, Value *Block, - IRBuilder<> Builder) { + IRBuilder<> &Builder) { // First, bring Block to the same size as Col unsigned BlockNumElts = diff --git a/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp b/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp index b242f100faff..562a9f818097 100644 --- a/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp +++ b/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp @@ -1270,7 +1270,7 @@ static void CreateGCRelocates(ArrayRef<Value *> LiveVariables, const int LiveStart, ArrayRef<Value *> BasePtrs, Instruction *StatepointToken, - IRBuilder<> Builder) { + IRBuilder<> &Builder) { if (LiveVariables.empty()) return; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits