This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: problem with the scheduler in gcc-4.0-20040911


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]