aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/BasicAliasAnalysis.cpp
diff options
context:
space:
mode:
authorArthur Eubanks <aeubanks@google.com>2022-04-07 15:39:53 -0700
committerArthur Eubanks <aeubanks@google.com>2022-04-08 10:07:26 -0700
commitb22ffc7b98f8700d7d480127ff1c3683a6dac6e5 (patch)
tree20a4e2e18a950533aebcb8d5498f9a835ab0a9dd /llvm/lib/Analysis/BasicAliasAnalysis.cpp
parente07dfa5328b0ca1465ae7b749e1ac2d994741e27 (diff)
downloadllvm-b22ffc7b98f8700d7d480127ff1c3683a6dac6e5.zip
llvm-b22ffc7b98f8700d7d480127ff1c3683a6dac6e5.tar.gz
llvm-b22ffc7b98f8700d7d480127ff1c3683a6dac6e5.tar.bz2
[CaptureTracking] Ignore ephemeral values in EarliestEscapeInfo
And thread DSE's ephemeral values to EarliestEscapeInfo. This allows more precise analysis in DSEState::isReadClobber() via BatchAA. Followup to D123162. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D123342
Diffstat (limited to 'llvm/lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/BasicAliasAnalysis.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
index e8d0c76..a0eb823 100644
--- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
@@ -232,7 +232,7 @@ bool EarliestEscapeInfo::isNotCapturedBeforeOrAt(const Value *Object,
if (Iter.second) {
Instruction *EarliestCapture = FindEarliestCapture(
Object, *const_cast<Function *>(I->getFunction()),
- /*ReturnCaptures=*/false, /*StoreCaptures=*/true, DT);
+ /*ReturnCaptures=*/false, /*StoreCaptures=*/true, DT, EphValues);
if (EarliestCapture) {
auto Ins = Inst2Obj.insert({EarliestCapture, {}});
Ins.first->second.push_back(Object);