Displaying 5 results from an estimated 5 matches for "foldblockintopredecessor".
2008 May 07
8
[LLVMdev] [PATCH] Split LoopUnroll pass into mechanism and policy
...Matthijs,
Separating mechanism from policy is a good thing for the LoopUnroll
pass. Instead of moving the policy to a subclass though, I think it'd
be better to move the mechanism, the unrollLoop function, out to be a
standalone utility function, with the LoopInfo object passed in
explicitly. FoldBlockIntoPredecessor would also be good to make into
a standalone utility function, since it isn't specific to unrolling.
This should still make it easy to write new unrolling passes with
custom heuristics, but it would also be more flexible for passes to
do unrolling in combination with other transformations.
Wh...
2008 May 09
0
[LLVMdev] [PATCH] Split LoopUnroll pass into mechanism and policy
...se execute
svn cp lib/Transforms/Scalar/LoopUnroll.cpp lib/Transforms/Utils/UnrollLoop.cpp
to make the patch apply and preserve proper history.
Transforms/Utils/UnrollLoop.cpp contains the unrollLoop function, which is now
used by the LoopUnroll pass. I've also moved the RemapInstruction and
FoldBlockIntoPredecessor support functions there.
Additionally, I've also moved the loop unrolling statistics into the Utils file. Is
that a good idea?
I've added two new methods to Loop (or LoopBase<> really):
getSmallConstantTripCount() and getSmallConstantTripMultiple(), which return
the trip count and m...
2008 May 06
0
[LLVMdev] [PATCH] Split LoopUnroll pass into mechanism and policy
Hi,
please find an updated patch attached that incorporates the (trivial) changes
introduced by r50696 and which makes this patch apply cleanly again.
Gr.
Matthijs
-------------- next part --------------
A non-text attachment was scrubbed...
Name: split-unroll.diff
Type: text/x-diff
Size: 14660 bytes
Desc: not available
URL:
2008 May 06
2
[LLVMdev] [PATCH] Split LoopUnroll pass into mechanism and policy
Hi,
the attached patch splits the loop unroll pass into a LoopUnroll superclass
that implements the unrolling mechanism, and a SimpleLoopUnroll subclass
implementing the current policy. This split is modeled after the split between
Inliner and SimpleInliner.
The superclass currently still finds out the TripCount and TripMultiple, and
passes those, together with the Loop in question, to a policy
2008 May 09
3
[LLVMdev] [PATCH] Split LoopUnroll pass into mechanism and policy
...lar/LoopUnroll.cpp lib/Transforms/Utils/
> UnrollLoop.cpp
> to make the patch apply and preserve proper history.
>
> Transforms/Utils/UnrollLoop.cpp contains the unrollLoop function,
> which is now
> used by the LoopUnroll pass. I've also moved the RemapInstruction and
> FoldBlockIntoPredecessor support functions there.
>
> Additionally, I've also moved the loop unrolling statistics into the
> Utils file. Is
> that a good idea?
>
> I've added two new methods to Loop (or LoopBase<> really):
> getSmallConstantTripCount() and getSmallConstantTripMultiple()...