[llvm] r251494 - Use range-based for loops and use initializer list to remove a small static array. NFC

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 28 09:33:03 PDT 2015


On Tue, Oct 27, 2015 at 9:53 PM, Craig Topper via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: ctopper
> Date: Tue Oct 27 23:53:27 2015
> New Revision: 251494
>
> URL: http://llvm.org/viewvc/llvm-project?rev=251494&view=rev
> Log:
> Use range-based for loops and use initializer list to remove a small
> static array. NFC
>

This ends up duplicating the sequence (so changes to the sequence could
become inconsistent, etc) - would it be best to keep the sequence defined
once, while still migrating to range-based-for?


>
> Modified:
>     llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
>
> Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=251494&r1=251493&r2=251494&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Tue Oct 27 23:53:27 2015
> @@ -75,7 +75,6 @@ X86TargetLowering::X86TargetLowering(con
>    MVT PtrVT = MVT::getIntegerVT(8 * TM.getPointerSize());
>
>    // Set up the TargetLowering object.
> -  static const MVT IntVTs[] = { MVT::i8, MVT::i16, MVT::i32, MVT::i64 };
>
>    // X86 is weird. It always uses i8 for shift amounts and setcc results.
>    setBooleanContents(ZeroOrOneBooleanContent);
> @@ -270,8 +269,7 @@ X86TargetLowering::X86TargetLowering(con
>    // (low) operations are left as Legal, as there are single-result
>    // instructions for this in x86. Using the two-result multiply
> instructions
>    // when both high and low results are needed must be arranged by
> dagcombine.
> -  for (unsigned i = 0; i != array_lengthof(IntVTs); ++i) {
> -    MVT VT = IntVTs[i];
> +  for (auto VT : { MVT::i8, MVT::i16, MVT::i32, MVT::i64 }) {
>      setOperationAction(ISD::MULHS, VT, Expand);
>      setOperationAction(ISD::MULHU, VT, Expand);
>      setOperationAction(ISD::SDIV, VT, Expand);
> @@ -462,8 +460,7 @@ X86TargetLowering::X86TargetLowering(con
>    setOperationAction(ISD::ATOMIC_FENCE  , MVT::Other, Custom);
>
>    // Expand certain atomics
> -  for (unsigned i = 0; i != array_lengthof(IntVTs); ++i) {
> -    MVT VT = IntVTs[i];
> +  for (auto VT : { MVT::i8, MVT::i16, MVT::i32, MVT::i64 }) {
>      setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, VT, Custom);
>      setOperationAction(ISD::ATOMIC_LOAD_SUB, VT, Custom);
>      setOperationAction(ISD::ATOMIC_STORE, VT, Custom);
> @@ -1753,9 +1750,10 @@ X86TargetLowering::X86TargetLowering(con
>    // FIXME: We really should do custom legalization for addition and
>    // subtraction on x86-32 once PR3203 is fixed.  We really can't do much
> better
>    // than generic legalization for 64-bit multiplication-with-overflow,
> though.
> -  for (unsigned i = 0, e = 3+Subtarget->is64Bit(); i != e; ++i) {
> +  for (auto VT : { MVT::i8, MVT::i16, MVT::i32, MVT::i64 }) {
> +    if (VT == MVT::i64 && !Subtarget->is64Bit())
> +      continue;
>      // Add/Sub/Mul with overflow operations are custom lowered.
> -    MVT VT = IntVTs[i];
>      setOperationAction(ISD::SADDO, VT, Custom);
>      setOperationAction(ISD::UADDO, VT, Custom);
>      setOperationAction(ISD::SSUBO, VT, Custom);
>
>
> _______________________________________________
> 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/20151028/d0bc9800/attachment.html>


More information about the llvm-commits mailing list