summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2020-03-23 09:33:25 +0100
committerRichard Biener <rguenther@suse.de>2020-03-23 11:23:29 +0100
commit7a2090b04e54ffccc64ad2dfd5b46eb4bb8ce482 (patch)
tree59ea80bc72eb51559138a2e08a6ee4917ae6bbbe
parent263ee1260bc4017465a8ef722889ccc59fcee0d2 (diff)
ipa/94245 - avoid folding when we want an ADDR_EXPR
Another case where build_fold_addr_expr is harmful. 2020-03-23 Richard Biener <rguenther@suse.de> PR ipa/94245 * ipa-prop.c (ipa_read_jump_function): Build the ADDR_EXRP directly rather than also folding it via build_fold_addr_expr.
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ipa-prop.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5df915d7800..c33327e61b2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2020-03-23 Richard Biener <rguenther@suse.de>
+ PR ipa/94245
+ * ipa-prop.c (ipa_read_jump_function): Build the ADDR_EXRP
+ directly rather than also folding it via build_fold_addr_expr.
+
+2020-03-23 Richard Biener <rguenther@suse.de>
+
PR tree-optimization/94266
* tree-ssa-forwprop.c (pass_forwprop::execute): Do not propagate
addresses of TARGET_MEM_REFs.
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index a77130ded39..71ac0e104d2 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -4625,7 +4625,7 @@ ipa_read_jump_function (class lto_input_block *ib,
{
tree t = stream_read_tree (ib, data_in);
if (flag && prevails)
- t = build_fold_addr_expr (t);
+ t = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (t)), t);
ipa_set_jf_constant (jump_func, t, cs);
}
break;