aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-10-02 05:34:21 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2014-10-02 05:34:21 +0000
commitfe7bf32edf45d01fee099fccdca67dd3a0f0064d (patch)
tree888885e2d53d96cbb847ade4c52128e6134c2b9a
parent67a1b94ce37b06256c3e5f1c482dc362bfb96aca (diff)
downloadgcc-fe7bf32edf45d01fee099fccdca67dd3a0f0064d.zip
gcc-fe7bf32edf45d01fee099fccdca67dd3a0f0064d.tar.gz
gcc-fe7bf32edf45d01fee099fccdca67dd3a0f0064d.tar.bz2
ipa-prop.c (ipa_modify_formal_parameters): Do not merge type variants.
* ipa-prop.c (ipa_modify_formal_parameters): Do not merge type variants. From-SVN: r215791
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ipa-prop.c15
2 files changed, 5 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3d65423..354fa6a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2014-10-01 Jan HUbicka <hubicka@ucw.cz>
+ * ipa-prop.c (ipa_modify_formal_parameters): Do not merge
+ type variants.
+
+2014-10-01 Jan HUbicka <hubicka@ucw.cz>
+
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::restrict_to_inner_class):
Rename EXPECTED_TYPE to OTR_TYPE; Validate speculation late;
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 34d4c02..8b0f582 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -3960,21 +3960,6 @@ ipa_modify_formal_parameters (tree fndecl, ipa_parm_adjustment_vec adjustments)
DECL_FUNCTION_CODE (fndecl) = (enum built_in_function) 0;
}
- /* This is a new type, not a copy of an old type. Need to reassociate
- variants. We can handle everything except the main variant lazily. */
- tree t = TYPE_MAIN_VARIANT (orig_type);
- if (orig_type != t)
- {
- TYPE_MAIN_VARIANT (new_type) = t;
- TYPE_NEXT_VARIANT (new_type) = TYPE_NEXT_VARIANT (t);
- TYPE_NEXT_VARIANT (t) = new_type;
- }
- else
- {
- TYPE_MAIN_VARIANT (new_type) = new_type;
- TYPE_NEXT_VARIANT (new_type) = NULL;
- }
-
TREE_TYPE (fndecl) = new_type;
DECL_VIRTUAL_P (fndecl) = 0;
DECL_LANG_SPECIFIC (fndecl) = NULL;