From f957e0de7910a595508a7b705387b396703fb623 Mon Sep 17 00:00:00 2001 From: Daniel Berlin Date: Sun, 12 Feb 2017 23:24:47 +0000 Subject: [PATCH] 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 --- test/Transforms/NewGVN/tbaa.ll | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/test/Transforms/NewGVN/tbaa.ll b/test/Transforms/NewGVN/tbaa.ll index 47e20fae7f9..f13f4631073 100644 --- a/test/Transforms/NewGVN/tbaa.ll +++ b/test/Transforms/NewGVN/tbaa.ll @@ -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:!.*]]} -- 2.50.1