> On 11/27/13 10:30, Yvan Roux wrote: > >>Please include either the patch you are pinging or at the least a link to it > >>in the archives. > > > >Ok, sorry for that, here is the patch and Changelog > > > >Yvan > > > > > >2013-11-17 Yvan Roux <yvan.r...@linaro.org> > > > > * config/arm/arm.md (store_minmaxsi): Use only when > > optimize_function_for_size_p. > Thanks. > > This is fine for the trunk. And yes, having an insn's validity > change based on what block it's in is most definitely bad. > > I was a bit concerned have the x86 backend, as I happened to know it > uses optimize_insn_for_* rather extensively. But thankfully it's > only used in splitters, expanders & peephole2 patterns, which should > all be safe.
Yep, this was (is) the plan - have instructions independent on profile (since they can be freely moved from hot parts to cold and in weird cases also from cold to hot) while expanders/splitters and peep2s may use profile to choose appropriate generation strategy. I tried to review backend for places where splitters/peeps/expanders are used and set profile according reset it to default for the possible cases where we call them from profile unaware pass. Honza > > If you wouldn't mind, could you look at md.texi and see if there's a > reasonable place to put verbage about this issue in the internals > manual? It might save someone time in the future :-) > > Thanks, > Jeff