aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Alpha/AlphaInstrInfo.td
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-12-12 23:12:09 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-12-12 23:12:09 +0000
commit6e141fd04897e5eb4925bb6351297170ebd8a756 (patch)
tree67154492dd48eec8a801c213a8e7c9bceaf0488a /lib/Target/Alpha/AlphaInstrInfo.td
parent67f1c493d105fdfb8ffa980ff82ff7d9e3fafefc (diff)
downloadexternal_llvm-6e141fd04897e5eb4925bb6351297170ebd8a756.zip
external_llvm-6e141fd04897e5eb4925bb6351297170ebd8a756.tar.gz
external_llvm-6e141fd04897e5eb4925bb6351297170ebd8a756.tar.bz2
Implicit def instructions, e.g. X86::IMPLICIT_DEF_GR32, are always re-materializable and they should not be spilled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44960 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Alpha/AlphaInstrInfo.td')
-rw-r--r--lib/Target/Alpha/AlphaInstrInfo.td2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/Alpha/AlphaInstrInfo.td b/lib/Target/Alpha/AlphaInstrInfo.td
index da24e70..14a9849 100644
--- a/lib/Target/Alpha/AlphaInstrInfo.td
+++ b/lib/Target/Alpha/AlphaInstrInfo.td
@@ -141,12 +141,14 @@ class CmpOpFrag<dag res> : PatFrag<(ops node:$R), res>;
//Pseudo ops for selection
+let isImplicitDef = 1 in {
def IDEF_I : PseudoInstAlpha<(outs GPRC:$RA), (ins), ";#idef $RA",
[(set GPRC:$RA, (undef))], s_pseudo>;
def IDEF_F32 : PseudoInstAlpha<(outs F4RC:$RA), (ins), ";#idef $RA",
[(set F4RC:$RA, (undef))], s_pseudo>;
def IDEF_F64 : PseudoInstAlpha<(outs F8RC:$RA), (ins), ";#idef $RA",
[(set F8RC:$RA, (undef))], s_pseudo>;
+}
def WTF : PseudoInstAlpha<(outs), (ins variable_ops), "#wtf", [], s_pseudo>;