Fix a problem where the PPC backend lost track of the fact that it had

to save and restore the LR register on entry and exit of a leaf function
that needed to access globals or the constant pool.  This should hopefully
fix oscar from sending the PPC tester spinning out of control.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20197 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2005-02-15 20:26:49 +00:00
parent 7a0c775044
commit 7a823bd01f

View File

@ -53,7 +53,9 @@ def ADJCALLSTACKDOWN : Pseudo<(ops), "; ADJCALLSTACKDOWN">;
def ADJCALLSTACKUP : Pseudo<(ops), "; ADJCALLSTACKUP">; def ADJCALLSTACKUP : Pseudo<(ops), "; ADJCALLSTACKUP">;
} }
def IMPLICIT_DEF : Pseudo<(ops), "; IMPLICIT_DEF">; def IMPLICIT_DEF : Pseudo<(ops), "; IMPLICIT_DEF">;
def MovePCtoLR : Pseudo<(ops piclabel:$label), "bl $label">;
let Defs = [LR] in
def MovePCtoLR : Pseudo<(ops piclabel:$label), "bl $label">;
let isBranch = 1, isTerminator = 1 in { let isBranch = 1, isTerminator = 1 in {
def COND_BRANCH : Pseudo<(ops), "; COND_BRANCH">; def COND_BRANCH : Pseudo<(ops), "; COND_BRANCH">;