From: kkojima Date: Sat, 10 Mar 2007 05:04:10 +0000 (+0000) Subject: * mode-switching.c (create_pre_exit): Skip blockage insn. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8801c4fdcbc1efc7e59803e5fc9157c30f2fea5b;p=thirdparty%2Fgcc.git * mode-switching.c (create_pre_exit): Skip blockage insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122791 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cbe3d08abee3..ee77d386d48d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2007-03-10 Kaz Kojima + + * mode-switching.c (create_pre_exit): Skip blockage insn. + 2007-03-09 Diego Novillo * tree-pass.h (TODO_update_smt_usage): Remove. diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c index 407ae76a8c6b..8e9bde302a3f 100644 --- a/gcc/mode-switching.c +++ b/gcc/mode-switching.c @@ -259,6 +259,12 @@ create_pre_exit (int n_entities, int *entity_map, const int *num_modes) last_insn = return_copy; continue; } + if (GET_CODE (PATTERN (return_copy)) == ASM_INPUT + && strcmp (XSTR (PATTERN (return_copy), 0), "") == 0) + { + last_insn = return_copy; + continue; + } /* If the return register is not (in its entirety) likely spilled, the return copy might be partially or completely optimized away. */