diff options
author | Razya Ladelsky <razya@il.ibm.com> | 2006-11-26 10:00:18 +0000 |
---|---|---|
committer | Razya Ladelsky <razya@gcc.gnu.org> | 2006-11-26 10:00:18 +0000 |
commit | 95c8e172964d91c605a4e134baab0b2f9497dd0e (patch) | |
tree | c8e818190b015fb7772b4097bfba157526b177ad /gcc/tree-inline.c | |
parent | 67fdae36e917f7dcea4dbeead421218df36b7ea0 (diff) | |
download | gcc-95c8e172964d91c605a4e134baab0b2f9497dd0e.zip gcc-95c8e172964d91c605a4e134baab0b2f9497dd0e.tar.gz gcc-95c8e172964d91c605a4e134baab0b2f9497dd0e.tar.bz2 |
re PR tree-optimization/29122 (ICE with -ipa-cp and -m64 (tail calls))
2006-11-26 Razya Ladklesky <razya@il.ibm.com>
PR tree-optimization/29122
* tree-inline.c (tree_function_versioning): Update DECL_ASSEMBLER_NAME
for the new version. Assign NULL to DECL_RTL of the new version.
From-SVN: r119220
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index ad8a8bc..4b1c709 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -2791,14 +2791,10 @@ tree_function_versioning (tree old_decl, tree new_decl, varray_type tree_map, /* Generate a new name for the new version. */ if (!update_clones) - DECL_NAME (new_decl) = create_tmp_var_name (NULL); - /* Create a new SYMBOL_REF rtx for the new name. */ - if (DECL_RTL (old_decl) != NULL) { - SET_DECL_RTL (new_decl, copy_rtx (DECL_RTL (old_decl))); - XEXP (DECL_RTL (new_decl), 0) = - gen_rtx_SYMBOL_REF (GET_MODE (XEXP (DECL_RTL (old_decl), 0)), - IDENTIFIER_POINTER (DECL_NAME (new_decl))); + DECL_NAME (new_decl) = create_tmp_var_name (NULL); + SET_DECL_ASSEMBLER_NAME (new_decl, DECL_NAME (new_decl)); + SET_DECL_RTL (new_decl, NULL_RTX); } /* Prepare the data structures for the tree copy. */ |