From: Brian Gaeke Date: Sun, 10 Oct 2004 19:57:20 +0000 (+0000) Subject: Model calls as *both* using *and* killing O0..O5, because callees use the X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9f0cecd4385d778c20859ad18ee43389e1337b33;p=oota-llvm.git Model calls as *both* using *and* killing O0..O5, because callees use the 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 --- diff --git a/lib/Target/Sparc/SparcInstrInfo.td b/lib/Target/Sparc/SparcInstrInfo.td index 5751f6f0260..c1b8d6e7971 100644 --- a/lib/Target/Sparc/SparcInstrInfo.td +++ b/lib/Target/Sparc/SparcInstrInfo.td @@ -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; diff --git a/lib/Target/SparcV8/SparcV8InstrInfo.td b/lib/Target/SparcV8/SparcV8InstrInfo.td index 5751f6f0260..c1b8d6e7971 100644 --- a/lib/Target/SparcV8/SparcV8InstrInfo.td +++ b/lib/Target/SparcV8/SparcV8InstrInfo.td @@ -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;