From d673beee55c56a2240527824ab99c8f578db938e Mon Sep 17 00:00:00 2001 From: Arthur Eubanks Date: Thu, 22 Oct 2020 22:26:21 -0700 Subject: [PATCH] [PruneEH] Pin tests to legacy PM prune-eh will not be ported to the NPM. Instead, a combination of function-attrs and simplifycfg should be used (as described in https://reviews.llvm.org/D44415). This pins most tests using -prune-eh to the legacy PM. Some of these were testing legacy PM infra (mostly the CGPassManager). Some of these can be tested in the NPM using function-attrs and simplifycfg. One interesting case is simplenoreturntest.ll. function-attrs + simplifycfg does not yet make a caller of a caller of a noreturn function end with unreachable like prune-eh does. That can be added in the future. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D90012 --- llvm/test/Other/2009-03-31-CallGraph.ll | 2 +- llvm/test/Transforms/Inline/2004-04-20-InlineLinkOnce.ll | 2 +- llvm/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll | 2 +- .../Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll | 2 +- llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll | 2 +- llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll | 2 +- llvm/test/Transforms/JumpThreading/pr26096.ll | 2 +- llvm/test/Transforms/PruneEH/2008-06-02-Weak.ll | 2 +- llvm/test/Transforms/PruneEH/ipo-nounwind.ll | 2 +- llvm/test/Transforms/PruneEH/looptest.ll | 3 ++- llvm/test/Transforms/PruneEH/musttail.ll | 3 ++- llvm/test/Transforms/PruneEH/operand-bundles.ll | 2 +- llvm/test/Transforms/PruneEH/pr23971.ll | 2 +- llvm/test/Transforms/PruneEH/pr26263.ll | 2 +- llvm/test/Transforms/PruneEH/recursivetest.ll | 2 +- llvm/test/Transforms/PruneEH/seh-nounwind.ll | 2 +- llvm/test/Transforms/PruneEH/simplenoreturntest.ll | 6 +++--- llvm/test/Transforms/PruneEH/simpletest.ll | 2 +- 18 files changed, 22 insertions(+), 20 deletions(-) diff --git a/llvm/test/Other/2009-03-31-CallGraph.ll b/llvm/test/Other/2009-03-31-CallGraph.ll index 189c408d74c86..54f2691eed557 100644 --- a/llvm/test/Other/2009-03-31-CallGraph.ll +++ b/llvm/test/Other/2009-03-31-CallGraph.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -inline -prune-eh -disable-output +; RUN: opt < %s -inline -prune-eh -disable-output -enable-new-pm=0 define void @f2() personality i32 (...)* @__gxx_personality_v0 { invoke void @f6() to label %ok1 unwind label %lpad1 diff --git a/llvm/test/Transforms/Inline/2004-04-20-InlineLinkOnce.ll b/llvm/test/Transforms/Inline/2004-04-20-InlineLinkOnce.ll index fabad30bb5ac7..d194ab062e042 100644 --- a/llvm/test/Transforms/Inline/2004-04-20-InlineLinkOnce.ll +++ b/llvm/test/Transforms/Inline/2004-04-20-InlineLinkOnce.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -inline -prune-eh -disable-output +; RUN: opt < %s -inline -prune-eh -disable-output -enable-new-pm=0 define linkonce void @caller() { call void @callee( ) diff --git a/llvm/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll b/llvm/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll index 415495eb515db..7e38da2b5fbc7 100644 --- a/llvm/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll +++ b/llvm/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -inline -prune-eh -disable-output +; RUN: opt < %s -inline -prune-eh -disable-output -enable-new-pm=0 %"struct.std::__codecvt_abstract_base" = type { %"struct.std::locale::facet" } %"struct.std::basic_streambuf >" = type { i32 (...)**, i32*, i32*, i32*, i32*, i32*, i32*, %"struct.std::locale" } diff --git a/llvm/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll b/llvm/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll index a0ddacdbd5b14..f7fd4e6c851e5 100644 --- a/llvm/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll +++ b/llvm/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -inline -prune-eh -disable-output +; RUN: opt < %s -inline -prune-eh -disable-output -enable-new-pm=0 ; PR827 @_ZTV8CRjii = internal global [1 x i32 (...)*] [ i32 (...)* @_ZN8CRjii12NlFeeEPN5Jr7sE ] ; <[1 x i32 (...)*]*> [#uses=0] diff --git a/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll b/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll index b4d630d8e3869..c1e7c2ee3bf62 100644 --- a/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll +++ b/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -inline -prune-eh -disable-output +; RUN: opt < %s -inline -prune-eh -disable-output -enable-new-pm=0 ; PR993 target datalayout = "e-p:32:32" target triple = "i386-unknown-openbsd3.9" diff --git a/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll b/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll index 8a613e534c7ca..e4323194f6230 100644 --- a/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll +++ b/llvm/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -inline -prune-eh -disable-output +; RUN: opt < %s -inline -prune-eh -disable-output -enable-new-pm=0 ; PR992 target datalayout = "e-p:32:32" target triple = "i686-pc-linux-gnu" diff --git a/llvm/test/Transforms/JumpThreading/pr26096.ll b/llvm/test/Transforms/JumpThreading/pr26096.ll index 096d43e24d2cf..e410bb4dd0899 100644 --- a/llvm/test/Transforms/JumpThreading/pr26096.ll +++ b/llvm/test/Transforms/JumpThreading/pr26096.ll @@ -1,4 +1,4 @@ -; RUN: opt -prune-eh -inline -jump-threading -S < %s | FileCheck %s +; RUN: opt -prune-eh -inline -jump-threading -S -enable-new-pm=0 < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/llvm/test/Transforms/PruneEH/2008-06-02-Weak.ll b/llvm/test/Transforms/PruneEH/2008-06-02-Weak.ll index 6743606b15005..65f21c813218c 100644 --- a/llvm/test/Transforms/PruneEH/2008-06-02-Weak.ll +++ b/llvm/test/Transforms/PruneEH/2008-06-02-Weak.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -prune-eh -S | FileCheck %s +; RUN: opt < %s -prune-eh -enable-new-pm=0 -S | FileCheck %s ; RUN: opt < %s -passes='function-attrs,function(simplify-cfg)' -S | FileCheck %s ; We should not infer 'nounwind' for/from a weak function, diff --git a/llvm/test/Transforms/PruneEH/ipo-nounwind.ll b/llvm/test/Transforms/PruneEH/ipo-nounwind.ll index 251bc08f3b0c3..f618abd1d69ca 100644 --- a/llvm/test/Transforms/PruneEH/ipo-nounwind.ll +++ b/llvm/test/Transforms/PruneEH/ipo-nounwind.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -prune-eh < %s | FileCheck %s +; RUN: opt -S -prune-eh -enable-new-pm=0 < %s | FileCheck %s ; RUN: opt -S -passes='function-attrs,function(simplify-cfg)' < %s | FileCheck %s declare void @may_throw() diff --git a/llvm/test/Transforms/PruneEH/looptest.ll b/llvm/test/Transforms/PruneEH/looptest.ll index 2729ec933ca79..8be8ba81edab6 100644 --- a/llvm/test/Transforms/PruneEH/looptest.ll +++ b/llvm/test/Transforms/PruneEH/looptest.ll @@ -1,4 +1,5 @@ -; RUN: opt < %s -prune-eh -S | FileCheck %s +; RUN: opt < %s -prune-eh -S -enable-new-pm=0 | FileCheck %s +; RUN: opt < %s -passes='function-attrs,function(simplify-cfg)' -S | FileCheck %s declare void @nounwind() nounwind diff --git a/llvm/test/Transforms/PruneEH/musttail.ll b/llvm/test/Transforms/PruneEH/musttail.ll index 1ad607713c6dc..1dfce4c4c6cec 100644 --- a/llvm/test/Transforms/PruneEH/musttail.ll +++ b/llvm/test/Transforms/PruneEH/musttail.ll @@ -1,4 +1,5 @@ -; RUN: opt -prune-eh -S < %s | FileCheck %s +; RUN: opt -prune-eh -enable-new-pm=0 -S < %s | FileCheck %s +; RUN: opt < %s -passes='function-attrs,function(simplify-cfg)' -S | FileCheck %s declare void @noreturn() diff --git a/llvm/test/Transforms/PruneEH/operand-bundles.ll b/llvm/test/Transforms/PruneEH/operand-bundles.ll index 112f4712238da..a64c97db36a05 100644 --- a/llvm/test/Transforms/PruneEH/operand-bundles.ll +++ b/llvm/test/Transforms/PruneEH/operand-bundles.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -prune-eh -S | FileCheck %s +; RUN: opt < %s -prune-eh -enable-new-pm=0 -S | FileCheck %s ; RUN: opt < %s -passes='function-attrs,function(simplify-cfg)' -S | FileCheck %s declare void @nounwind() nounwind diff --git a/llvm/test/Transforms/PruneEH/pr23971.ll b/llvm/test/Transforms/PruneEH/pr23971.ll index e23e8cb51251f..4f4f1e42e354d 100644 --- a/llvm/test/Transforms/PruneEH/pr23971.ll +++ b/llvm/test/Transforms/PruneEH/pr23971.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -prune-eh < %s | FileCheck %s +; RUN: opt -S -prune-eh -enable-new-pm=0 < %s | FileCheck %s ; RUN: opt -S -passes='function-attrs,function(simplify-cfg)' < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/llvm/test/Transforms/PruneEH/pr26263.ll b/llvm/test/Transforms/PruneEH/pr26263.ll index d1232abbc234a..3ff8193f58db5 100644 --- a/llvm/test/Transforms/PruneEH/pr26263.ll +++ b/llvm/test/Transforms/PruneEH/pr26263.ll @@ -2,7 +2,7 @@ ; so it leaves some of the unreachable stuff hanging around. ; Checking it with CHECK-OLD. ; -; RUN: opt -prune-eh -S < %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-OLD +; RUN: opt -prune-eh -enable-new-pm=0 -S < %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-OLD ; RUN: opt -passes='function-attrs,function(simplify-cfg)' -S < %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-NEW target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32" diff --git a/llvm/test/Transforms/PruneEH/recursivetest.ll b/llvm/test/Transforms/PruneEH/recursivetest.ll index 755f2518854b8..9732b92e1ec1e 100644 --- a/llvm/test/Transforms/PruneEH/recursivetest.ll +++ b/llvm/test/Transforms/PruneEH/recursivetest.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -prune-eh -S | FileCheck %s +; RUN: opt < %s -prune-eh -enable-new-pm=0 -S | FileCheck %s ; RUN: opt < %s -passes='function-attrs,function(simplify-cfg)' -S | FileCheck %s ; CHECK-LABEL: define internal i32 @foo() diff --git a/llvm/test/Transforms/PruneEH/seh-nounwind.ll b/llvm/test/Transforms/PruneEH/seh-nounwind.ll index 7bc8f8068dc40..25c496cbf504b 100644 --- a/llvm/test/Transforms/PruneEH/seh-nounwind.ll +++ b/llvm/test/Transforms/PruneEH/seh-nounwind.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -prune-eh < %s | FileCheck %s +; RUN: opt -S -prune-eh -enable-new-pm=0 < %s | FileCheck %s ; RUN: opt -S -passes='function-attrs,function(simplify-cfg)' < %s | FileCheck %s ; Don't remove invokes of nounwind functions if the personality handles async diff --git a/llvm/test/Transforms/PruneEH/simplenoreturntest.ll b/llvm/test/Transforms/PruneEH/simplenoreturntest.ll index ec5d100d75138..814f8b4a686f0 100644 --- a/llvm/test/Transforms/PruneEH/simplenoreturntest.ll +++ b/llvm/test/Transforms/PruneEH/simplenoreturntest.ll @@ -1,13 +1,13 @@ -; RUN: opt < %s -prune-eh -S | not grep "ret i32" +; RUN: opt < %s -prune-eh -S -enable-new-pm=0 | not grep "ret i32" declare void @noreturn() noreturn define i32 @caller() { - call void @noreturn( ) + call void @noreturn() ret i32 17 } define i32 @caller2() { - %T = call i32 @caller( ) ; [#uses=1] + %T = call i32 @caller() ret i32 %T } diff --git a/llvm/test/Transforms/PruneEH/simpletest.ll b/llvm/test/Transforms/PruneEH/simpletest.ll index 720a85a3712b4..8d427158d8eaf 100644 --- a/llvm/test/Transforms/PruneEH/simpletest.ll +++ b/llvm/test/Transforms/PruneEH/simpletest.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -prune-eh -S | FileCheck %s +; RUN: opt < %s -prune-eh -enable-new-pm=0 -S | FileCheck %s ; RUN: opt < %s -passes='function-attrs,function(simplify-cfg)' -S | FileCheck %s declare void @nounwind() nounwind