diff options
| author | Hideto Ueno <uenoku.tokotoko@gmail.com> | 2019-12-30 17:08:48 +0900 |
|---|---|---|
| committer | Hideto Ueno <uenoku.tokotoko@gmail.com> | 2019-12-30 17:08:48 +0900 |
| commit | 34fe8d0451174829529bb8da8ad0c631825e16e0 (patch) | |
| tree | e4a344ce641982f61346a702dcdd44afed8351a3 /llvm/lib | |
| parent | bb87364f26ce6b1fbb2cc5e155fd8ff82aafbe8d (diff) | |
| download | bcm5719-llvm-34fe8d0451174829529bb8da8ad0c631825e16e0.tar.gz bcm5719-llvm-34fe8d0451174829529bb8da8ad0c631825e16e0.zip | |
[Attributor] Use `changeUseAfterManifest` in AAValueSimplify manifest
Summary: This patch makes `AAValueSimplify` use `changeUsesAfterManifest` in `manifest`. This will invoke simple folding after the manifest.
Reviewers: jdoerfert, sstefan1
Reviewed By: jdoerfert
Subscribers: hiraditya, arphaman, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71972
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Transforms/IPO/Attributor.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp index d909f385631..0fe2cdc00a4 100644 --- a/llvm/lib/Transforms/IPO/Attributor.cpp +++ b/llvm/lib/Transforms/IPO/Attributor.cpp @@ -2574,9 +2574,7 @@ struct AAIsDeadFloating : public AAIsDeadValueImpl { return ChangeStatus::UNCHANGED; UndefValue &UV = *UndefValue::get(V.getType()); - bool AnyChange = false; - for (Use &U : V.uses()) - AnyChange |= A.changeUseAfterManifest(U, UV); + bool AnyChange = A.changeValueAfterManifest(V, UV); return AnyChange ? ChangeStatus::CHANGED : ChangeStatus::UNCHANGED; } @@ -4149,7 +4147,7 @@ struct AAValueSimplifyImpl : AAValueSimplify { if (!V.user_empty() && &V != C && V.getType() == C->getType()) { LLVM_DEBUG(dbgs() << "[Attributor][ValueSimplify] " << V << " -> " << *C << "\n"); - replaceAllInstructionUsesWith(V, *C); + A.changeValueAfterManifest(V, *C); Changed = ChangeStatus::CHANGED; } } |

