From 81d43c6bb892b782435460279012b1ef5494ef2d Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Thu, 19 Feb 2015 23:31:40 +0000 Subject: [PATCH] re PR ipa/65028 (450.soplex in SPEC CPU 2006 is miscompiled) PR ipa/65028 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation across jump functions. Co-Authored-By: Jan Hubicka From-SVN: r220826 --- gcc/ChangeLog | 7 +++++++ gcc/ipa-cp.c | 5 ++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 04f256c4901..94633bda9df 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-02-19 Martin Jambor + Jan Hubicka + + PR ipa/65028 + * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation + across jump functions. + 2015-02-19 Uros Bizjak * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols. diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 103ac99a6f2..bfe4d972e73 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -1438,8 +1438,7 @@ propagate_alignment_accross_jump_function (struct cgraph_edge *cs, if (op != NOP_EXPR) { if (op != POINTER_PLUS_EXPR - && op != PLUS_EXPR - && op != MINUS_EXPR) + && op != PLUS_EXPR) goto prop_fail; tree operand = ipa_get_jf_pass_through_operand (jfunc); if (!tree_fits_shwi_p (operand)) @@ -1451,7 +1450,7 @@ propagate_alignment_accross_jump_function (struct cgraph_edge *cs, else { src_idx = ipa_get_jf_ancestor_formal_id (jfunc); - offset = ipa_get_jf_ancestor_offset (jfunc); + offset = ipa_get_jf_ancestor_offset (jfunc) / BITS_PER_UNIT;; } src_lats = ipa_get_parm_lattices (caller_info, src_idx); -- 2.30.2