]> granicus.if.org Git - llvm/commit
NewGVN: Add UnknownExpression and create them for things we can't symbolize. Kill...
authorDaniel Berlin <dberlin@dberlin.org>
Mon, 2 Jan 2017 18:00:53 +0000 (18:00 +0000)
committerDaniel Berlin <dberlin@dberlin.org>
Mon, 2 Jan 2017 18:00:53 +0000 (18:00 +0000)
commit2c8e9c4003df3040c18af3b4e5cbcacc3554d69f
treeccda02607b3695e4111c9e28c7128e7554139ef8
parent61cf41cb3989000b0e7f9b65c9dc8cf650768cc3
NewGVN: Add UnknownExpression and create them for things we can't symbolize. Kill fragile machinery for handling null expressions.

Summary:
This avoids the very fragile code for null expressions. We could also use a denseset that tracks which things have null expressions instead, but that seems pretty fragile and premature optimization.

This resolves a number of infinite loop cases, test reductions coming.

Reviewers: davide

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290816 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Scalar/GVNExpression.h
lib/Transforms/Scalar/NewGVN.cpp