aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-07-07 12:06:57 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-07-07 12:06:57 +0000
commit523968bfbb7ea90fd33b50cef7df0bf8732385b0 (patch)
treec58a9f0704189719510e62faa499e804da793b0b /gcc/tree-cfg.c
parentb0d9e66374cae4f996a4a2f8f2a58b9f70819ad1 (diff)
downloadgcc-523968bfbb7ea90fd33b50cef7df0bf8732385b0.zip
gcc-523968bfbb7ea90fd33b50cef7df0bf8732385b0.tar.gz
gcc-523968bfbb7ea90fd33b50cef7df0bf8732385b0.tar.bz2
tree-ssa-propagate.h (valid_gimple_call_p): Remove.
2010-07-07 Richard Guenther <rguenther@suse.de> * tree-ssa-propagate.h (valid_gimple_call_p): Remove. * tree-ssa-propagate.c (valid_gimple_call_p): Make static. Fix. * gimple.h (is_gimple_operand): Remove. * gimple.c (is_gimple_operand): Likewise. (walk_gimple_op): Fix wi->val_only setting for calls. * tree-cfg.c (verify_gimple_call): Fix argument validation. * tree-profile.c (tree_gen_ic_func_profiler): Do not create invalid gimple calls. From-SVN: r161905
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 87603e7..e55a60b 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -3114,7 +3114,10 @@ verify_gimple_call (gimple stmt)
for (i = 0; i < gimple_call_num_args (stmt); ++i)
{
tree arg = gimple_call_arg (stmt, i);
- if (!is_gimple_operand (arg))
+ if ((is_gimple_reg_type (TREE_TYPE (arg))
+ && !is_gimple_val (arg))
+ || (!is_gimple_reg_type (TREE_TYPE (arg))
+ && !is_gimple_lvalue (arg)))
{
error ("invalid argument to gimple call");
debug_generic_expr (arg);