Kunal Parmar wrote:

Following is the debugging dump by the scheduler -

**************************************
;;   ======================================================
;;   -- basic block 1 from 17 to 89 -- after reload
;;   ======================================================

;;   --------------- forward dependences: ------------

;;   --- Region Dependences --- b 1 bb 0
;;      insn  code    bb   dep  prio  cost   reservation
;;      ----  ----    --   ---  ----  ----   -----------
;;       17     5     0     0     1     1   S1  :
;;       18     5     0     0     1     1   S2  :
;;       90    67     0     0     8     1   S2  : 89 91
;;       91    66     0     1     7     1   S2  : 89
;;       89   100     0     2     6     6   S2  :


As can be seen in the assembly dump, one instruction is scheduled after the branch instruction. The branch is a conditionally executed branch instruction. This is incorrect because if the branch is executed then the instruction after that will not be executed. Please help.



There is no dependency between insn 18 and 89 (the jump). The scheduler automatically adds anti-dependencies between jump and previous sets. So I think you jump insn is not represented as RTL JUMP_INSN. The RTL dump after the scheduler could help more.

Vlad




Reply via email to