1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/lib
Chris Lattner b6a67a9068 Step #2 to improve trip count analysis for loops like this:
void f(int* begin, int* end) { std::fill(begin, end, 0); }

which turns into a != exit expression where one pointer is
strided and (thanks to step #1) known to not overflow, and 
the other is loop invariant.

The observation here is that, though the IV is strided by
4 in this case, that the IV *has* to become equal to the
end value.  It cannot "miss" the end value by stepping over
it, because if it did, the strided IV expression would
eventually wrap around.

Handle this by turning A != B into "A-B != 0" where the A-B
part is known to be NUW.

llvm-svn: 123131
2011-01-09 22:26:35 +00:00
..
Analysis Step #2 to improve trip count analysis for loops like this: 2011-01-09 22:26:35 +00:00
Archive MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
AsmParser First step in fixing PR8927: 2011-01-08 16:42:36 +00:00
Bitcode First step in fixing PR8927: 2011-01-08 16:42:36 +00:00
CodeGen Remove MachineRegisterInfo::getLastVirtReg(), it was giving wrong results 2011-01-09 21:58:20 +00:00
CompilerDriver Support/PathV1: Deprecate get{Basename,Dirname,Suffix}. 2010-12-18 22:23:07 +00:00
ExecutionEngine Remove unneeded zero arrays. 2010-12-04 15:28:22 +00:00
Linker Revamp the ValueMapper interfaces in a couple ways: 2011-01-08 08:15:20 +00:00
MC Fix PR8878. 2011-01-01 19:05:35 +00:00
Object Fix mismatched new[]/delete. 2010-12-17 09:56:50 +00:00
Support Fixed parsing of hex floats. 2011-01-06 16:55:14 +00:00
Target Teach TargetRegisterInfo how to cram stack slot indexes in with the virtual and 2011-01-09 21:17:37 +00:00
Transforms fix a few old bugs (found by inspection) where we would zap instructions 2011-01-09 19:26:10 +00:00
VMCore make domtree verification print something useful on failure. 2011-01-08 19:55:55 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00