llvm-6502/lib
Dan Gohman 4f8eea82d8 Generalize target-independent folding rules for sizeof to handle more
cases, and implement target-independent folding rules for alignof and
offsetof. Also, reassociate reassociative operators when it leads to
more folding.

Generalize ScalarEvolution's isOffsetOf to recognize offsetof on
arrays. Rename getAllocSizeExpr to getSizeOfExpr, and getFieldOffsetExpr
to getOffsetOfExpr, for consistency with analagous ConstantExpr routines.

Make the target-dependent folder promote GEP array indices to
pointer-sized integers, to make implicit casting explicit and exposed
to subsequent folding.

And add a bunch of testcases for this new functionality, and a bunch
of related existing functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94987 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-01 18:27:38 +00:00
..
Analysis Generalize target-independent folding rules for sizeof to handle more 2010-02-01 18:27:38 +00:00
Archive Kill ModuleProvider and ghost linkage by inverting the relationship between 2010-01-27 20:34:15 +00:00
AsmParser Kill ModuleProvider and ghost linkage by inverting the relationship between 2010-01-27 20:34:15 +00:00
Bitcode We were not writing bitcode for function-local metadata whose operands have been erased (making it not have any more function-local operands) 2010-01-29 21:19:19 +00:00
CodeGen Emit declaration DIE for the class static variables. 2010-01-30 01:08:30 +00:00
CompilerDriver Better error message. 2010-01-26 14:55:16 +00:00
ExecutionEngine Replace strcpy with memcpy when we have the length around anyway. 2010-01-28 18:04:38 +00:00
Linker Need to recurse for all operands of function-local metadata; and handle Instructions (which map to themselves) 2010-01-27 22:03:03 +00:00
MC use EmitLinkage for functions as well as globals. One output 2010-01-26 23:51:52 +00:00
Support Fix MSVC build. 2010-01-29 15:19:06 +00:00
System Add llvm::Program::ChangeStderrToBinary(). 2010-01-28 06:42:08 +00:00
Target MulOp is actually a Mips specific node, so do the match using Opcode. This fixes PR6192 2010-02-01 12:16:39 +00:00
Transforms fix rdar://7590304, a miscompilation of objc apps on arm. The caller 2010-02-01 18:11:34 +00:00
VMCore Generalize target-independent folding rules for sizeof to handle more 2010-02-01 18:27:38 +00:00
Makefile remove llvm-db: it is completely broken and if anyone wants to do a debugger, 2009-10-05 02:29:51 +00:00