Hi,
2012-09-26 Jorn Rennecke joern.renne...@arc.com
* loop-doloop.c (doloop_modify): Pass doloop_end pattern to
gen_doloop_begin.
* loop-doloop.c (doloop_optimize): Pass flag to indicate if loop is
entered at top to gen_doloop_end.
*
Quoting Zdenek Dvorak rakd...@iuuk.mff.cuni.cz:
+ entered_at_top = loop_preheader_edge (loop)-dest == desc-in_edge-dest;
is equivalent to
+ entered_at_top = loop-header == desc-in_edge-dest;
But, I don't think it will do what you want. Loops are canonicalized so that
their latch blocks
Hi,
The loop appears to be entered at the top, yet both my original and your test
fail.
Looking what happens with your test in more detail, I find that
loop-latch == desc-in_edge-dest
is true, but forwarder_block_p (loop-latch) fails:
562 if (dest-loop_father-header ==
Quoting Zdenek Dvorak rakd...@iuuk.mff.cuni.cz:
no -- you should also test that latch contains no active insns.
I.e., factorize
out whatever forwarder_block_p does except for the test
(dest-loop_father-header == dest) test,
Like this?
* basic-block.h (forwarder_block_p_1):
Quoting Zdenek Dvorak rakd...@iuuk.mff.cuni.cz:
no -- you should also test that latch contains no active insns.
I.e., factorize
out whatever forwarder_block_p does except for the test
(dest-loop_father-header == dest) test,
Like this?
* basic-block.h (forwarder_block_p_1):
On Tue, Oct 16, 2012 at 4:30 PM, Joern Rennecke
joern.renne...@embecosm.com wrote:
Quoting Zdenek Dvorak rakd...@iuuk.mff.cuni.cz:
no -- you should also test that latch contains no active insns. I.e.,
factorize
out whatever forwarder_block_p does except for the test
2012-09-26 Jorn Rennecke joern.renne...@arc.com
* loop-doloop.c (doloop_modify): Pass doloop_end pattern to
gen_doloop_begin.
* loop-doloop.c (doloop_optimize): Pass flag to indicate if loop is
entered at top to gen_doloop_end.
* config/arm/thumb2.md