[llvm] r217851 - [x86] Remove the last vestiges of the BLENDI-based ADDSUB pattern

Hans Wennborg hans at chromium.org
Mon Sep 15 18:56:29 PDT 2014


On Mon, Sep 15, 2014 at 5:39 PM, Chandler Carruth <chandlerc at gmail.com> wrote:
> Author: chandlerc
> Date: Mon Sep 15 19:39:08 2014
> New Revision: 217851
>
> URL: http://llvm.org/viewvc/llvm-project?rev=217851&view=rev
> Log:
> [x86] Remove the last vestiges of the BLENDI-based ADDSUB pattern
> matching. This design just fundamentally didn't work because ADDSUB is
> available prior to any legal lowerings of BLENDI nodes. Instead, we have
> a dedicated ADDSUB synthetic ISD node which is pattern matched trivially
> into the instructions. These nodes are then recognized by both the
> existing and a trivial new lowering combine in the backend. Removing
> these patterns required adding 2 missing shuffle masks to the DAG
> combine, without which tests would have failed. Added the masks and
> a helpful assert as well to catch if anything ever goes wrong here.
>
> Modified:
>     llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
>     llvm/trunk/lib/Target/X86/X86InstrSSE.td
>
> Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=217851&r1=217850&r2=217851&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Mon Sep 15 19:39:08 2014
> @@ -19990,6 +19990,7 @@ static SDValue PerformTargetShuffleCombi
>  /// they're unused.
>  static SDValue combineShuffleToAddSub(SDNode *N, SelectionDAG &DAG) {
>    SDLoc DL(N);
> +  EVT VT = N->getValueType(0);

I'm getting unused variable warnings for this one:

  error: unused variable 'VT' [-Werror,-Wunused-variable]



More information about the llvm-commits mailing list