summaryrefslogtreecommitdiff
path: root/gcc/cfglayout.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2011-03-24 16:44:17 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2011-03-24 16:44:17 +0000
commit4392e9068342c7c15ad3367f39431f8393c6442e (patch)
tree5c77c1979d07ecb5e2c5b708bf2756a6c827b543 /gcc/cfglayout.c
parentce482fbb9f2c92a4e228c1d4970fb336167afb41 (diff)
downloadgcc-4392e9068342c7c15ad3367f39431f8393c6442e.tar.gz
* tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
unused variable "ann". (remove_unused_locals): Likewise. * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless statement. * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL after it is freed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171408 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfglayout.c')
-rw-r--r--gcc/cfglayout.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c
index 76925a519f2..05aed221f0b 100644
--- a/gcc/cfglayout.c
+++ b/gcc/cfglayout.c
@@ -766,7 +766,7 @@ fixup_reorder_chain (void)
{
edge e_fall, e_taken, e;
rtx bb_end_insn;
- basic_block nb;
+ basic_block nb, src_bb;
edge_iterator ei;
if (EDGE_COUNT (bb->succs) == 0)
@@ -894,7 +894,10 @@ fixup_reorder_chain (void)
continue;
}
- /* We got here if we need to add a new jump insn. */
+ /* We got here if we need to add a new jump insn.
+ Note force_nonfallthru can delete E_FALL and thus we have to
+ save E_FALL->src prior to the call to force_nonfallthru. */
+ src_bb = e_fall->src;
nb = force_nonfallthru (e_fall);
if (nb)
{
@@ -905,9 +908,9 @@ fixup_reorder_chain (void)
bb = nb;
/* Make sure new bb is tagged for correct section (same as
- fall-thru source, since you cannot fall-throu across
+ fall-thru source, since you cannot fall-thru across
section boundaries). */
- BB_COPY_PARTITION (e_fall->src, single_pred (bb));
+ BB_COPY_PARTITION (src_bb, single_pred (bb));
if (flag_reorder_blocks_and_partition
&& targetm.have_named_sections
&& JUMP_P (BB_END (bb))