[llvm] r293892 - [X86, ISEL] Fix X86 increment chain dependence calculation

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 3 15:10:50 PST 2017


No test?

On Thu, Feb 2, 2017 at 6:39 AM, Nirav Dave via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: niravd
> Date: Thu Feb  2 08:39:26 2017
> New Revision: 293892
>
> URL: http://llvm.org/viewvc/llvm-project?rev=293892&view=rev
> Log:
> [X86,ISEL] Fix X86 increment chain dependence calculation
>
> Merging Load-add-store pattern into a increment op previously dropped
> the load's chain from the instructions dependence if the store is
> chained to a TokenFactor.
>
> Modified:
>     llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
>
> Modified: llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp?rev=293892&r1=293891&r2=293892&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp Thu Feb  2 08:39:26 2017
> @@ -1905,6 +1905,8 @@ static bool isLoadIncOrDecStore(StoreSDN
>        SDValue Op = Chain.getOperand(i);
>        if (Op == Load.getValue(1)) {
>          ChainCheck = true;
> +        // Drop Load, but keep its chain. No cycle check necessary.
> +        ChainOps.push_back(Load.getOperand(0));
>          continue;
>        }
>
>
>
> _______________________________________________
> 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