[PATCH] D77734: [AssumeBundles] Adapt RecursivelyDeleteTriviallyDeadInstructions and depending passes.
Tyker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 9 07:01:42 PDT 2020
Tyker added inline comments.
================
Comment at: llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll:3
+; RUN: opt -S -passes=attributor -aa-pipeline='basic-aa' -attributor-disable=false -attributor-max-iterations-verify -attributor-max-iterations=3 < %s | FileCheck %s --check-prefixes=CHECK,NO_ASSUME
+; RUN: opt -S -passes=attributor --enable-knowledge-retention -aa-pipeline='basic-aa' -attributor-disable=false -attributor-max-iterations-verify -attributor-max-iterations=3 < %s | FileCheck %s --check-prefixes=CHECK,USE_ASSUME
----------------
jdoerfert wrote:
> When you rebase you'll get a conflict. I recommend using the new file and adding `--enable-knowledge-retention ` to some or all of the 4 run configurations. check lines are generated :)
thanks for the heads up.
================
Comment at: llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll:37
+; USE_ASSUME-NEXT: store i64 2, i64* [[TMP4]], align 4
+; USE_ASSUME-NEXT: call void @llvm.assume(i1 true) [ "align"(i32* [[X]], i64 4), "align"(%struct.ss* [[S]], i64 8), "dereferenceable"(i32* [[X]], i64 4), "dereferenceable"(%struct.ss* [[S]], i64 12), "nonnull"(%struct.ss* [[S]]), "nonnull"(i32* [[X]]) ]
+; USE_ASSUME-NEXT: ret i32 0
----------------
jdoerfert wrote:
> Note: We really have to teach the Attributor to prune these. I'll get to it or make it a task for one of the GSoC students.
by prune you mean removing redundant knowledge ?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77734/new/
https://reviews.llvm.org/D77734
More information about the llvm-commits
mailing list