llvm-6502/lib/Transforms/Utils
Andrew Trick 5d73448bb7 Add -unroll-runtime for unrolling loops with run-time trip counts.
Patch by Brendon Cahoon!

This extends the existing LoopUnroll and LoopUnrollPass. Brendon
measured no regressions in the llvm test suite with -unroll-runtime
enabled. This implementation works by using the existing loop
unrolling code to unroll the loop by a power-of-two (default 8). It
generates an if-then-else sequence of code prior to the loop to
execute the extra iterations before entering the unrolled loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146245 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09 06:19:40 +00:00
..
AddrModeMatcher.cpp Add a little heuristic to Value::isUsedInBasicBlock to speed it up for small basic blocks. 2011-12-05 17:23:27 +00:00
BasicBlockUtils.cpp
BasicInliner.cpp Refactor code from inlining and globalopt that checks whether a function definition is unused, and enhance it so it can tell that functions which are only used by a blockaddress are in fact dead. This probably doesn't happen much on most code, but the Linux kernel's _THIS_IP_ can trigger this issue with blockaddress. (GlobalDCE can also handle the given tescase, but we only run that at -O3.) Found while looking at PR11180. 2011-10-20 05:23:42 +00:00
BreakCriticalEdges.cpp LSR should avoid redundant edge splitting. 2011-10-04 03:50:44 +00:00
BuildLibCalls.cpp Add support for custom names for library functions in TargetLibraryInfo. Add a custom name for fwrite and fputs on x86-32 OSX. Make SimplifyLibCalls honor the custom 2011-11-17 01:27:36 +00:00
CloneFunction.cpp Remap blockaddress correctly when inlining a function. Fixes PR10162. 2011-10-21 20:45:19 +00:00
CloneModule.cpp
CMakeLists.txt Add -unroll-runtime for unrolling loops with run-time trip counts. 2011-12-09 06:19:40 +00:00
CodeExtractor.cpp
DemoteRegToStack.cpp Make sure we don't insert instructions before a landingpad instruction. 2011-11-07 19:38:34 +00:00
InlineFunction.cpp Fix quadratic behavior in InlineFunction by fetching the personality function of the callee once and not for every invoke in the caller. 2011-12-02 18:37:31 +00:00
InstructionNamer.cpp
LCSSA.cpp
LLVMBuild.txt LLVMBuild: Alphabetize required_libraries lists. 2011-11-11 22:59:23 +00:00
Local.cpp Simplify common predecessor finding. 2011-12-06 16:14:29 +00:00
LoopSimplify.cpp Propagate TargetLibraryInfo throughout ConstantFolding.cpp and 2011-12-01 03:08:23 +00:00
LoopUnroll.cpp Add -unroll-runtime for unrolling loops with run-time trip counts. 2011-12-09 06:19:40 +00:00
LoopUnrollRuntime.cpp Add -unroll-runtime for unrolling loops with run-time trip counts. 2011-12-09 06:19:40 +00:00
LowerExpectIntrinsic.cpp Add a proper LLVM banner to this file. 2011-10-16 22:15:07 +00:00
LowerInvoke.cpp
LowerSwitch.cpp Clean up uses of switch instructions so they are not dependent on the operand ordering. Patch by Stepan Dyatkovskiy. 2011-09-29 20:21:17 +00:00
Makefile
Mem2Reg.cpp
ModuleUtils.cpp test commit to verify that commit access works (added blank line) 2011-11-16 01:14:38 +00:00
PromoteMemoryToRegister.cpp Propagate TargetLibraryInfo throughout ConstantFolding.cpp and 2011-12-01 03:08:23 +00:00
SimplifyCFG.cpp
SimplifyIndVar.cpp Fix an overly general check in SimplifyIndvar to handle useless phi cycles. 2011-11-17 23:36:35 +00:00
SimplifyInstructions.cpp Propagate TargetLibraryInfo throughout ConstantFolding.cpp and 2011-12-01 03:08:23 +00:00
SSAUpdater.cpp Make headers standalone, move a virtual method out of line. 2011-11-14 17:22:45 +00:00
UnifyFunctionExitNodes.cpp
Utils.cpp
ValueMapper.cpp