HomePhabricator

This patch extends the LoopUnroll pass to be able to unroll loops with unknown…

Authored by sunfish on May 11 2007, 1:53 PM.

Description

This patch extends the LoopUnroll pass to be able to unroll loops with unknown trip counts. This is left off by default, and a command-line option enables it. It also begins to separate loop unrolling into a utility routine; eventually it might be made usable from other passes.

It currently works by inserting conditional branches between each
unrolled iteration, unless it proves that the trip count is a
multiple of a constant integer > 1, which it currently only does in
the rare case that the trip count expression is a Mul operator with
a ConstantInt operand. Eventually this information might be provided
by other sources, for example by a pass that peels/splits the loop
for this purpose.

llvm-svn: 36990

Details

Committed
sunfishMay 11 2007, 1:53 PM
Parents
rG600db3eb9644: fix regressions from my previous checking, including…
Branches
Unknown
Tags
Unknown