[llvm] r321204 - [DAG] Fix condition on overlapping store check.

Diana Picus via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 20 11:19:47 PST 2017


Hi Dave,

Is this going to fix this failure [1] ? If not, could you please have
a look at it? I was just about to revert r321089.

Thanks,
Diana

[1] http://lab.llvm.org:8011/builders/clang-cmake-aarch64-full/builds/3575

On 20 December 2017 at 20:06, Nirav Dave via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: niravd
> Date: Wed Dec 20 11:06:47 2017
> New Revision: 321204
>
> URL: http://llvm.org/viewvc/llvm-project?rev=321204&view=rev
> Log:
> [DAG] Fix condition on overlapping store check.
>
> Prevent overlapping store elision when overlapping store is
> pre-inc/dec as analysis is wrong in these cases.
>
> Modified:
>     llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp?rev=321204&r1=321203&r2=321204&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Wed Dec 20 11:06:47 2017
> @@ -13786,8 +13786,8 @@ SDValue DAGCombiner::visitSTORE(SDNode *
>
>    // Deal with elidable overlapping chained stores.
>    if (StoreSDNode *ST1 = dyn_cast<StoreSDNode>(Chain))
> -    if (OptLevel != CodeGenOpt::None && ST1->isUnindexed() &&
> -        !ST1->isVolatile() && ST1->hasOneUse() &&
> +    if (OptLevel != CodeGenOpt::None && ST->isUnindexed() &&
> +        ST1->isUnindexed() && !ST1->isVolatile() && ST1->hasOneUse() &&
>          !ST1->getBasePtr().isUndef() && !ST->isVolatile()) {
>        BaseIndexOffset STBasePtr = BaseIndexOffset::match(ST->getBasePtr(), DAG);
>        BaseIndexOffset ST1BasePtr =
>
>
> _______________________________________________
> 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