Commit 4ab80063 by Roger Sayle Committed by Roger Sayle

cfgrtl.c (rtl_delete_block): A basic block may be followed by more than one barrier...


	* cfgrtl.c (rtl_delete_block): A basic block may be followed by
	more than one barrier, in which case we should delete them all.

From-SVN: r92996
parent 12d3e34b
2005-01-06 Roger Sayle <roger@eyesopen.com>
* cfgrtl.c (rtl_delete_block): A basic block may be followed by
more than one barrier, in which case we should delete them all.
2005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> 2005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
* gcc.c (process_command): Change year in 'gcc --version' to 2005. * gcc.c (process_command): Change year in 'gcc --version' to 2005.
......
/* Control flow graph manipulation code for GNU compiler. /* Control flow graph manipulation code for GNU compiler.
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -379,10 +379,13 @@ rtl_delete_block (basic_block b) ...@@ -379,10 +379,13 @@ rtl_delete_block (basic_block b)
if (tablejump_p (end, NULL, &tmp)) if (tablejump_p (end, NULL, &tmp))
end = tmp; end = tmp;
/* Include any barrier that may follow the basic block. */ /* Include any barriers that may follow the basic block. */
tmp = next_nonnote_insn (end); tmp = next_nonnote_insn (end);
if (tmp && BARRIER_P (tmp)) while (tmp && BARRIER_P (tmp))
end = tmp; {
end = tmp;
tmp = next_nonnote_insn (end);
}
/* Selectively delete the entire chain. */ /* Selectively delete the entire chain. */
BB_HEAD (b) = NULL; BB_HEAD (b) = NULL;
......
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