aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-ccp.c
diff options
context:
space:
mode:
authorKai Tietz <ktietz@gcc.gnu.org>2008-07-04 14:38:46 +0200
committerKai Tietz <ktietz@gcc.gnu.org>2008-07-04 14:38:46 +0200
commit1d79e31d96c322196a37c897c4cf02672416aae0 (patch)
tree0e9e7ec0b2245baf28771eddb44c22187087a92f /gcc/tree-ssa-ccp.c
parent48325d73d3745ac658a623db37f661adab495d0e (diff)
downloadgcc-1d79e31d96c322196a37c897c4cf02672416aae0.zip
gcc-1d79e31d96c322196a37c897c4cf02672416aae0.tar.gz
gcc-1d79e31d96c322196a37c897c4cf02672416aae0.tar.bz2
Revert 137452.
From-SVN: r137457
Diffstat (limited to 'gcc/tree-ssa-ccp.c')
-rw-r--r--gcc/tree-ssa-ccp.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c
index da6b785..d4dfadb 100644
--- a/gcc/tree-ssa-ccp.c
+++ b/gcc/tree-ssa-ccp.c
@@ -2748,19 +2748,17 @@ optimize_stack_restore (basic_block bb, tree call, block_stmt_iterator i)
static tree
optimize_stdarg_builtin (tree call)
{
- tree callee, lhs, rhs, cfun_va_list;
+ tree callee, lhs, rhs;
bool va_list_simple_ptr;
if (TREE_CODE (call) != CALL_EXPR)
return NULL_TREE;
- callee = get_callee_fndecl (call);
-
- cfun_va_list = targetm.fn_abi_va_list (callee);
- va_list_simple_ptr = POINTER_TYPE_P (cfun_va_list)
- && (TREE_TYPE (cfun_va_list) == void_type_node
- || TREE_TYPE (cfun_va_list) == char_type_node);
+ va_list_simple_ptr = POINTER_TYPE_P (va_list_type_node)
+ && (TREE_TYPE (va_list_type_node) == void_type_node
+ || TREE_TYPE (va_list_type_node) == char_type_node);
+ callee = get_callee_fndecl (call);
switch (DECL_FUNCTION_CODE (callee))
{
case BUILT_IN_VA_START:
@@ -2775,7 +2773,7 @@ optimize_stdarg_builtin (tree call)
lhs = CALL_EXPR_ARG (call, 0);
if (!POINTER_TYPE_P (TREE_TYPE (lhs))
|| TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (lhs)))
- != TYPE_MAIN_VARIANT (cfun_va_list))
+ != TYPE_MAIN_VARIANT (va_list_type_node))
return NULL_TREE;
lhs = build_fold_indirect_ref (lhs);
@@ -2794,13 +2792,13 @@ optimize_stdarg_builtin (tree call)
lhs = CALL_EXPR_ARG (call, 0);
if (!POINTER_TYPE_P (TREE_TYPE (lhs))
|| TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (lhs)))
- != TYPE_MAIN_VARIANT (cfun_va_list))
+ != TYPE_MAIN_VARIANT (va_list_type_node))
return NULL_TREE;
lhs = build_fold_indirect_ref (lhs);
rhs = CALL_EXPR_ARG (call, 1);
if (TYPE_MAIN_VARIANT (TREE_TYPE (rhs))
- != TYPE_MAIN_VARIANT (cfun_va_list))
+ != TYPE_MAIN_VARIANT (va_list_type_node))
return NULL_TREE;
rhs = fold_convert (TREE_TYPE (lhs), rhs);