diff options
author | Sam Parker <sam.parker@arm.com> | 2020-09-30 12:25:06 +0100 |
---|---|---|
committer | Sam Parker <sam.parker@arm.com> | 2020-09-30 14:06:45 +0100 |
commit | 3f88c10a6b25668bb99f5eee7867dcbf37df973c (patch) | |
tree | 078c34027fcfc9c222b33b2c78a5cca413061f9f /llvm/lib/CodeGen/ReachingDefAnalysis.cpp | |
parent | 413b4998bd722ab671e29e6dff5d458d1869f39b (diff) | |
download | llvm-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.cpp | 2 |
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; |