summaryrefslogtreecommitdiff
path: root/gcc/mode-switching.c
diff options
context:
space:
mode:
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-10 05:04:10 +0000
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-10 05:04:10 +0000
commit8801c4fdcbc1efc7e59803e5fc9157c30f2fea5b (patch)
treecdc343994eacf3399fee991dcb55b715d9654571 /gcc/mode-switching.c
parentf1888d9b3d69c19c53ea18d584b2da3711b0b895 (diff)
downloadgcc-8801c4fdcbc1efc7e59803e5fc9157c30f2fea5b.tar.gz
* 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
Diffstat (limited to 'gcc/mode-switching.c')
-rw-r--r--gcc/mode-switching.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index 407ae76a8c6..8e9bde302a3 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. */