[llvm-commits] CVS: llvm/lib/Target/Sparc/SparcInstr.def

Vikram Adve vadve at cs.uiuc.edu
Sat Sep 28 12:01:01 PDT 2002


Changes in directory llvm/lib/Target/Sparc:

SparcInstr.def updated: 1.10 -> 1.11

---
Log message:

Return address register should be marked as "result" for the JMPL instruction
since it is defined by the instruction.


---
Diffs of the changes:

Index: llvm/lib/Target/Sparc/SparcInstr.def
diff -u llvm/lib/Target/Sparc/SparcInstr.def:1.10 llvm/lib/Target/Sparc/SparcInstr.def:1.11
--- llvm/lib/Target/Sparc/SparcInstr.def:1.10	Mon Jul  8 18:25:17 2002
+++ llvm/lib/Target/Sparc/SparcInstr.def	Sat Sep 28 12:00:15 2002
@@ -426,11 +426,12 @@
 I(STFSR,  "st",         3, -1, B12, true , 0, 0,  SPARC_ST,  M_FLOAT_FLAG | M_STORE_FLAG)
 I(STXFSR, "stx",	3, -1, B12, true , 0, 0,  SPARC_ST,  M_FLOAT_FLAG | M_STORE_FLAG)
 
-// Call, Return and "Jump and link".
+// Call, Return and "Jump and link".  Operand (2) for JMPL is marked as
+// a "result" because JMPL stores the return address for the call in it.
 // Latency includes the delay slot.
 I(CALL  , "call",	1, -1, B29, true , 1, 2,  SPARC_CTI,  M_BRANCH_FLAG | M_CALL_FLAG)
-I(JMPLCALL, "jmpl",	3, -1, B12, true , 1, 2,  SPARC_CTI,  M_BRANCH_FLAG | M_CALL_FLAG )
-I(JMPLRET, "jmpl",	3, -1, B12, true , 1, 2,  SPARC_CTI,  M_BRANCH_FLAG | M_RET_FLAG)
+I(JMPLCALL, "jmpl",	3,  2, B12, true , 1, 2,  SPARC_CTI,  M_BRANCH_FLAG | M_CALL_FLAG )
+I(JMPLRET, "jmpl",	3,  2, B12, true , 1, 2,  SPARC_CTI,  M_BRANCH_FLAG | M_RET_FLAG)
 I(RETURN, "return",	2, -1,   0, false, 1, 2,  SPARC_CTI,  M_BRANCH_FLAG | M_RET_FLAG)
 
 // SAVE and restore instructions





More information about the llvm-commits mailing list