summaryrefslogtreecommitdiffhomepage
path: root/ir/be/mips
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2017-02-20 05:10:21 +0100
committerMatthias Braun <matze@braunis.de>2017-02-20 05:10:23 +0100
commit0f8056e00a462a6bd1223ea391335da2fe07145c (patch)
tree182915b0dbf5f31a82744d888fde1f55504ed289 /ir/be/mips
parent1ffc842f8bb13ed098eeaf2382ba473f9e154466 (diff)
mips, arm: Disable all if conversion again
The previous commit would enable if conversion that do not produce Mux nodes by default for all targets. Seems the mips, arm target cannot handle all resulting nodes yet (Shifts != wordsize for example), so go back to no if conversion.
Diffstat (limited to 'ir/be/mips')
-rw-r--r--ir/be/mips/mips_bearch.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ir/be/mips/mips_bearch.c b/ir/be/mips/mips_bearch.c
index e6a1b54..978f4b0 100644
--- a/ir/be/mips/mips_bearch.c
+++ b/ir/be/mips/mips_bearch.c
@@ -50,6 +50,15 @@ static void mips_init_asm_constraints(void)
be_set_constraint_support(ASM_CONSTRAINT_FLAG_SUPPORTS_IMMEDIATE, "IJKLMNOPin");
}
+static int mips_ifconv(ir_node const *const sel, ir_node const *const mux_false,
+ ir_node const *mux_true)
+{
+ (void)sel;
+ (void)mux_false;
+ (void)mux_true;
+ return false;
+}
+
static void mips_init(void)
{
mips_init_asm_constraints();
@@ -58,6 +67,7 @@ static void mips_init(void)
ir_target.experimental
= "the MIPS backend is highly experimental and unfinished";
+ ir_target.allow_ifconv = mips_ifconv;
ir_target.float_int_overflow = ir_overflow_indefinite;
}