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
This commit is contained in:
Bill Wendling 2013-11-27 19:40:05 +00:00
parent f63e418d2c
commit 8bb91f77cb
2 changed files with 1 additions and 3 deletions

View File

@ -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);
}

View File

@ -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) {