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.

llvm-svn: 294927
This commit is contained in:
Daniel Berlin 2017-02-12 23:24:47 +00:00
parent 4d54796f87
commit 2ef385d019
1 changed files with 5 additions and 3 deletions

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:!.*]]}