summaryrefslogtreecommitdiffhomepage
path: root/ir/lower
diff options
context:
space:
mode:
authorChristoph Mallon <christoph.mallon@gmx.de>2016-10-09 16:02:01 +0200
committerChristoph Mallon <christoph.mallon@gmx.de>2016-10-09 16:15:26 +0200
commit6d85008cbfb40b8b215118cceb23049b29541261 (patch)
tree11abb16e8e91a89a56c27cbff384b7ec3cd50143 /ir/lower
parentf1bf8ef417256763a9f40edc44200b4ba6aecc25 (diff)
Assure dominance in lower_calls_with_compounds().
It currently uses dominance checks, though the use looks questionable. backend/lower_call4.c is the only test case which triggers this check. The check was added in bd1b1f0e0f1517ffe997eb103d1b41e4882f3d67. Though later in 5f4cf6e027fe4f96450ef5a3c5c5f834253a2264 another check was added, which would also handle this case for different reasons (target is not on the frame). So at least the test case needs to be updated validate the dominance check. Maybe the dominance check should be replaced by a dependence check.
Diffstat (limited to 'ir/lower')
-rw-r--r--ir/lower/lower_calls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ir/lower/lower_calls.c b/ir/lower/lower_calls.c
index fa47dda..fcad157 100644
--- a/ir/lower/lower_calls.c
+++ b/ir/lower/lower_calls.c
@@ -944,7 +944,7 @@ static void transform_irg(lowering_env_t const *const env, ir_graph *const irg)
if (n_param_com > 0 && !(env->flags & LF_DONT_LOWER_ARGUMENTS))
remove_compound_param_entities(irg);
- assure_irg_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_ENTITY_USAGE);
+ assure_irg_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_DOMINANCE | IR_GRAPH_PROPERTY_CONSISTENT_ENTITY_USAGE);
fix_calls(&walk_env);
ir_free_resources(irg, IR_RESOURCE_IRN_LINK);