llvm/lib
Chris Lattner 8cd4efb6a5 implement constant folding support for an exotic constant expr:
ret i64 ptrtoint (i8* getelementptr ([1000 x i8]* @X, i64 1, i64 sub (i64 0, i64 ptrtoint ([1000 x i8]* @X to i64))) to i64)

to "ret i64 1000".  This allows us to correctly compute the trip count
on a loop in PR8883, which occurs with std::fill on a char array.  This
allows us to transform it into a memset with a constant size.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122950 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-06 06:19:46 +00:00
..
Analysis implement constant folding support for an exotic constant expr: 2011-01-06 06:19:46 +00:00
Archive MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
AsmParser Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
Bitcode Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
CodeGen Revert r122936. I'll re-implement the change. 2011-01-06 06:17:53 +00:00
CompilerDriver Support/PathV1: Deprecate get{Basename,Dirname,Suffix}. 2010-12-18 22:23:07 +00:00
ExecutionEngine
Linker include the module identifier when emitting this warning, PR8865. 2010-12-30 02:49:45 +00:00
MC Fix PR8878. 2011-01-01 19:05:35 +00:00
Object Fix mismatched new[]/delete. 2010-12-17 09:56:50 +00:00
Support Support/PathV2: Implement remove_all. 2011-01-05 16:39:38 +00:00
Target PR8919 - LLVM incorrectly generates "_alloca" as the stack probing call. That 2011-01-06 00:50:34 +00:00
Transforms Add the CallInst optimizations that don't involve expanding inline assembly to 2011-01-06 02:56:42 +00:00
VMCore Silence a warning from non-standard warning avoidance code. 2011-01-05 21:50:21 +00:00
Makefile