NewGVN: We really pass TBAA if we enable DCE and fix the test. Note that GVN eliminates no-use readonly/readnone calls, even if they are not marked nounwind. NewGVN only eliminates them if they are marked nounwind, and thus, trivially dead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294927 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Berlin 2017-02-12 23:24:47 +00:00
parent 524c48536b
commit f957e0de79

View File

@ -1,5 +1,7 @@
; XFAIL: *
; RUN: opt -tbaa -basicaa -newgvn -S < %s | FileCheck %s
; NewGVN lets DCE take care of the dead code
; Some of it is gotten, some of it is not, because NewGVN does
; not attempt to spend large amounts of time doing DCE
; RUN: opt -tbaa -basicaa -newgvn -dce -S < %s | FileCheck %s
define i32 @test1(i8* %p, i8* %q) {
; CHECK: @test1(i8* %p, i8* %q)
@ -104,7 +106,7 @@ define i32 @test9(i32* %p, i32* %q) {
declare void @clobber()
declare i32 @foo(i8*) readonly
declare i32 @foo(i8*) readonly nounwind
; CHECK: [[TAGC]] = !{[[TYPEC:!.*]], [[TYPEC]], i64 0}
; CHECK: [[TYPEC]] = !{!"C", [[TYPEA:!.*]]}