From 7a823bd01fafa9393c6aa1e8ded163b9fd8266be Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 15 Feb 2005 20:26:49 +0000 Subject: [PATCH] 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 --- lib/Target/PowerPC/PPCInstrInfo.td | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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">;