[llvm] r267773 - [X86]: Quit promoting 16 bit loads to 32 bit.

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Sun May 1 22:57:39 PDT 2016


"Kevin B. Smith via llvm-commits" <llvm-commits at lists.llvm.org> writes:
> Author: kbsmith1
> Date: Wed Apr 27 14:58:03 2016
> New Revision: 267773
>
> URL: http://llvm.org/viewvc/llvm-project?rev=267773&view=rev
> Log:
> [X86]: Quit promoting 16 bit loads to 32 bit.
> Differential Revision: http://reviews.llvm.org/D19592

Please include the rationale for the change in your commit messages.

While the linked review explains why we would want to do this, the
commit message does not. This makes it harder/more time consuming for
people to understand what's going on if they look through the commit
history in the future.

> Modified:
>     llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
>     llvm/trunk/test/CodeGen/X86/half.ll
>
> Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=267773&r1=267772&r2=267773&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Wed Apr 27 14:58:03 2016
> @@ -29639,23 +29639,6 @@ bool X86TargetLowering::IsDesirableToPro
>    bool Commute = false;
>    switch (Op.getOpcode()) {
>    default: break;
> -  case ISD::LOAD: {
> -    LoadSDNode *LD = cast<LoadSDNode>(Op);
> -    // If the non-extending load has a single use and it's not live out, then it
> -    // might be folded.
> -    if (LD->getExtensionType() == ISD::NON_EXTLOAD /*&&
> -                                                     Op.hasOneUse()*/) {
> -      for (SDNode::use_iterator UI = Op.getNode()->use_begin(),
> -             UE = Op.getNode()->use_end(); UI != UE; ++UI) {
> -        // The only case where we'd want to promote LOAD (rather then it being
> -        // promoted as an operand is when it's only use is liveout.
> -        if (UI->getOpcode() != ISD::CopyToReg)
> -          return false;
> -      }
> -    }
> -    Promote = true;
> -    break;
> -  }
>    case ISD::SIGN_EXTEND:
>    case ISD::ZERO_EXTEND:
>    case ISD::ANY_EXTEND:
>
> Modified: llvm/trunk/test/CodeGen/X86/half.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/half.ll?rev=267773&r1=267772&r2=267773&view=diff
> ==============================================================================
> --- llvm/trunk/test/CodeGen/X86/half.ll (original)
> +++ llvm/trunk/test/CodeGen/X86/half.ll Wed Apr 27 14:58:03 2016
> @@ -19,7 +19,8 @@ define void @test_load_store(half* %in,
>  
>  define i16 @test_bitcast_from_half(half* %addr) {
>  ; CHECK-LABEL: test_bitcast_from_half:
> -; CHECK: movzwl (%rdi), %eax
> +; BWON:  movzwl (%rdi), %eax
> +; BWOFF: movw (%rdi), %ax
>    %val = load half, half* %addr
>    %val_int = bitcast half %val to i16
>    ret i16 %val_int
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list