llvm/lib/Transforms/Utils
Preston Gurd 9a2cfffdb6 Bypass Slow Divides
* Only apply divide bypass optimization when not optimizing for size. 
* Fixed bug caused by constant for 0 value of type Int32,
  used dividend type to generate the constant instead.
* For atom x86-64 apply the divide bypass to use 16-bit divides instead of
  64-bit divides when operand values are small enough.
* Added lit tests for 64-bit divide bypass.

Patch by Tyler Nowicki!




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176442 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-04 18:13:57 +00:00
..
BasicBlockUtils.cpp Remove trailing spaces. 2013-01-14 23:16:36 +00:00
BreakCriticalEdges.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
BuildLibCalls.cpp Convert BuildLibCalls.cpp to using the AttributeSet methods instead of AttributeWithIndex. 2013-01-26 00:03:11 +00:00
BypassSlowDivision.cpp Bypass Slow Divides 2013-03-04 18:13:57 +00:00
CloneFunction.cpp Remove addRetAttributes and addFnAttributes, which aren't useful abstractions. 2013-01-30 23:40:31 +00:00
CloneModule.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CMakeLists.txt Sink the AddressingModeMatcher helper class into an anonymous namespace 2013-01-05 02:09:22 +00:00
CmpInstAnalysis.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CodeExtractor.cpp Remove #includes from the commonly used LoopInfo.h. 2013-02-09 01:04:28 +00:00
DemoteRegToStack.cpp [SjLj Prepare] When demoting an invoke instructions to the stack, if the normal 2013-02-05 18:23:10 +00:00
InlineFunction.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
InstructionNamer.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
IntegerDivision.cpp Enhance integer division emulation support to handle types smaller than 32 bits, 2013-02-26 23:33:20 +00:00
LCSSA.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Local.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LoopSimplify.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LoopUnroll.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LoopUnrollRuntime.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LowerExpectIntrinsic.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LowerInvoke.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LowerSwitch.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
Mem2Reg.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MetaRenamer.cpp Make sure metarenamer won't rename special stuff (intrinsics and explicitly renamed stuff). 2013-01-23 15:03:08 +00:00
ModuleUtils.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
PromoteMemoryToRegister.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SimplifyCFG.cpp Re-revert r173342, without losing the compile time improvements, flat 2013-01-27 06:42:03 +00:00
SimplifyIndVar.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SimplifyInstructions.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SimplifyLibCalls.cpp Modify {Call,Invoke}Inst::addAttribute to take an AttrKind. 2013-03-02 01:20:18 +00:00
SSAUpdater.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
UnifyFunctionExitNodes.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
Utils.cpp Add a pass that renames everything with metasyntatic names. This works well after using bugpoint to reduce the confusion presented by the original names, which no longer mean what they used to. 2012-09-11 02:46:18 +00:00
ValueMapper.cpp Linker: correctly link in dbg.declare 2013-01-31 21:19:18 +00:00