Product: GCC
Component: rtl-optimization
Version: 7.3.0
After we enable the schedule DO_PREDICATION, we get wrong scheduling result in
sched2 pass.
The key dump is shown as following:
...(Unimportant things)
;; | 93 | 15 | a20=sxn([a19])
;; | 94 | 10 | t2=a20==0
;;
nsn restore to normal insn, its
dependence has changed.
It’s reasonable to recalculate INSN_TICK and choose the suitable queue for the
insn again.
Since in some case, after recalculating INSN_TICK, the normal insn can issue
earlier.
Best wishes!
发件人: xuemaosheng
发送时间: 2020年4月23日 18:41
收件人: 'g
Product: GCC
Component: rtl-optimization
Version: 7.3.0
If we add the flag DO_PREDICATION in scheduling ebb, the compiler will try to
predicate the insn when the producer insn has been issued,
and put the consumer insn into suitable queue. For example as shown in
schedule verbose dump file:
;