diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2013-01-22 14:53:50 -0800 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2013-01-22 21:36:40 -0800 |
commit | 7f9f4477cbebb22723af8c0fac55aefc1228e02c (patch) | |
tree | fab0a353af6415f7b6ccdaecd35d0db4ad4eeae8 /gcc-4.7/gcc/rtl.h | |
parent | 4a0927423d51f594b870e58b3eb51574327f8b0e (diff) | |
download | toolchain_gcc-7f9f4477cbebb22723af8c0fac55aefc1228e02c.tar.gz toolchain_gcc-7f9f4477cbebb22723af8c0fac55aefc1228e02c.tar.bz2 toolchain_gcc-7f9f4477cbebb22723af8c0fac55aefc1228e02c.zip |
Fix x86 GCC4.7 segfault in i386.c distance_non_agu_define_in_bb()
line #16514 "if (prev == BB_HEAD(bb))" causes segfault due to bb==NULL
when compiling external/llvm/lib/Transforms/Scalar/SROA.cpp
BUG: 8047767
------------------------------------------------------------------
r186451 | vries | 2012-04-14 05:17:41 -0700 (Sat, 14 Apr 2012) | 13 lines
2012-04-14 Tom de Vries <tom@codesourcery.com>
* cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by
call to delete_insn. Remove code to reorder BASIC_BLOCK note and
DELETED_LABEL note, and move it to ...
* cfgrtl.c (delete_insn): ... here. Change return type to void.
(delete_insn_and_edges): Likewise.
(delete_insn_chain): Handle new return type of delete_insn. Delete
chain backwards rather than forwards.
* rtl.h (delete_insn, delete_insn_and_edges): Change return type to
void.
* cfglayout.c (fixup_reorder_chain): Delete unused label.
Change-Id: Ibc069a4267d063586003d49a805fb794f4041465
Diffstat (limited to 'gcc-4.7/gcc/rtl.h')
-rw-r--r-- | gcc-4.7/gcc/rtl.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc-4.7/gcc/rtl.h b/gcc-4.7/gcc/rtl.h index b1b681be5..5b43e05d4 100644 --- a/gcc-4.7/gcc/rtl.h +++ b/gcc-4.7/gcc/rtl.h @@ -2447,12 +2447,12 @@ extern void add_insn_before (rtx, rtx, struct basic_block_def *); extern void add_insn_after (rtx, rtx, struct basic_block_def *); extern void remove_insn (rtx); extern rtx emit (rtx); -extern rtx delete_insn (rtx); +extern void delete_insn (rtx); extern rtx entry_of_function (void); extern void emit_insn_at_entry (rtx); extern void delete_insn_chain (rtx, rtx, bool); extern rtx unlink_insn_chain (rtx, rtx); -extern rtx delete_insn_and_edges (rtx); +extern void delete_insn_and_edges (rtx); extern rtx gen_lowpart_SUBREG (enum machine_mode, rtx); extern rtx gen_const_mem (enum machine_mode, rtx); extern rtx gen_frame_mem (enum machine_mode, rtx); |