llvm-6502/lib
Chris Lattner 6cdf2ea98e implement the first part of PR8882: when lowering an inbounds
gep to explicit addressing, we know that none of the intermediate
computation overflows.

This could use review: it seems that the shifts certainly wouldn't
overflow, but could the intermediate adds overflow if there is a 
negative index?

Previously the testcase would instcombine to:

define i1 @test(i64 %i) {
  %p1.idx.mask = and i64 %i, 4611686018427387903
  %cmp = icmp eq i64 %p1.idx.mask, 1000
  ret i1 %cmp
}

now we get:

define i1 @test(i64 %i) {
  %cmp = icmp eq i64 %i, 1000
  ret i1 %cmp
}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125271 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-10 07:11:16 +00:00
..
Analysis Formatting and comment tweaks. 2011-02-09 17:45:03 +00:00
Archive
AsmParser implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr. 2011-02-07 16:40:21 +00:00
Bitcode implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr. 2011-02-07 16:40:21 +00:00
CodeGen After 3-addressifying a two-address instruction, update the register maps; add a missing check when considering whether it's profitable to commute. rdar://8977508. 2011-02-10 02:20:55 +00:00
CompilerDriver
ExecutionEngine Fix libffi usage when it is on a custom path. 2011-01-28 16:49:05 +00:00
Linker Correctly merge available_externally and regular definitions when they have 2011-02-01 05:33:52 +00:00
MC Fix comparator used for looking up previously instantiated EDDisassemblers. 2011-02-09 21:03:19 +00:00
Object
Support Rip out realpath() support. It's expensive, and often a bad idea, and 2011-02-09 23:33:15 +00:00
Target [AVX] Implement 256-bit vector lowering for INSERT_VECTOR_ELT. 2011-02-09 15:32:06 +00:00
Transforms implement the first part of PR8882: when lowering an inbounds 2011-02-10 07:11:16 +00:00
VMCore switch the constantexpr, target folder, and IRBuilder interfaces 2011-02-10 07:01:55 +00:00
Makefile