mode-switching.c (create_pre_exit): Don't search past calls.

gcc/
	* mode-switching.c (create_pre_exit): Don't search past calls.

From-SVN: r127092
This commit is contained in:
Richard Sandiford 2007-07-31 15:01:37 +00:00 committed by Richard Sandiford
parent 58d4783b08
commit 2bde7ae91a
2 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2007-07-31 Richard Sandiford <richard@codesourcery.com>
* mode-switching.c (create_pre_exit): Don't search past calls.
2007-07-31 Sandra Loosemore <sandra@codesourcery.com>
* config/mips/mips.h (ISA_HAS_SYNCI): Add !TARGET_MIPS16 test.

View File

@ -245,6 +245,17 @@ create_pre_exit (int n_entities, int *entity_map, const int *num_modes)
if (INSN_P (return_copy))
{
/* When using SJLJ exceptions, the call to the
unregister function is inserted between the
clobber of the return value and the copy.
We do not want to split the block before this
or any other call; if we have not found the
copy yet, the copy must have been deleted. */
if (CALL_P (return_copy))
{
short_block = 1;
break;
}
return_copy_pat = PATTERN (return_copy);
switch (GET_CODE (return_copy_pat))
{