[RFC 0/6] Flags outputs for asms
Richard Henderson
rth@redhat.com
Fri May 8 22:11:00 GMT 2015
On 05/08/2015 02:14 PM, Segher Boessenkool wrote:
> "Cleaner"? In this code? Heh.
Heh.
> use_crosses_set_p often estimates pessimistically. Is that what is
> happening here? Using real dataflow in combine would fix that (and many
> other problems). Not that that helps you right now ;-)
Yes, I think so. Proper data flow would fix this. But...
My thought is that the use_crosses_set_p could grow another parameter,
ignore_luid, so that if it matches DF_INSN_LUID (rsp->last_set) we don't fail
the test.
Then can_combine_p has to adjust its use like so:
use_crosses_set_p (src, DF_INSN_LUID (insn),
succ ? DF_INSN_LUID (succ) : -1)
which at least handles the 3-insn combine case, if not the 4-insn combine case.
I'll try out both this and Law's set_noop_p suggestion soon.
r~
More information about the Gcc-patches
mailing list