[PATCH] D77404: [AssumeBundles] preserve knowledge in DSE
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sat Apr 25 07:17:18 PDT 2020
> On Apr 14, 2020, at 12:13, Tyker via Phabricator via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>
> This revision was automatically updated to reflect the committed changes.
> Closed by commit rG086de7673e3d: [AssumeBundles] preserve knowledge in DSE (authored by Tyker).
>
> Repository:
> rG LLVM Github Monorepo
>
> CHANGES SINCE LAST ACTION
> https://reviews.llvm.org/D77404/new/
>
> https://reviews.llvm.org/D77404
>
> Files:
> llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
> llvm/test/Transforms/DeadStoreElimination/MSSA/simple-preservation.ll
>
>
> Index: llvm/test/Transforms/DeadStoreElimination/MSSA/simple-preservation.ll
> ===================================================================
> --- /dev/null
> +++ llvm/test/Transforms/DeadStoreElimination/MSSA/simple-preservation.ll
> @@ -0,0 +1,17 @@
> +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
> +; RUN: opt < %s -aa-pipeline=basic-aa -passes=dse -enable-dse-memoryssa -enable-knowledge-retention -S | FileCheck %s
> +
> +target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
> +
> +define void @test1(i32* %Q, i32* %P) {
> +; CHECK-LABEL: @test1(
> +; CHECK-NEXT: call void @llvm.assume(i1 true) [ "dereferenceable"(i32* [[Q:%.*]], i64 4), "nonnull"(i32* [[Q]]) ]
> +; CHECK-NEXT: call void @llvm.assume(i1 true) [ "dereferenceable"(i32* [[P:%.*]], i64 4), "nonnull"(i32* [[P]]) ]
> +; CHECK-NEXT: store i32 0, i32* [[P]]
> +; CHECK-NEXT: ret void
> +;
> + %DEAD = load i32, i32* %Q
> + store i32 %DEAD, i32* %P
> + store i32 0, i32* %P
> + ret void
> +}
It would be good to also add a test without -enable-dse-memoryssa (Which is the current default).
Cheers,
Florian
More information about the llvm-commits
mailing list