diff options
author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-01 17:40:27 +0000 |
---|---|---|
committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-01 17:40:27 +0000 |
commit | 79d8d9318ee32a9284d962a811a750b921b37d5c (patch) | |
tree | 470417dd6bd6addf2579deae3622a95381f34f10 /gcc/ifcvt.c | |
parent | 0a9bd7c9a2b290041592a1b057a16f25d6c6519f (diff) | |
download | gcc-79d8d9318ee32a9284d962a811a750b921b37d5c.tar.gz |
* ifcvt.c (cond_exec_process_insns): Disallow converting a block
that contains the prologue.
* gcc.c-torture/compile/20110401-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171840 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ifcvt.c')
-rw-r--r-- | gcc/ifcvt.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index eee5cc724e9..3e2679923d4 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -1,5 +1,6 @@ /* If-conversion support. - Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 + Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, + 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -304,6 +305,10 @@ cond_exec_process_insns (ce_if_block_t *ce_info ATTRIBUTE_UNUSED, for (insn = start; ; insn = NEXT_INSN (insn)) { + /* dwarf2out can't cope with conditional prologues. */ + if (NOTE_P (insn) && NOTE_KIND (insn) == NOTE_INSN_PROLOGUE_END) + return FALSE; + if (NOTE_P (insn) || DEBUG_INSN_P (insn)) goto insn_done; |