Message ID | 20150219233929.GA21632@kam.mff.cuni.cz |
---|---|
State | New |
Headers | show |
On Fri, Feb 20, 2015 at 12:39:29AM +0100, Jan Hubicka wrote: > Hi, > this patch fixes alignment propagation that causes wrong code on solex and firefox. > Patch is by Martin, I just added the obvous MINUS_EXPR fix (the offset would be wrong, > but I see no reason for MINUX_ExPR appearing there with constant parameter), went > ahead and commited the fix. > > Tested on x86_64-linux. Two nits: > Index: ChangeLog > =================================================================== > --- ChangeLog (revision 220825) > +++ ChangeLog (working copy) > @@ -1,3 +1,10 @@ > +2015-02-19 Martin Jambor <mjmabor@suse.cz> Typo in the e-mail address. > + Jan Hubicka <hubicka@ucw.cz> > + > + PR ipa/65028 > + * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation > + across jump functions. > + > 2015-02-19 Uros Bizjak <ubizjak@gmail.com> > > * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols. > Index: ipa-cp.c > =================================================================== > --- ipa-cp.c (revision 220825) > +++ ipa-cp.c (working copy) > @@ -1438,8 +1438,7 @@ propagate_alignment_accross_jump_functio > 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_functio > 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;; Two ;'s at the end of the line. Marek
Index: ChangeLog =================================================================== --- ChangeLog (revision 220825) +++ ChangeLog (working copy) @@ -1,3 +1,10 @@ +2015-02-19 Martin Jambor <mjmabor@suse.cz> + Jan Hubicka <hubicka@ucw.cz> + + PR ipa/65028 + * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation + across jump functions. + 2015-02-19 Uros Bizjak <ubizjak@gmail.com> * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols. Index: ipa-cp.c =================================================================== --- ipa-cp.c (revision 220825) +++ ipa-cp.c (working copy) @@ -1438,8 +1438,7 @@ propagate_alignment_accross_jump_functio 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_functio 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);