> That said, I suppose it wouldn't hurt to modify sched-deps
> to treat a SET+REG_UNUSED as a CLOBBER.
Early in sched_analyze_reg, check for ref==USE and a REG_UNUSED note,
and change ref to CLOBBER? I tried it, it didn't seem to help...
Index: sched-deps.c
=
On 09/27/2010 04:21 PM, DJ Delorie wrote:
> Would we have to do that for *all* the math/logic ops, or just add?
All of them of course.
r~
Would we have to do that for *all* the math/logic ops, or just add?
On 09/27/2010 03:37 PM, DJ Delorie wrote:
>> I think it's probably a mistake to have the default ADD
>> instruction SET the flags, rather than CLOBBER them.
>
> How else would we optimize away compares?
By having a separate ADD that looks like your current one.
Combine will put them together for
> I think it's probably a mistake to have the default ADD
> instruction SET the flags, rather than CLOBBER them.
How else would we optimize away compares?
On 09/27/2010 01:30 PM, DJ Delorie wrote:
> (insn 115 114 117 15 dj.c:256 (parallel [
> (set (reg:SI 12 r12 [139])
> (plus:SI (reg:SI 3 r3 [orig:54 pretmp.923 ] [54])
> (reg:SI 12 r12 [138])))
> (set (reg:CC_ZSC 16 cc)
> (c
DJ Delorie writes:
> In this example, why isn't insn 117 scheduled before insn 115 ? What
> is the dependency? The only thing they have in common is CC, but both
> generate a value which is never used.
I don't see anything in sched-deps.c which prevents using a register for
scheduling dependen
In this example, why isn't insn 117 scheduled before insn 115 ? What
is the dependency? The only thing they have in common is CC, but both
generate a value which is never used.
;; ==
;; -- basic block 15 from 114 to 118 -- after reload
;;