summaryrefslogtreecommitdiffhomepage
path: root/ir/opt
diff options
context:
space:
mode:
authorElias Aebi <elias.aebi@student.kit.edu>2018-04-03 21:20:19 +0200
committerJohannes Bucher <johannes.bucher2@student.kit.edu>2019-01-24 17:42:00 +0100
commita523759c1bdb5e9e49720576aa3908487b3a5f6c (patch)
treebe4abdff6a015e5046e35fac91efe4c4500ee466 /ir/opt
parentc266a9ee2a94a86c90f8a885be5a19712e077ac9 (diff)
LCSSA: add phi nodes for mode_M predecessors
Diffstat (limited to 'ir/opt')
-rw-r--r--ir/opt/lcssa.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ir/opt/lcssa.c b/ir/opt/lcssa.c
index 0a59a6d..c213285 100644
--- a/ir/opt/lcssa.c
+++ b/ir/opt/lcssa.c
@@ -38,7 +38,8 @@ static ir_node *insert_phi(ir_node *const node, int const n, ir_node *const bloc
static void insert_phis_for_edge(ir_node *node, int n)
{
ir_node *const pred = get_irn_n(node, n);
- if (!mode_is_data(get_irn_mode(pred)))
+ ir_mode *const mode = get_irn_mode(pred);
+ if (!(mode_is_data(mode) || mode == mode_M))
return;
ir_node *const pred_block = get_nodes_block(pred);
if (!is_inside_loop(pred_block))