llvm-6502/lib
Dan Gohman 5be18e8476 Teach SCEVExpander to expand arithmetic involving pointers into GEP
instructions. It attempts to create high-level multi-operand GEPs,
though in cases where this isn't possible it falls back to casting
the pointer to i8* and emitting a GEP with that. Using GEP instructions
instead of ptrtoint+arithmetic+inttoptr helps pointer analyses that
don't use ScalarEvolution, such as BasicAliasAnalysis.

Also, make the AddrModeMatcher more aggressive in handling GEPs.
Previously it assumed that operand 0 of a GEP would require a register
in almost all cases. It now does extra checking and can do more
matching if operand 0 of the GEP is foldable. This fixes a problem
that was exposed by SCEVExpander using GEPs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72093 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-19 02:15:55 +00:00
..
Analysis Teach SCEVExpander to expand arithmetic involving pointers into GEP 2009-05-19 02:15:55 +00:00
Archive
AsmParser Make MDNode use CallbackVH. Also change MDNode to store Value* instead of 2009-05-10 20:57:05 +00:00
Bitcode Make MDNode use CallbackVH. Also change MDNode to store Value* instead of 2009-05-10 20:57:05 +00:00
CodeGen Fix cmake builds. 2009-05-19 00:18:14 +00:00
CompilerDriver
Debugger
ExecutionEngine Allow the JIT ExecutionEngine to report details about the generated machine code. 2009-05-18 21:06:40 +00:00
Linker
Support Tweak MemoryBuffer::getSTDIN so that it returns after the first EOF. 2009-05-18 08:44:04 +00:00
System termios.h contains the winsize structure we need to determine the 2009-05-18 17:21:34 +00:00
Target Spacing fix. 2009-05-19 00:46:42 +00:00
Transforms Teach SCEVExpander to expand arithmetic involving pointers into GEP 2009-05-19 02:15:55 +00:00
VMCore Revert r72025. It is possible for clients to convert between signed types 2009-05-18 18:55:39 +00:00
Makefile