OSDN Git Service

[SCEV] See through op.with.overflow intrinsics
authorSanjoy Das <sanjoy@playingwithpointers.com>
Sun, 10 Apr 2016 22:50:26 +0000 (22:50 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Sun, 10 Apr 2016 22:50:26 +0000 (22:50 +0000)
commit97ad447f4372281c494e5129e9011d07e9094a1c
treeee20703e3c1a60d0f615c147d10f01cab89a5614
parent2187597b3424f1ac91f752185dea1a5e76d5117e
[SCEV] See through op.with.overflow intrinsics

Summary:
This change teaches SCEV to see reduce `(extractvalue
0 (op.with.overflow X Y))` into `op X Y` (with a no-wrap tag if
possible).

Reviewers: atrick, regehr

Subscribers: mcrosier, mzolotukhin, llvm-commits

Differential Revision: http://reviews.llvm.org/D18684

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265912 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/ValueTracking.h
lib/Analysis/ScalarEvolution.cpp
lib/Analysis/ValueTracking.cpp
test/Analysis/ScalarEvolution/overflow-intrinsics.ll [new file with mode: 0644]