diff options
| author | Chad Rosier <mcrosier@codeaurora.org> | 2016-07-11 18:45:49 +0000 |
|---|---|---|
| committer | Chad Rosier <mcrosier@codeaurora.org> | 2016-07-11 18:45:49 +0000 |
| commit | 4f0dad16740da262eb64bc4d2b56f5bfaded761b (patch) | |
| tree | 3071d43591d4df18ee2cbfe6b35c9154430cd313 /llvm/lib/CodeGen/RegUsageInfoCollector.cpp | |
| parent | def708a0f9ff4331214fded128fa2d5d6459952c (diff) | |
| download | bcm5719-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.cpp | 5 |
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 = |

