aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
diff options
context:
space:
mode:
authorSam Parker <sam.parker@arm.com>2020-09-30 12:25:06 +0100
committerSam Parker <sam.parker@arm.com>2020-09-30 14:06:45 +0100
commit3f88c10a6b25668bb99f5eee7867dcbf37df973c (patch)
tree078c34027fcfc9c222b33b2c78a5cca413061f9f /llvm/lib/CodeGen/ReachingDefAnalysis.cpp
parent413b4998bd722ab671e29e6dff5d458d1869f39b (diff)
downloadllvm-3f88c10a6b25668bb99f5eee7867dcbf37df973c.zip
llvm-3f88c10a6b25668bb99f5eee7867dcbf37df973c.tar.gz
llvm-3f88c10a6b25668bb99f5eee7867dcbf37df973c.tar.bz2
[RDA] isSafeToDefRegAt: Look at global uses
We weren't looking at global uses of a value, so we could happily overwrite the register incorrectly. Differential Revision: https://reviews.llvm.org/D88554
Diffstat (limited to 'llvm/lib/CodeGen/ReachingDefAnalysis.cpp')
-rw-r--r--llvm/lib/CodeGen/ReachingDefAnalysis.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/ReachingDefAnalysis.cpp b/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
index e94e547..6ed1d38 100644
--- a/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
+++ b/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
@@ -678,7 +678,7 @@ bool ReachingDefAnalysis::isSafeToDefRegAt(MachineInstr *MI, int PhysReg,
if (isRegUsedAfter(MI, PhysReg)) {
if (auto *Def = getReachingLocalMIDef(MI, PhysReg)) {
SmallPtrSet<MachineInstr*, 2> Uses;
- getReachingLocalUses(Def, PhysReg, Uses);
+ getGlobalUses(Def, PhysReg, Uses);
for (auto *Use : Uses)
if (!Ignore.count(Use))
return false;