diff options
| author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-09-28 17:00:15 +0000 |
|---|---|---|
| committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-09-28 17:00:15 +0000 |
| commit | d76d82b40f39f4fa42eff833c5467d7057c66a7e (patch) | |
| tree | ff8ff2ff5c20bb0ace92e45620f6309fc6567574 /llvm/lib | |
| parent | 6d1036d41b106c214699527bdeee6dc185a6ef39 (diff) | |
| download | bcm5719-llvm-d76d82b40f39f4fa42eff833c5467d7057c66a7e.tar.gz bcm5719-llvm-d76d82b40f39f4fa42eff833c5467d7057c66a7e.zip | |
Return address register should be marked as "result" for the JMPL instruction
since it is defined by the instruction.
llvm-svn: 3966
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/Sparc/SparcInstr.def | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Target/Sparc/SparcInstr.def b/llvm/lib/Target/Sparc/SparcInstr.def index 50afe2205d9..486a5ccbc86 100644 --- a/llvm/lib/Target/Sparc/SparcInstr.def +++ b/llvm/lib/Target/Sparc/SparcInstr.def @@ -426,11 +426,12 @@ I(STD, "std", 3, -1, B12, true , 0, 0, SPARC_ST, M_FLOAT_FLAG | M_STORE_FLA 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 |

