+2010-06-01 Jan Hubicka <jh@suse.cz>
+
+ * tree-cfg.c (verify_stmt): Do not skip could_throw test.
+ * passes.c (execute_function_todo): Do not make implicit verify_ssa.
+ (execute_all_ipa_transforms): Do not play with the states.
+
2010-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
* config/arm/t-linux-androideabi: New.
execute_function_todo (void *data)
{
unsigned int flags = (size_t)data;
- if (cfun->curr_properties & PROP_ssa)
- flags |= TODO_verify_ssa;
flags &= ~cfun->last_verified;
if (!flags)
return;
void
execute_all_ipa_transforms (void)
{
- enum cgraph_state old_state = cgraph_state;
struct cgraph_node *node;
if (!cfun)
return;
node = cgraph_node (current_function_decl);
- /* Statement verification skip verification of nothorw when
- state is IPA_SSA because we do not modify function bodies
- after setting the flag on function. Instead we leave it
- to fixup_cfg to do such a transformation. We need to temporarily
- change the cgraph state so statement verifier before
- transform do not fire. */
- cgraph_state = CGRAPH_STATE_IPA_SSA;
-
if (node->ipa_transforms_to_apply)
{
unsigned int i;
VEC_free (ipa_opt_pass, heap, node->ipa_transforms_to_apply);
node->ipa_transforms_to_apply = NULL;
}
- cgraph_state = old_state;
}
/* Execute PASS. */
{
if (!stmt_could_throw_p (stmt))
{
- /* During IPA passes, ipa-pure-const sets nothrow flags on calls
- and they are updated on statements only after fixup_cfg
- is executed at beggining of expansion stage. */
- if (cgraph_state != CGRAPH_STATE_IPA_SSA)
- {
- error ("statement marked for throw, but doesn%'t");
- goto fail;
- }
+ error ("statement marked for throw, but doesn%'t");
+ goto fail;
}
else if (lp_nr > 0 && !last_in_block && stmt_can_throw_internal (stmt))
{