From: Chris Lattner Date: Tue, 15 Feb 2005 20:26:49 +0000 (+0000) Subject: Fix a problem where the PPC backend lost track of the fact that it had X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=7a823bd01fafa9393c6aa1e8ded163b9fd8266be;p=oota-llvm.git 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 --- diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td index e134696f758..4a1afed93d1 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.td +++ b/lib/Target/PowerPC/PPCInstrInfo.td @@ -53,7 +53,9 @@ def ADJCALLSTACKDOWN : Pseudo<(ops), "; ADJCALLSTACKDOWN">; def ADJCALLSTACKUP : Pseudo<(ops), "; ADJCALLSTACKUP">; } 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 { def COND_BRANCH : Pseudo<(ops), "; COND_BRANCH">;