llvm-mirror/lib/VMCore
Dan Gohman aa66e3d968 Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword and
how to fold notionally-out-of-bounds array getelementptr indices instead
of just doing these in lib/Analysis/ConstantFolding.cpp, because it can
be done in a fairly general way without TargetData, and because not all
constants are visited by lib/Analysis/ConstantFolding.cpp. This enables
more constant folding.

Also, set the "inbounds" flag when the getelementptr indices are
one-past-the-end.

llvm-svn: 81483
2009-09-11 00:04:14 +00:00
..
AsmWriter.cpp Remove some unused variables and methods warned about by 2009-09-06 08:33:48 +00:00
Attributes.cpp Add an 'inline hint' attribute to represent source 2009-08-26 01:08:21 +00:00
AutoUpgrade.cpp Reapply 79977. 2009-08-28 23:24:31 +00:00
BasicBlock.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
CMakeLists.txt Update CMakeLists. 2009-08-04 23:02:53 +00:00
ConstantFold.cpp Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword and 2009-09-11 00:04:14 +00:00
ConstantFold.h Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword and 2009-09-11 00:04:14 +00:00
Constants.cpp Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword and 2009-09-11 00:04:14 +00:00
ConstantsContext.h Reappy r80998, now that the GlobalOpt bug that it exposed on MiniSAT is fixed. 2009-09-07 23:54:19 +00:00
Core.cpp Revert 80959. It isn't sufficient to solve the full problem. And it 2009-09-03 23:34:49 +00:00
Dominators.cpp Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
Function.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Globals.cpp Move types back to the 2.5 API. 2009-07-29 22:17:13 +00:00
InlineAsm.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Instruction.cpp This should use isIndenticalToWhenDefined. 2009-08-25 22:24:20 +00:00
Instructions.cpp Add some braces to make newer GCCs happy and update CMakeLists. 2009-09-10 11:31:39 +00:00
IntrinsicInst.cpp Fix DbgStopPointInst->getFileName/getDirectory, broken by the MDNodification in 2009-09-02 11:13:56 +00:00
LeakDetector.cpp Kill off more cerr/cout uses and prune includes a bit. 2009-08-23 11:37:21 +00:00
LeaksContext.h switch from std::ostream to raw ostream, fix file header. 2009-08-23 03:56:06 +00:00
LLVMContext.cpp While replacing an MDNode elment, properly update MDNode's operand list. 2009-09-04 21:32:05 +00:00
LLVMContextImpl.h Fix whitespaces. 2009-09-10 22:36:12 +00:00
Makefile
Mangler.cpp Add prefix only if it is needed. 2009-08-17 23:17:17 +00:00
Metadata.cpp Take lock before removing a node from MDNodeSet. 2009-09-09 17:44:26 +00:00
Module.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
ModuleProvider.cpp
Pass.cpp Remove some unused fields. 2009-08-29 23:34:14 +00:00
PassManager.cpp Kill off more cerr/cout uses and prune includes a bit. 2009-08-23 11:37:21 +00:00
PrintModulePass.cpp
SymbolTableListTraitsImpl.h
Type.cpp Opaque types didn't work if llvm_is_multithreaded(). 2009-09-02 12:23:05 +00:00
TypesContext.h Free the constants that have no uses in ~LLVMContext. 2009-08-31 16:14:59 +00:00
TypeSymbolTable.cpp Kill off more cerr/cout uses and prune includes a bit. 2009-08-23 11:37:21 +00:00
Use.cpp Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
Value.cpp Teach getUnderlyingObject and skipPointerCasts about GlobalAliases. 2009-08-27 17:55:13 +00:00
ValueSymbolTable.cpp remove some DOUTs 2009-08-23 04:44:11 +00:00
ValueTypes.cpp Reapply 79977. 2009-08-28 23:24:31 +00:00
Verifier.cpp Hoist out the test+insert to CheckedTypes. This doesn't seem to affect 2009-09-08 05:46:15 +00:00