[llvm] r263215 - [InstCombine] Use Twines to generate names.
Chandler Carruth via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 11 03:13:59 PST 2016
Wow, nice!
On Fri, Mar 11, 2016 at 11:25 AM Benjamin Kramer via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: d0k
> Date: Fri Mar 11 04:20:56 2016
> New Revision: 263215
>
> URL: http://llvm.org/viewvc/llvm-project?rev=263215&view=rev
> Log:
> [InstCombine] Use Twines to generate names.
>
> Since the names are used in a loop this does more work in debug builds. In
> release builds value names are generally discarded so we don't have to do
> the concatenation at all. It's also simpler code, no functional change
> intended.
>
> Modified:
> llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
>
> Modified:
> llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp?rev=263215&r1=263214&r2=263215&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
> (original)
> +++ llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
> Fri Mar 11 04:20:56 2016
> @@ -523,7 +523,7 @@ static Instruction *unpackLoadToAggregat
> if (!T->isAggregateType())
> return nullptr;
>
> - auto Name = LI.getName();
> + StringRef Name = LI.getName();
> assert(LI.getAlignment() && "Alignment must be set at this point");
>
> if (auto *ST = dyn_cast<StructType>(T)) {
> @@ -547,11 +547,6 @@ static Instruction *unpackLoadToAggregat
> if (!Align)
> Align = DL.getABITypeAlignment(ST);
>
> - SmallString<16> LoadName = Name;
> - LoadName += ".unpack";
> - SmallString<16> EltName = Name;
> - EltName += ".elt";
> -
> auto *Addr = LI.getPointerOperand();
> auto *IdxType = Type::getInt32Ty(T->getContext());
> auto *Zero = ConstantInt::get(IdxType, 0);
> @@ -563,9 +558,9 @@ static Instruction *unpackLoadToAggregat
> ConstantInt::get(IdxType, i),
> };
> auto *Ptr = IC.Builder->CreateInBoundsGEP(ST, Addr,
> makeArrayRef(Indices),
> - EltName);
> + Name + ".elt");
> auto EltAlign = MinAlign(Align, SL->getElementOffset(i));
> - auto *L = IC.Builder->CreateAlignedLoad(Ptr, EltAlign, LoadName);
> + auto *L = IC.Builder->CreateAlignedLoad(Ptr, EltAlign, Name +
> ".unpack");
> V = IC.Builder->CreateInsertValue(V, L, i);
> }
>
> @@ -588,11 +583,6 @@ static Instruction *unpackLoadToAggregat
> if (!Align)
> Align = DL.getABITypeAlignment(T);
>
> - SmallString<16> LoadName = Name;
> - LoadName += ".unpack";
> - SmallString<16> EltName = Name;
> - EltName += ".elt";
> -
> auto *Addr = LI.getPointerOperand();
> auto *IdxType = Type::getInt64Ty(T->getContext());
> auto *Zero = ConstantInt::get(IdxType, 0);
> @@ -605,9 +595,9 @@ static Instruction *unpackLoadToAggregat
> ConstantInt::get(IdxType, i),
> };
> auto *Ptr = IC.Builder->CreateInBoundsGEP(AT, Addr,
> makeArrayRef(Indices),
> - EltName);
> + Name + ".elt");
> auto *L = IC.Builder->CreateAlignedLoad(Ptr, MinAlign(Align,
> Offset),
> - LoadName);
> + Name + ".unpack");
> V = IC.Builder->CreateInsertValue(V, L, i);
> Offset += EltSize;
> }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160311/2e0f74b2/attachment.html>
More information about the llvm-commits
mailing list