ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that parameter is SSA name.

* ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that
	parameter is SSA name.

From-SVN: r178524
This commit is contained in:
Jan Hubicka 2011-09-05 09:39:36 +02:00 committed by Jan Hubicka
parent 5b970a1aaf
commit c5ceeb8763
4 changed files with 25 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2011-09-04 Jan Hubicka <jh@suse.cz>
* ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that
parameter is SSA name.
2011-09-04 Richard Guenther <rguenther@suse.de>
Revert

View File

@ -1187,6 +1187,8 @@ set_cond_stmt_execution_predicate (struct ipa_node_params *info,
|| gimple_call_num_args (set_stmt) != 1)
return;
op2 = gimple_call_arg (set_stmt, 0);
if (TREE_CODE (op2) != SSA_NAME)
return;
if (!SSA_NAME_IS_DEFAULT_DEF (op2))
return;
index = ipa_get_param_decl_index (info, SSA_NAME_VAR (op2));

View File

@ -1,3 +1,7 @@
2011-09-04 Jan Hubicka <jh@suse.cz>
* gcc.c-torture/compile/20110902.c: new testcase.
2011-09-04 Jason Merrill <jason@redhat.com>
PR c++/49267

View File

@ -0,0 +1,14 @@
static inline __attribute__((always_inline)) int f (unsigned int n, unsigned int size)
{
return (__builtin_constant_p (size != 0 && n > ~0 / size)
? !!(size != 0 && n > ~0 / size)
: ({ static unsigned int count[2] = { 0, 0 };
int r = !!(size != 0 && n > ~0 / size);
count[r]++;
r; }));
}
int g (unsigned int size)
{
return f (size / 4096, 4);
}