From 0ad37f13fcd28fc47386fdab4a2f7731aea9dfcc Mon Sep 17 00:00:00 2001 From: Peter Waegemann <waegemann@cs.fau.de> Date: Fri, 15 Jul 2016 23:56:17 +0200 Subject: [PATCH] ARM: workaround to lower thumb pseudo loopbound instructions --- lib/Target/ARM/ARMInstrThumb.td | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/Target/ARM/ARMInstrThumb.td b/lib/Target/ARM/ARMInstrThumb.td index 73951854a1f..29b20b9446b 100644 --- a/lib/Target/ARM/ARMInstrThumb.td +++ b/lib/Target/ARM/ARMInstrThumb.td @@ -272,6 +272,20 @@ def tADJCALLSTACKDOWN : //def PSEUDO_LOOPBOUND : PseudoInst<(outs), (ins i32imm:$minv, i32imm:$maxv), // "#PSEUDO_LOOPBOUND", "[$minv,$maxv]", // [(loopbound (i32 imm:$minv), (i32 imm:$maxv))]>; +// [(loopbound (i32 imm:$minv), (i32 imm:$maxv))]>; +// +// thumb pseudo instructions: tPseudoInst +//def PSEUDO_LOOPBOUND : tPseudoInst<(outs), (ins i32imm:$minv, i32imm:$maxv), +// "#PSEUDO_LOOPBOUND", "[$minv,$maxv]"> +// [(loopbound (i32 imm:$minv), (i32 imm:$maxv))]>; + +// let isReMaterializable = 1 in +def PSEUDO_LOOPBOUND : PseudoInst<(outs), (ins i32imm:$minv, i32imm:$maxv), + NoItinerary, + [(loopbound (i32 imm:$minv), (i32 imm:$maxv))]>, + Requires<[IsThumb, IsThumb1Only]>; + + class T1SystemEncoding<bits<8> opc> : T1Encoding<0b101111> { -- GitLab