[SparcV9]: Do not emit .register directives for global registers that are clobbered...
authorVenkatraman Govindaraju <venkatra@cs.wisc.edu>
Sun, 24 Nov 2013 18:41:49 +0000 (18:41 +0000)
committerVenkatraman Govindaraju <venkatra@cs.wisc.edu>
Sun, 24 Nov 2013 18:41:49 +0000 (18:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195574 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/SparcAsmPrinter.cpp
test/CodeGen/SPARC/64abi.ll

index e56da1e127d1c2d1f5867da06101e0e9b81227b9..d06c894c7e056241c05502be59c11306f894f307 100644 (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);
   }
index 00fb99ad81ca93ee9c4da77908615d7eefa5e9f8..8a5c996a5716cebc7127d9ef505f6dd76749e872 100644 (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) {