1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/lib
Dan Gohman 922033d119 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.

llvm-svn: 72093
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 -write-graph now can be used with -o. 2009-03-27 12:57:14 +00:00
Debugger Oops...I committed too much. 2009-03-13 04:39:26 +00:00
ExecutionEngine Allow the JIT ExecutionEngine to report details about the generated machine code. 2009-05-18 21:06:40 +00:00
Linker Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
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 Reorganize llvmc code. 2009-03-02 09:01:14 +00:00