Commit 3d5f877a by Kenneth Zadeck

flow.c (update_life_info, [...]): Fixed latent bug that could happen if…

flow.c (update_life_info, [...]): Fixed latent bug that could happen if update_life_info was called with a blocks...

2005-12-17  Kenneth Zadeck <zadeck@naturalbridge.com>

        * flow.c (update_life_info, count_or_remove_death_notes): Fixed
	latent bug that could happen if update_life_info was called with a
	blocks parameter and the call to cleanup_cfg actually deleted one
	of those blocks.

From-SVN: r108777
parent fd0bd278
2005-12-17 Danny Berlin <dberlin@dberlin.org>
Kenneth Zadeck <zadeck@naturalbridge.com>
* flow.c (update_life_info, count_or_remove_death_notes): Fixed
latent bug that could happen if update_life_info was called with a
blocks parameter and the call to cleanup_cfg actually deleted one
of those blocks.
2005-12-19 Zdenek Dvorak <dvorakz@suse.cz> 2005-12-19 Zdenek Dvorak <dvorakz@suse.cz>
* tree-ssa-structalias.c (update_alias_info): Remove handling * tree-ssa-structalias.c (update_alias_info): Remove handling
...@@ -988,7 +996,7 @@ ...@@ -988,7 +996,7 @@
* config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=gnu for * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=gnu for
apcs/atpcs. apcs/atpcs.
2005-12-11 Rafael vila de Espndola <rafael.espindola@gmail.com> 2005-12-11 Rafael vila de Espndola <rafael.espindola@gmail.com>
* tree-flow.h: Allow compilation with a C++ compiler. * tree-flow.h: Allow compilation with a C++ compiler.
(struct edge_prediction): Prefix all field names with "ep_". (struct edge_prediction): Prefix all field names with "ep_".
...@@ -1397,18 +1405,18 @@ ...@@ -1397,18 +1405,18 @@
* coretypes.h (section): Provide dummy definition for target files. * coretypes.h (section): Provide dummy definition for target files.
* config/darwin.h: Revert previous change. * config/darwin.h: Revert previous change.
2005-12-07 Rafael vila de Espndola <rafael.espindola@gmail.com> 2005-12-07 Rafael vila de Espndola <rafael.espindola@gmail.com>
* doc/sourcebuild.texi (all.build, install-normal): Remove. * doc/sourcebuild.texi (all.build, install-normal): Remove.
* configure.ac: Remove all.build and install-normal from target_list * configure.ac: Remove all.build and install-normal from target_list
* configure: Regenerate. * configure: Regenerate.
* Makefile.in (install): Don't depend on install-normal. * Makefile.in (install): Don't depend on install-normal.
2005-12-07 Rafael vila de Espndola <rafael.espindola@gmail.com> 2005-12-07 Rafael vila de Espndola <rafael.espindola@gmail.com>
* Makefile.in: Document the use of stamps. * Makefile.in: Document the use of stamps.
2005-12-07 Rafael vila de Espndola <rafael.espindola@gmail.com> 2005-12-07 Rafael vila de Espndola <rafael.espindola@gmail.com>
* doc/gty.texi: Remove instructions for adding a dependency on s-gtype. * doc/gty.texi: Remove instructions for adding a dependency on s-gtype.
* Makefile.in: Add code to compute some dependencies on s-gtype * Makefile.in: Add code to compute some dependencies on s-gtype
...@@ -10991,7 +10999,7 @@ ...@@ -10991,7 +10999,7 @@
* gcc.c (main): Compare language[0] with '*' when iterating over * gcc.c (main): Compare language[0] with '*' when iterating over
the infiles. the infiles.
2005-07-13 Adrian Strae½tling <straetling@de.ibm.com> 2005-07-13 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.c: (s390_cc_modes_compatible): Move before * config/s390/s390.c: (s390_cc_modes_compatible): Move before
"s390_emit_compare". Add handling of CCZ1mode. "s390_emit_compare". Add handling of CCZ1mode.
...@@ -11004,7 +11012,7 @@ ...@@ -11004,7 +11012,7 @@
Use CCZ1mode instead of CCZmode. Use CCZ1mode instead of CCZmode.
* config/s390/s390-modes.def: Add CCZ1mode. Comment new mode. * config/s390/s390-modes.def: Add CCZ1mode. Comment new mode.
2005-07-13 Adrian Strae½tling <straetling@de.ibm.com> 2005-07-13 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.md: ("cmpstrsi", "*cmpstr<mode>"): New * config/s390/s390.md: ("cmpstrsi", "*cmpstr<mode>"): New
pattern. pattern.
......
...@@ -658,12 +658,16 @@ update_life_info (sbitmap blocks, enum update_life_extent extent, ...@@ -658,12 +658,16 @@ update_life_info (sbitmap blocks, enum update_life_extent extent,
EXECUTE_IF_SET_IN_SBITMAP (blocks, 0, i, sbi) EXECUTE_IF_SET_IN_SBITMAP (blocks, 0, i, sbi)
{ {
bb = BASIC_BLOCK (i); bb = BASIC_BLOCK (i);
if (bb)
COPY_REG_SET (tmp, bb->il.rtl->global_live_at_end); {
propagate_block (bb, tmp, NULL, NULL, stabilized_prop_flags); /* The bitmap may be flawed in that one of the basic
blocks may have been deleted before you get here. */
if (extent == UPDATE_LIFE_LOCAL) COPY_REG_SET (tmp, bb->il.rtl->global_live_at_end);
verify_local_live_at_start (tmp, bb); propagate_block (bb, tmp, NULL, NULL, stabilized_prop_flags);
if (extent == UPDATE_LIFE_LOCAL)
verify_local_live_at_start (tmp, bb);
}
}; };
} }
else else
...@@ -4456,7 +4460,11 @@ count_or_remove_death_notes (sbitmap blocks, int kill) ...@@ -4456,7 +4460,11 @@ count_or_remove_death_notes (sbitmap blocks, int kill)
EXECUTE_IF_SET_IN_SBITMAP (blocks, 0, i, sbi) EXECUTE_IF_SET_IN_SBITMAP (blocks, 0, i, sbi)
{ {
count += count_or_remove_death_notes_bb (BASIC_BLOCK (i), kill); basic_block bb = BASIC_BLOCK (i);
/* The bitmap may be flawed in that one of the basic blocks
may have been deleted before you get here. */
if (bb)
count += count_or_remove_death_notes_bb (bb, kill);
}; };
} }
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment