Re: reordering-of-passes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

My doubt is why stalls are reduced ? Is basic block reordering
optimization pass is considered while calculating stalls during
instruction scheduling? because i placed pass_reorder_blocks after the
pass_sched2

Second scheduler is run on extended basic blocks (EBBs). An EBB is a sequence of basic blocks with single entry (at the head of the first block of the sequence) and such that every its basic block except the first is a fallthrough successor of its predecessor. Thus, my speculation is that pass_reorded_blocks forms larger EBBs, and therefore scheduler sees stalls that otherwise would be hidden from it, because the corresponding dependency would be between instructions in different EBBs. You can verify this by inspecting your scheduler dumps (AFAIR, number of basic blocks in EBB is printed in the beginning of each scheduler invocation, just before dependencies table).

Hope that helps
--
Alexander Monakov

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux