llvm-project/llvm/lib
Dan Gohman cf9138307d Remove SCEVAllocSizeExpr and SCEVFieldOffsetExpr, and in their place
use plain SCEVUnknowns with ConstantExpr::getSizeOf and
ConstantExpr::getOffsetOf constants. This eliminates a bunch of
special-case code.

Also add code for pattern-matching these expressions, for clients that
want to recognize them.

Move ScalarEvolution's logic for expanding array and vector sizeof
expressions into an element count times the element size, to expose
the multiplication to subsequent folding, into the regular constant
folder.

llvm-svn: 94737
2010-01-28 02:15:55 +00:00
..
Analysis Remove SCEVAllocSizeExpr and SCEVFieldOffsetExpr, and in their place 2010-01-28 02:15:55 +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 Kill ModuleProvider and ghost linkage by inverting the relationship between 2010-01-27 20:34:15 +00:00
CodeGen add target hooks for emitting random gunk before and after the function body. 2010-01-28 01:58:58 +00:00
CompilerDriver Better error message. 2010-01-26 14:55:16 +00:00
ExecutionEngine Kill ModuleProvider and ghost linkage by inverting the relationship between 2010-01-27 20:34:15 +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 Make SMDiagnostic::Print a const method. 2010-01-27 10:13:28 +00:00
System mark some libraries that currently require RTTI. 2010-01-24 20:22:08 +00:00
Target Fix a bug introduced by r94490 where it created a X86ISD::CMP whose output type is different from its inputs. 2010-01-28 01:57:22 +00:00
Transforms Avoid creating redundant PHIs in SSAUpdater::GetValueInMiddleOfBlock. 2010-01-27 22:01:02 +00:00
VMCore Remove SCEVAllocSizeExpr and SCEVFieldOffsetExpr, and in their place 2010-01-28 02:15:55 +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