summaryrefslogtreecommitdiffhomepage
path: root/ir/be/mips
diff options
context:
space:
mode:
authorChristoph Mallon <christoph.mallon@gmx.de>2017-01-24 08:39:30 +0100
committerChristoph Mallon <christoph.mallon@gmx.de>2017-01-24 08:42:33 +0100
commit7b4aaef44d80896639aa15fbe083fac9b0f92cd8 (patch)
tree7be55887ed2e7b1b45b159f782bfe65dacf0d195 /ir/be/mips
parent6b3f456393a7e723baa24ffb531241898095f872 (diff)
mips: Perform builtin lowering.
Diffstat (limited to 'ir/be/mips')
-rw-r--r--ir/be/mips/mips_bearch.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ir/be/mips/mips_bearch.c b/ir/be/mips/mips_bearch.c
index 086952a..5aaff03 100644
--- a/ir/be/mips/mips_bearch.c
+++ b/ir/be/mips/mips_bearch.c
@@ -17,12 +17,14 @@
#include "iredges.h"
#include "irgwalk.h"
#include "irprog_t.h"
+#include "lower_builtins.h"
#include "lower_calls.h"
#include "lowering.h"
#include "mips_bearch_t.h"
#include "mips_emitter.h"
#include "mips_lower64.h"
#include "mips_transform.h"
+#include "util.h"
static int mips_is_mux_allowed(ir_node *const sel, ir_node *const mux_false, ir_node *const mux_true)
{
@@ -280,6 +282,11 @@ static void mips_lower_for_target(void)
be_after_transform(irg, "lower-copyb");
}
+ ir_builtin_kind const supported[] = {
+ ir_bk_saturating_increment,
+ };
+ lower_builtins(ARRAY_SIZE(supported), supported);
+
ir_mode *const mode_gp = mips_reg_classes[CLASS_mips_gp].mode;
foreach_irp_irg(i, irg) {
lower_switch(irg, 4, 256, mode_gp);