summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-09-17 15:25:49 +0000
committerDan Gohman <gohman@apple.com>2008-09-17 15:25:49 +0000
commit59932584a812685b16ad6a53a023b2bb3fc21819 (patch)
tree7ff9943581aca75d41dedcefa3f844ce9a4c0814
parent7fd7ca4e7f775a75f648f03d956c3068c71b991d (diff)
downloadexternal_llvm-59932584a812685b16ad6a53a023b2bb3fc21819.zip
external_llvm-59932584a812685b16ad6a53a023b2bb3fc21819.tar.gz
external_llvm-59932584a812685b16ad6a53a023b2bb3fc21819.tar.bz2
Don't worry about clobbering physical register defs that aren't used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56281 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
index b9dcc25..0cf155e 100644
--- a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
+++ b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
@@ -1709,6 +1709,8 @@ static bool canClobberPhysRegDefs(const SUnit *SuccSU, const SUnit *SU,
MVT VT = N->getValueType(i);
if (VT == MVT::Flag || VT == MVT::Other)
continue;
+ if (!N->hasAnyUseOfValue(i))
+ continue;
unsigned Reg = ImpDefs[i - NumDefs];
for (;*SUImpDefs; ++SUImpDefs) {
unsigned SUReg = *SUImpDefs;