This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: asm goto vs simulate_block
- From: Richard Henderson <rth at redhat dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, law at redhat dot com, gcc-patches at gcc dot gnu dot org
- Date: Tue, 01 Sep 2009 07:59:34 -0700
- Subject: Re: asm goto vs simulate_block
- References: <4A96C126.7080204@twiddle.net> <4aca3dc20908272004g7496f82co441e61295e995166@mail.gmail.com> <4A9C659A.4000406@redhat.com>
On 08/31/2009 05:06 PM, Richard Henderson wrote:
The following patch appears to work for both. I'll commit
it after a bootstrap and test cycle completes.
Committed with one additional change, to prevent VRP
from crashing.
r~
(vrp_visit_stmt): Be prepared for non-interesting stmts.
@@ -6087,7 +6090,9 @@ vrp_visit_stmt (gimple stmt, edge *taken_edge_p,
tree *output_p)
fprintf (dump_file, "\n");
}
- if (is_gimple_assign (stmt) || is_gimple_call (stmt))
+ if (!stmt_interesting_for_vrp (stmt))
+ gcc_assert (stmt_ends_bb_p (stmt));
+ else if (is_gimple_assign (stmt) || is_gimple_call (stmt))
{
/* In general, assignments with virtual operands are not useful
for deriving ranges, with the obvious exception of calls to