path: root/ir/common
diff options
authorMatthias Braun <>2014-09-25 12:19:39 +0200
committerMatthias Braun <>2014-09-25 14:57:54 +0200
commit0a4ee3b2288f959162cf0477629775cfaf7a8a27 (patch)
treee6bb1a3d1cf5d53e4392f5337261c06c8b14297d /ir/common
parentd5d91740fceb833771a9f7777e5d9364c376b173 (diff)
The start block is not special anymore
The start block is not special block without any "real" instructions anymore. In particular this means: - There is no X_initial_exec Proj from the Start node anymore, "normal" cfopts are used for jumping out of the start block. - The backend never had the special convention of the start block not containing actual code and used to fixup this discrpancy, no more fixup code needed now. - The part_block() code got a bit more complicated because splitting the start block is tricky (previously part_block() simply failed in this case but was never used in the Start block because of its special convention)
Diffstat (limited to 'ir/common')
1 files changed, 1 insertions, 3 deletions
diff --git a/ir/common/irtools.c b/ir/common/irtools.c
index 677385b..85faf53 100644
--- a/ir/common/irtools.c
+++ b/ir/common/irtools.c
@@ -76,9 +76,7 @@ void copy_irn_to_irg(ir_node *n, ir_graph *irg)
case iro_Proj: {
ir_graph *old_irg = get_irn_irg(n);
- if (n == get_irg_initial_exec(old_irg))
- nn = get_irg_initial_exec(irg);
- else if (n == get_irg_frame(old_irg))
+ if (n == get_irg_frame(old_irg))
nn = get_irg_frame(irg);
else if (n == get_irg_initial_mem(old_irg))
nn = get_irg_initial_mem(irg);