llvm-6502/test/Transforms/ConstProp
Chris Lattner fe8c7c807c teach libanalysis to fold int and fp loads from almost arbitrary
non-type-safe constant initializers.  This sort of thing happens
quite a bit for 4-byte loads out of string constants, unions, 
bitfields, and an interesting endianness check from sqlite, which
is something like this:

const int sqlite3one = 1;
# define SQLITE_BIGENDIAN    (*(char *)(&sqlite3one)==0)
# define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1)
# define SQLITE_UTF16NATIVE (SQLITE_BIGENDIAN?SQLITE_UTF16BE:SQLITE_UTF16LE)

all of these macros now constant fold away.

This implements PR3152 and is based on a patch started by Eli, but heavily
modified and extended.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84936 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23 06:23:49 +00:00
..
2002-05-03-DivideByZeroException.ll
2002-05-03-NotOperator.ll
2002-09-03-SetCC-Bools.ll
2003-05-12-DivideError.ll
2005-01-28-SetCCGEP.ll
2006-11-30-vector-cast.ll
2006-12-01-bool-casts.ll
2006-12-01-TruncBoolBug.ll
2007-02-05-BitCast.ll
2007-02-23-sdiv.ll
2007-11-23-cttz.ll
2008-07-07-VectorCompare.ll
2009-06-20-constexpr-zero-lhs.ll
2009-09-01-GEP-Crash.ll
basictest.ll
bitcast2.ll
bitcast.ll
bswap.ll
calls.ll
constant-expr.ll Teach vm core to more aggressively fold 'trunc' constantexprs, 2009-10-17 21:53:27 +00:00
dg.exp
div-zero.ll
float-to-ptr-cast.ll
loads.ll teach libanalysis to fold int and fp loads from almost arbitrary 2009-10-23 06:23:49 +00:00
logicaltest.ll
nottest.ll
overflow-ops.ll Extend ConstantFolding to understand signed overflow variants 2009-10-05 22:53:52 +00:00
phi.ll
remtest.ll