create-loop-preheader ( loop entering -- preheader )


Vocabulary
compiler.cfg.loop-optimization

Inputs
loopan object
enteringan object


Outputs
preheaderan object


Definition


:: create-loop-preheader ( loop entering -- preheader )
<basic-block> :> preheader loop header>> :> header header
[ entering preheader merge-entry-phi ] each-phi
##branch new-insn preheader instructions>> push
V{ header } preheader successors<< entering V{ } like
preheader predecessors<< entering
[| pred | pred header preheader update-successors ] each
header predecessors>> [ entering member-eq? not ] filter
preheader suffix! header predecessors<<
"preheaders" count-loop-event preheader ;