PR debug/29609 PR debug/36690 PR debug/37616 * basic-block.h (struct edge_def): Add goto_block field. * cfglayout.c (fixup_reorder_chain): Ensure that there is at least one insn with locus corresponding to edge's goto_locus if !optimize. * profile.c (branch_prob): Copy edge's goto_block. * cfgrtl.c (force_nonfallthru_and_redirect): Use goto_locus for emitted jumps. (cfg_layout_merge_blocks): Emit a nop with edge's goto_locus locator in between the merged basic blocks if !optimize and needed. * cfgexpand.c (expand_gimple_cond): Convert goto_block and goto_locus into RTL locator. For unconditional jump use that locator for the jump insn. (expand_gimple_cond): Convert goto_block and goto_locus into RTL locator for all remaining edges. For unconditional jump use that locator for the jump insn. * cfgcleanup.c (try_forward_edges): Avoid the optimization if there is more than one edge or insn locator along the forwarding edges and !optimize. If there is just one, set e->goto_locus. * tree-cfg.c (make_cond_expr_edges, make_goto_expr_edges): Set also edge's goto_block. (move_block_to_fn): Adjust edge's goto_block. * gcc.dg/debug/pr29609-1.c: New test. * gcc.dg/debug/pr29609-2.c: New test. * gcc.dg/debug/pr36690-1.c: New test. * gcc.dg/debug/pr36690-2.c: New test. * gcc.dg/debug/pr36690-3.c: New test. * gcc.dg/debug/pr37616.c: New test. * gcc.dg/debug/dwarf2/pr29609-1.c: New test. * gcc.dg/debug/dwarf2/pr29609-2.c: New test. * gcc.dg/debug/dwarf2/pr36690-1.c: New test. * gcc.dg/debug/dwarf2/pr36690-2.c: New test. * gcc.dg/debug/dwarf2/pr36690-3.c: New test. * gcc.dg/debug/dwarf2/pr37616.c: New test. From-SVN: r140948
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| dwarf2 | Loading commit data... | |
| 20000503-1.c | Loading commit data... | |
| 20010207-1.c | Loading commit data... | |
| 20011223-1.c | Loading commit data... | |
| 20020104-2.c | Loading commit data... | |
| 20020220-1.c | Loading commit data... | |
| 20020224-1.c | Loading commit data... | |
| 20020327-1.c | Loading commit data... | |
| 20030605-1.c | Loading commit data... | |
| 20031231-1.c | Loading commit data... | |
| 20041023-1.c | Loading commit data... | |
| 20041219-1.c | Loading commit data... | |
| 20050907-1.c | Loading commit data... | |
| const-1.c | Loading commit data... | |
| const-2.c | Loading commit data... | |
| const-3.c | Loading commit data... | |
| crash1.c | Loading commit data... | |
| debug-1.c | Loading commit data... | |
| debug-2.c | Loading commit data... | |
| debug-3.c | Loading commit data... | |
| debug-4.c | Loading commit data... | |
| debug-5.c | Loading commit data... | |
| debug-6.c | Loading commit data... | |
| debug-7.c | Loading commit data... | |
| debug.exp | Loading commit data... | |
| dwarf2-1.c | Loading commit data... | |
| dwarf2-2.c | Loading commit data... | |
| dwarf2-3.c | Loading commit data... | |
| dwarf2-3.h | Loading commit data... | |
| enum-1.c | Loading commit data... | |
| pr16676.c | Loading commit data... | |
| pr26881.c | Loading commit data... | |
| pr29558.c | Loading commit data... | |
| pr29609-1.c | Loading commit data... | |
| pr29609-2.c | Loading commit data... | |
| pr32610.c | Loading commit data... | |
| pr33316.c | Loading commit data... | |
| pr35154.c | Loading commit data... | |
| pr36690-1.c | Loading commit data... | |
| pr36690-2.c | Loading commit data... | |
| pr36690-3.c | Loading commit data... | |
| pr37616.c | Loading commit data... | |
| redecl-1.c | Loading commit data... | |
| redecl-2.c | Loading commit data... | |
| redecl-3.c | Loading commit data... | |
| redecl-4.c | Loading commit data... | |
| redecl-5.c | Loading commit data... | |
| trivial.c | Loading commit data... |