]> granicus.if.org Git - llvm/commit
PredicateInfo: Support switch statements
authorDaniel Berlin <dberlin@dberlin.org>
Wed, 22 Feb 2017 22:20:58 +0000 (22:20 +0000)
committerDaniel Berlin <dberlin@dberlin.org>
Wed, 22 Feb 2017 22:20:58 +0000 (22:20 +0000)
commit4ddfe6915d12e8a74b9567d8b3aeaee89c92f10c
treed7babd1f2117f6fdcf5de01b61acde8ecd43a7a4
parentf5284c66b8b70706e9450c9035a083b01eb78635
PredicateInfo: Support switch statements

Summary:
Depends on D29606 and D29682

Makes us pass GVN's edge.ll (we also will pass a few other testcases
they just need cleaning up).

Thoughts on the Predicate* hiearchy of classes especially welcome :)
(it's not clear to me how best to organize it, and currently, the getBlock* seems ... uglier than maybe wasting a field somewhere or something).

Reviewers: davide

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D29747

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295889 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/PredicateInfo.h
lib/Transforms/Scalar/NewGVN.cpp
lib/Transforms/Utils/PredicateInfo.cpp
test/Transforms/NewGVN/condprop.ll
test/Transforms/NewGVN/edge.ll
test/Transforms/Util/PredicateInfo/condprop.ll
test/Transforms/Util/PredicateInfo/edge.ll