summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegUsageInfoCollector.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@codeaurora.org>2016-07-11 18:45:49 +0000
committerChad Rosier <mcrosier@codeaurora.org>2016-07-11 18:45:49 +0000
commit4f0dad16740da262eb64bc4d2b56f5bfaded761b (patch)
tree3071d43591d4df18ee2cbfe6b35c9154430cd313 /llvm/lib/CodeGen/RegUsageInfoCollector.cpp
parentdef708a0f9ff4331214fded128fa2d5d6459952c (diff)
downloadbcm5719-llvm-4f0dad16740da262eb64bc4d2b56f5bfaded761b.tar.gz
bcm5719-llvm-4f0dad16740da262eb64bc4d2b56f5bfaded761b.zip
[IPRA] Properly compute register usage at call sites.
Differential Revision: http://reviews.llvm.org/D21395 Patch by Vivek Pandya. PR28144 llvm-svn: 275087
Diffstat (limited to 'llvm/lib/CodeGen/RegUsageInfoCollector.cpp')
-rw-r--r--llvm/lib/CodeGen/RegUsageInfoCollector.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/RegUsageInfoCollector.cpp b/llvm/lib/CodeGen/RegUsageInfoCollector.cpp
index 8215aed35cb..7c3713ae634 100644
--- a/llvm/lib/CodeGen/RegUsageInfoCollector.cpp
+++ b/llvm/lib/CodeGen/RegUsageInfoCollector.cpp
@@ -1,4 +1,4 @@
-//===- RegUsageInfoCollector.cpp - Register Usage Informartion Collector --===//
+//===-- RegUsageInfoCollector.cpp - Register Usage Information Collector --===//
//
// The LLVM Compiler Infrastructure
//
@@ -106,8 +106,9 @@ bool RegUsageInfoCollector::runOnMachineFunction(MachineFunction &MF) {
PRUI->setTargetMachine(&TM);
DEBUG(dbgs() << "Clobbered Registers: ");
+
for (unsigned PReg = 1, PRegE = TRI->getNumRegs(); PReg < PRegE; ++PReg)
- if (!MRI->reg_nodbg_empty(PReg) && MRI->isPhysRegUsed(PReg))
+ if (MRI->isPhysRegModified(PReg, true))
markRegClobbered(TRI, &RegMask[0], PReg);
const uint32_t *CallPreservedMask =
OpenPOWER on IntegriCloud