Update BasicAliasAnalysis to understand that nothing aliases with undef values.
authorDaniel Berlin <dberlin@dberlin.org>
Tue, 5 May 2015 18:10:49 +0000 (18:10 +0000)
committerDaniel Berlin <dberlin@dberlin.org>
Tue, 5 May 2015 18:10:49 +0000 (18:10 +0000)
commit7a5c0e599c95eed4df347643579d038fcb6e1eac
treede84e1b409bfabc873082a98be5fb64ef826eeff
parenta67d5abd53e7f93e6412b6c25f85a5491daf711b
Update BasicAliasAnalysis to understand that nothing aliases with undef values.
It got this in some cases (if one of them was an identified object), but not in all cases.

This caused stores to undef to block load-forwarding in some cases, etc.

Added test to Transforms/GVN to verify optimization occurs as expected.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236511 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/BasicAliasAnalysis.cpp
test/Transforms/GVN/basic-undef-test.ll [new file with mode: 0644]