On Fri, Mar 5, 2010 at 2:43 AM, Mariusz Grad <mariusz.grad at gmail.com>
wrote:> Hi,
>
> I am working on Instruction Set Extensions and I am looking for a way to
increase the sizes of a basic block.
>
> Besides the loop-unrollers is there a>ny code laying around which could
be used to that purpose (like superblock formation, hyperblocks, predicate
execution ..)?
JumpThreading duplicates instructions in an attempt to reduce the
number of branches, and SimplifyCFG does some limited speculative
execution transformations.
The particular transformations you're talking about are considered
backend-specific; the ARM backend has some code for predication, but
LLVM doesn't support any architectures which use superblocks and/or
hyperblocks at the moment.
-Eli