llvm-6502/lib/Transforms/Utils
Andrew Trick c7b0b7dc8f Add support to indvars for optimizing sadd.with.overflow.
Split sadd.with.overflow into add + sadd.with.overflow to allow
analysis and optimization. This should ideally be done after
InstCombine, which can perform code motion (eventually indvars should
run after all canonical instcombines). We want ISEL to recombine the
add and the check, at least on x86.

This is currently under an option for reducing live induction
variables: -liv-reduce. The next step is reducing liveness of IVs that
are live out of the overflow check paths. Once the related
optimizations are fully developed, reviewed and tested, I do expect
this to become default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197926 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-23 23:31:49 +00:00
..
ASanStackFrameLayout.cpp [asan] fix ndebug build with strict warnings (-Wunused-variable) 2013-12-06 09:26:09 +00:00
BasicBlockUtils.cpp [asan] don't unpoison redzones on function exit in use-after-return mode. 2013-12-23 14:15:08 +00:00
BreakCriticalEdges.cpp Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
BuildLibCalls.cpp Enable double to float shrinking optimizations for binary functions like 'fmin/fmax'. Fix radar:15283121 2013-12-16 22:42:40 +00:00
BypassSlowDivision.cpp
CloneFunction.cpp
CloneModule.cpp
CMakeLists.txt [asan] rewrite asan's stack frame layout 2013-12-06 09:00:17 +00:00
CmpInstAnalysis.cpp
CodeExtractor.cpp
DemoteRegToStack.cpp
FlattenCFG.cpp
GlobalStatus.cpp Handle calls and invokes in GlobalStatus. 2013-10-25 21:29:52 +00:00
InlineFunction.cpp Fix inlining to not lose the "cleanup" clause from landingpads 2013-12-08 00:51:21 +00:00
InstructionNamer.cpp
IntegerDivision.cpp Add support for software expansion of 64-bit integer division instructions. 2013-11-19 06:54:19 +00:00
LCSSA.cpp Quick look-up for block in loop. 2013-10-26 03:08:02 +00:00
LLVMBuild.txt
Local.cpp Transforms: Don't create bad branch weights when folding a switch 2013-12-10 00:13:41 +00:00
LoopSimplify.cpp
LoopUnroll.cpp Don't #include heavy Dominators.h file in LoopInfo.h. This change reduces 2013-12-07 21:20:17 +00:00
LoopUnrollRuntime.cpp
LowerExpectIntrinsic.cpp
LowerInvoke.cpp Remove several unused variables. 2013-10-01 13:32:03 +00:00
LowerSwitch.cpp
Makefile
Mem2Reg.cpp
MetaRenamer.cpp
ModuleUtils.cpp
PromoteMemoryToRegister.cpp Correct word hyphenations 2013-12-05 05:44:44 +00:00
SimplifyCFG.cpp Transforms: Don't create bad weights when eliminating dead cases 2013-12-20 08:21:30 +00:00
SimplifyIndVar.cpp Add support to indvars for optimizing sadd.with.overflow. 2013-12-23 23:31:49 +00:00
SimplifyInstructions.cpp
SimplifyLibCalls.cpp Enable double to float shrinking optimizations for binary functions like 'fmin/fmax'. Fix radar:15283121 2013-12-16 22:42:40 +00:00
SpecialCaseList.cpp
SSAUpdater.cpp Basic blocks typically have few predecessors. Use a SmallDenseMap to 2013-10-14 16:05:55 +00:00
UnifyFunctionExitNodes.cpp
Utils.cpp
ValueMapper.cpp