Mark IMPLICIT_DEF as being rematerializable and cheap-as-a-move.
It's already special-cased and treated as rematerializable within
LiveIntervals; this allows it to be handled by other passes
such as TwoAddressInstrctionPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55999 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Target.td b/lib/Target/Target.td
index 8cc348d..e07529d 100644
--- a/lib/Target/Target.td
+++ b/lib/Target/Target.td
@@ -390,6 +390,8 @@
let AsmString = "";
let Namespace = "TargetInstrInfo";
let neverHasSideEffects = 1;
+ let isReMaterializable = 1;
+ let isAsCheapAsAMove = 1;
}
def SUBREG_TO_REG : Instruction {
let OutOperandList = (ops unknown:$dst);