1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 08:23:21 +01:00
llvm-mirror/lib
Chris Lattner d2c1936c14 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
}

llvm-svn: 125271
2011-02-10 07:11:16 +00:00
..
Analysis Formatting and comment tweaks. 2011-02-09 17:45:03 +00:00
Archive Archive: Fix temp path names. 2011-01-17 16:43:30 +00:00
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 Support/Path: Deprecate PathV1::exists and replace all uses with PathV2::fs::exists. 2011-01-10 02:34:23 +00:00
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 Object: Fix type punned pointer issues by making DataRefImpl a union and using intptr_t. 2011-01-21 02:27:02 +00:00
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