summaryrefslogtreecommitdiffhomepage
path: root/ir/be/mips
diff options
context:
space:
mode:
authorChristoph Mallon <christoph.mallon@gmx.de>2018-04-23 13:51:36 +0200
committerChristoph Mallon <christoph.mallon@gmx.de>2018-05-18 21:46:10 +0200
commita6d7eb8749303f63ebf72a699cb4a42a663b49e6 (patch)
tree8beca238a0a2ec27b5539bb802ca14b35867b723 /ir/be/mips
parent8fed270ae91da7caec19c92d2ccc90bbb5d668e0 (diff)
mips: Handle 2-address code.
This currently can only happen with inline assembler. This fixes backend/asm_matching.constraint.c.
Diffstat (limited to 'ir/be/mips')
-rw-r--r--ir/be/mips/mips_bearch.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ir/be/mips/mips_bearch.c b/ir/be/mips/mips_bearch.c
index c41c1ed..dfe3f42 100644
--- a/ir/be/mips/mips_bearch.c
+++ b/ir/be/mips/mips_bearch.c
@@ -5,6 +5,7 @@
#include "mips_bearch_t.h"
+#include "be2addr.h"
#include "be_t.h"
#include "beirg.h"
#include "bemodule.h"
@@ -254,6 +255,8 @@ static void mips_generate_code(FILE *const output, char const *const cup_name)
birg->non_ssa_regs = NULL;
be_sim_stack_pointer(irg, 0, 3, &mips_sp_sim);
+ be_handle_2addr(irg, NULL);
+
mips_emit_function(irg);
be_step_last(irg);
}