diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-13 13:57:19 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-13 13:57:19 +0000 |
commit | eb0fefdb9683c4842532535b6051be0d762223d1 (patch) | |
tree | 0103e79ff875c3089dc30563ad5cc977bee6de6e /gcc/tree-inline.c | |
parent | 4b8784dc6196a68be5fc99cfbee99a6af08a0414 (diff) | |
download | ppe42-gcc-eb0fefdb9683c4842532535b6051be0d762223d1.tar.gz ppe42-gcc-eb0fefdb9683c4842532535b6051be0d762223d1.zip |
* gcc.dg/builtins-43.c: Use gimple dump instead of generic.
* gcc.dg/fold-xor-?.c: Likewise.
* gcc.dg/pr15784-?.c: Likewise.
* gcc.dg/pr20922-?.c: Likewise.
* gcc.dg/tree-ssa/20050128-1.c: Likewise.
* gcc.dg/tree-ssa/pr17598.c: Likewise.
* gcc.dg/tree-ssa/pr20470.c: Likewise.
* tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
* tree-optimize.c (pass_gimple): Kill.
(init_tree_optimization_passes): Kill pass_gimple.
* tree-cfg.c (build_tree_cfg): Do verify_stmts to check that we are gimple.
* tree-dump.c (dump_files): Rename .generic to .gimple.*
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99658 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 696e7b49336..5873d6257e9 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -566,21 +566,15 @@ copy_body_r (tree *tp, int *walk_subtrees, void *data) { /* Get rid of *& from inline substitutions that can happen when a pointer argument is an ADDR_EXPR. */ - tree decl = TREE_OPERAND (*tp, 0), value; + tree decl = TREE_OPERAND (*tp, 0); splay_tree_node n; n = splay_tree_lookup (id->decl_map, (splay_tree_key) decl); if (n) { - value = (tree) n->value; - STRIP_NOPS (value); - if (TREE_CODE (value) == ADDR_EXPR - && (lang_hooks.types_compatible_p - (TREE_TYPE (*tp), TREE_TYPE (TREE_OPERAND (value, 0))))) - { - *tp = TREE_OPERAND (value, 0); - return copy_body_r (tp, walk_subtrees, data); - } + *tp = build_fold_indirect_ref ((tree)n->value); + *walk_subtrees = 0; + return NULL; } } |