Model calls as *both* using *and* killing O0..O5, because callees use the
authorBrian Gaeke <gaeke@uiuc.edu>
Sun, 10 Oct 2004 19:57:20 +0000 (19:57 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Sun, 10 Oct 2004 19:57:20 +0000 (19:57 +0000)
argument values passed in (so they're not dead until *after* the call),
and callees are free to modify those registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16882 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/SparcInstrInfo.td
lib/Target/SparcV8/SparcV8InstrInfo.td

index 5751f6f02608cafbf339f1471137ac8d9335d0df..c1b8d6e7971e19eeeccdbc806d3a5e0d90ecea28 100644 (file)
@@ -193,7 +193,8 @@ def FBO  : FPBranchV8<0b1111, "fbo">;
 
 // Section B.24 - Call and Link Instruction, p. 125
 // This is the only Format 1 instruction
-let Defs = [O0, O1, O2, O3, O4, O5], hasDelaySlot = 1, isCall = 1 in { 
+let Uses = [O0, O1, O2, O3, O4, O5], Defs = [O0, O1, O2, O3, O4, O5],
+    hasDelaySlot = 1, isCall = 1 in { 
   // pc-relative call:
   def CALL : InstV8 {
     bits<30> disp;
index 5751f6f02608cafbf339f1471137ac8d9335d0df..c1b8d6e7971e19eeeccdbc806d3a5e0d90ecea28 100644 (file)
@@ -193,7 +193,8 @@ def FBO  : FPBranchV8<0b1111, "fbo">;
 
 // Section B.24 - Call and Link Instruction, p. 125
 // This is the only Format 1 instruction
-let Defs = [O0, O1, O2, O3, O4, O5], hasDelaySlot = 1, isCall = 1 in { 
+let Uses = [O0, O1, O2, O3, O4, O5], Defs = [O0, O1, O2, O3, O4, O5],
+    hasDelaySlot = 1, isCall = 1 in { 
   // pc-relative call:
   def CALL : InstV8 {
     bits<30> disp;