This is the mail archive of the gcc-patches@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: [tree-ssa] Avoid jump threading from producing irreducible regions


In message <20031121213637.GC737@atrey.karlin.mff.cuni.cz>, Jan Hubicka writes:
 >> In message <20031121152630.GV12030@kam.mff.cuni.cz>, Jan Hubicka writes:
 >>  >Hi,
 >>  >as discussed earlier, I believe we must avoid producing irreducible
 >>  >loops in early stages of compilation as disabling loop optimizations for
 >>  >no good reason can be disasterous.
 >>  >regtested/bootstrapped i386
 >>  >OK?
 >>  >
 >>  >2003-11-21  Jan Hubicka  <jh@suse.cz>
 >>  >	* tree-ssa.dom.c (tree_ssa_domionator_thread_jumps): Mark back edges.
 >>  >	(thread_across_edge): Do not thread across loop headers.
 >> Note that the threader is run in two modes.
 >> 
 >> The first (and the one you changed) is allowed to thread through blocks
 >> which begin with PHI nodes.
 >> 
 >> The second runs as part of the dominator optimizer, but is not allowed to
 >> thread through a block with PHI nodes.  You didn't change the behavior of
 >> this instance.
 >> 
 >> [ Note I fully expect that with Andrew's changes that we'll have a single
 >>   mode for the dominator based jump threader in the future. ]
 >> 
 >> Anyway, I'm guessing that you don't have to worry about the second mode
 >> (no threading through PHIs) since loops are going to have a PHI at the
 >> the block which starts the natural loop.  Right?
 >I guess so.  Except for loops with no loop carried variables that are
 >out of interest anyway.
 >OK then? :)
I'm doing some additional tests on it.  There's little chance you'll have
an OK from me until Monday given the length of the test cycle on that
box.
jeff







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