summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-11-27 19:40:05 +0000
committerBill Wendling <isanbard@gmail.com>2013-11-27 19:40:05 +0000
commit8bb91f77cb1488c19cb4bdb17b4af5f093d233fd (patch)
treeb222b5d88b7f03ce34a5123a62706c323d0026d7
parentf63e418d2c299a540ac27ddfed69b2c4698bb3c3 (diff)
downloadllvm-8bb91f77cb1488c19cb4bdb17b4af5f093d233fd.tar.gz
llvm-8bb91f77cb1488c19cb4bdb17b4af5f093d233fd.tar.bz2
llvm-8bb91f77cb1488c19cb4bdb17b4af5f093d233fd.tar.xz
Merging r195574:
------------------------------------------------------------------------ r195574 | venkatra | 2013-11-24 10:41:49 -0800 (Sun, 24 Nov 2013) | 2 lines [SparcV9]: Do not emit .register directives for global registers that are clobbered by calls but not used in the function itself. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195868 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/Sparc/SparcAsmPrinter.cpp2
-rw-r--r--test/CodeGen/SPARC/64abi.ll2
2 files changed, 1 insertions, 3 deletions
diff --git a/lib/Target/Sparc/SparcAsmPrinter.cpp b/lib/Target/Sparc/SparcAsmPrinter.cpp
index e56da1e127..d06c894c7e 100644
--- a/lib/Target/Sparc/SparcAsmPrinter.cpp
+++ b/lib/Target/Sparc/SparcAsmPrinter.cpp
@@ -88,7 +88,7 @@ void SparcAsmPrinter::EmitFunctionBodyStart() {
const unsigned globalRegs[] = { SP::G2, SP::G3, SP::G6, SP::G7, 0 };
for (unsigned i = 0; globalRegs[i] != 0; ++i) {
unsigned reg = globalRegs[i];
- if (!MRI.isPhysRegUsed(reg))
+ if (MRI.use_empty(reg))
continue;
EmitGlobalRegisterDecl(reg);
}
diff --git a/test/CodeGen/SPARC/64abi.ll b/test/CodeGen/SPARC/64abi.ll
index 00fb99ad81..8a5c996a57 100644
--- a/test/CodeGen/SPARC/64abi.ll
+++ b/test/CodeGen/SPARC/64abi.ll
@@ -380,8 +380,6 @@ define signext i32 @ret_nozext(i32 signext %a0) {
; CHECK-LABEL: test_register_directive
; CHECK: .register %g2, #scratch
; CHECK: .register %g3, #scratch
-; CHECK: .register %g6, #ignore
-; CHECK: .register %g7, #ignore
; CHECK: add %i0, 2, %g2
; CHECK: add %i0, 3, %g3
define i32 @test_register_directive(i32 %i0) {