diff options
author | Arthur Eubanks <aeubanks@google.com> | 2022-04-07 15:39:53 -0700 |
---|---|---|
committer | Arthur Eubanks <aeubanks@google.com> | 2022-04-08 10:07:26 -0700 |
commit | b22ffc7b98f8700d7d480127ff1c3683a6dac6e5 (patch) | |
tree | 20a4e2e18a950533aebcb8d5498f9a835ab0a9dd /llvm/lib/Analysis/BasicAliasAnalysis.cpp | |
parent | e07dfa5328b0ca1465ae7b749e1ac2d994741e27 (diff) | |
download | llvm-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.cpp | 2 |
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); |