diff options
author | Richard Biener <rguenther@suse.de> | 2020-03-23 09:33:25 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-03-23 11:23:29 +0100 |
commit | 7a2090b04e54ffccc64ad2dfd5b46eb4bb8ce482 (patch) | |
tree | 59ea80bc72eb51559138a2e08a6ee4917ae6bbbe | |
parent | 263ee1260bc4017465a8ef722889ccc59fcee0d2 (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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ipa-prop.c | 2 |
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; |