aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2015-05-13 09:06:18 +0000
committerTom de Vries <vries@gcc.gnu.org>2015-05-13 09:06:18 +0000
commitfcd424cecbe8874404fc92520954ec806e7886fc (patch)
tree329af8074710a22884ff6b12ff17c6f07afbea73 /gcc/gimplify.c
parent7947dd0bdf9cfe2a704355b1e5d7c7f786c67b9b (diff)
downloadgcc-fcd424cecbe8874404fc92520954ec806e7886fc.zip
gcc-fcd424cecbe8874404fc92520954ec806e7886fc.tar.gz
gcc-fcd424cecbe8874404fc92520954ec806e7886fc.tar.bz2
Gimplify va_arg ap based on do_deref
2015-05-13 Tom de Vries <tom@codesourcery.com> PR tree-optimization/66010 * gimplify.h (gimplify_va_arg_internal): Remove declaration. * gimplify.c (gimplify_va_arg_internal): Remove and inline into ... * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval and rval based on do_deref. From-SVN: r223120
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c26
1 files changed, 0 insertions, 26 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 322d0ba..4846478 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -9302,32 +9302,6 @@ dummy_object (tree type)
return build2 (MEM_REF, type, t, t);
}
-/* Call the target expander for evaluating a va_arg call of VALIST
- and TYPE. */
-
-tree
-gimplify_va_arg_internal (tree valist, tree type, gimple_seq *pre_p,
- gimple_seq *post_p)
-{
- tree have_va_type = TREE_TYPE (valist);
- tree cano_type = targetm.canonical_va_list_type (have_va_type);
-
- if (cano_type != NULL_TREE)
- have_va_type = cano_type;
-
- /* Make it easier for the backends by protecting the valist argument
- from multiple evaluations. */
- if (TREE_CODE (have_va_type) == ARRAY_TYPE)
- {
- gcc_assert (TREE_CODE (TREE_TYPE (valist)) != ARRAY_TYPE);
- gimplify_expr (&valist, pre_p, post_p, is_gimple_val, fb_rvalue);
- }
- else
- gimplify_expr (&valist, pre_p, post_p, is_gimple_min_lval, fb_lvalue);
-
- return targetm.gimplify_va_arg_expr (valist, type, pre_p, post_p);
-}
-
/* Gimplify __builtin_va_arg, aka VA_ARG_EXPR, which is not really a
builtin function, but a very special sort of operator. */