]> granicus.if.org Git - llvm/commitdiff
[PM] Turn on the new PM's inliner in addition to the current one for
authorChandler Carruth <chandlerc@gmail.com>
Tue, 27 Dec 2016 07:18:43 +0000 (07:18 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 27 Dec 2016 07:18:43 +0000 (07:18 +0000)
most of the inliner test cases.

The inliner involves a bunch of interesting code and tends to be where
most of the issues I've seen experimenting with the new PM lie. All of
these test cases pass, but I'd like to keep some more thorough coverage
here so doing a fairly blanket enabling.

There are a handful of interesting tests I've not enabled yet because
they're focused on the always inliner, or on functionality that doesn't
(yet) exist in the inliner.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290592 91177308-0d34-0410-b5e6-96231b3b80d8

60 files changed:
test/Transforms/Inline/2007-04-15-InlineEH.ll
test/Transforms/Inline/2007-06-25-WeakInline.ll
test/Transforms/Inline/2007-12-19-InlineNoUnwind.ll
test/Transforms/Inline/2008-09-02-NoInline.ll
test/Transforms/Inline/2009-01-08-NoInlineDynamicAlloca.ll
test/Transforms/Inline/X86/inline-target-attr.ll
test/Transforms/Inline/alloca-bonus.ll
test/Transforms/Inline/alloca-dbgdeclare.ll
test/Transforms/Inline/alloca_test.ll
test/Transforms/Inline/array-alloca.ll
test/Transforms/Inline/blockaddress.ll
test/Transforms/Inline/byval-tail-call.ll
test/Transforms/Inline/byval.ll
test/Transforms/Inline/byval_lifetime.ll
test/Transforms/Inline/casts.ll
test/Transforms/Inline/comdat-ipo.ll
test/Transforms/Inline/crash-lifetime-marker.ll
test/Transforms/Inline/debug-info-duplicate-calls.ll
test/Transforms/Inline/frameescape.ll
test/Transforms/Inline/ignore-debug-info.ll
test/Transforms/Inline/inline-assume.ll
test/Transforms/Inline/inline-byval-bonus.ll
test/Transforms/Inline/inline-cold-callee.ll
test/Transforms/Inline/inline-constexpr-addrspacecast-argument.ll
test/Transforms/Inline/inline-fast-math-flags.ll
test/Transforms/Inline/inline-fp.ll
test/Transforms/Inline/inline-funclets.ll
test/Transforms/Inline/inline-hot-callee.ll
test/Transforms/Inline/inline-hot-callsite.ll
test/Transforms/Inline/inline-invoke-with-asm-call.ll
test/Transforms/Inline/inline-musttail-varargs.ll
test/Transforms/Inline/inline-tail.ll
test/Transforms/Inline/inline-vla.ll
test/Transforms/Inline/inline_cleanup.ll
test/Transforms/Inline/inline_constprop.ll
test/Transforms/Inline/inline_dbg_declare.ll
test/Transforms/Inline/inline_prune.ll
test/Transforms/Inline/inline_returns_twice.ll
test/Transforms/Inline/inline_ssp.ll
test/Transforms/Inline/inline_unreachable-2.ll
test/Transforms/Inline/inline_unreachable.ll
test/Transforms/Inline/invoke-cleanup.ll
test/Transforms/Inline/invoke-combine-clauses.ll
test/Transforms/Inline/invoke-cost.ll
test/Transforms/Inline/invoke_test-1.ll
test/Transforms/Inline/invoke_test-3.ll
test/Transforms/Inline/lifetime-no-datalayout.ll
test/Transforms/Inline/lifetime.ll
test/Transforms/Inline/local-as-metadata-undominated-use.ll
test/Transforms/Inline/nonnull.ll
test/Transforms/Inline/parallel-loop-md.ll
test/Transforms/Inline/pr21206.ll
test/Transforms/Inline/pr22285.ll
test/Transforms/Inline/pr26698.ll
test/Transforms/Inline/pr28298.ll
test/Transforms/Inline/profile-meta.ll
test/Transforms/Inline/recursive.ll
test/Transforms/Inline/switch.ll
test/Transforms/Inline/vector-bonus.ll
test/Transforms/Inline/zero-cost.ll

index 55555f03fd676bfaa6bd6b00aca4d9773d98e69a..482c4efcf09cca0155c65ec9b4fddc789577ddc1 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 ; PR1335
 
 target triple = "i686-pc-linux-gnu"
index 760690a00173123ca8d53f3fc640d9403771b14b..064cda6632e09b75321e8bad415744b0720d8eeb 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 ; 'bar' can be overridden at link-time, don't inline it.
 define weak void @bar() {
index 16e9d41bffd69bbc036a5a086a2b0163aac9624b..2930aec3dbf5326680d21b24b88a8f96dcb4f13d 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 declare i1 @extern()
 
index 92088b3e3431a2d440d4e7d3d6d5f525a4ce7fab..902b53bfe9b281dcc60a2f01b3f17f847346e67e 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 define i32 @fn2() noinline {
 ; CHECK-LABEL: define i32 @fn2()
index e125c821e51dd0825c6d3f70b999b426509b7e85..2c4341c7e35528ef46ff8430ee05dc9fd6d89edc 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 ; Do not inline calls with variable-sized alloca.
 
 @q = common global i8* null
index c59f4b4594b86f3a67e0ac2c98bfba1084edff0a..d0846352ff19bcf9539d98a89249803e50269338 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -S -inline | FileCheck %s
+; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -S -passes='cgscc(inline)' | FileCheck %s
 ; Check that we only inline when we have compatible target attributes.
 ; X86 has implemented a target attribute that will verify that the attribute
 ; sets are compatible.
index 76a59ff6915ccabd54deab326e61f90d72b80729..542dcee0fcb2a8b195c66af162edeee8588dd74a 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline < %s -S -o - -inline-threshold=8 | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' < %s -S -o - -inline-threshold=8 | FileCheck %s
 
 target datalayout = "p:32:32"
 
index 881aceffb2815383a6bf51f952dfea43882241f0..9f41b0d9be52b8ad1e38b93d3031ecd51c1bb3a5 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S < %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 ; struct A {
 ;   int arg0;
 ;   double arg1[2];
index c9d8f11cd845217c7e2b3708ac8309c4d8fd2dab..cd0713955a2ee9d629b151f8578ece036645783b 100644 (file)
@@ -3,6 +3,7 @@
 ; function are moved to the top of the function they are inlined into.
 ;
 ; RUN: opt -S -inline < %s | FileCheck %s
+; RUN: opt -S -passes='cgscc(inline)' < %s | FileCheck %s
 
 define i32 @func(i32 %i) {
   %X = alloca i32
index 57aecebd8baffb7be433a36ecbb0f94dc2141e7b..b71dafee00fe549feb09e7109ee87eccce15e083 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S < %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 %struct.A = type { i32 }
 
 define void @callee1(i32 %M) {
index 22ad8821f0692f7619b68a551b8b577addddaf6e..ab0f5adb20a4327206b77c70a10d4cbfe8fdcfa7 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S < %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 ; PR10162
 
 ; Make sure doit is not inlined since the blockaddress is taken
index 7553b76cf15f2248510e91c022e3687d24131970..e58d58c654997f5f4692bb97c5bfc15c39fc33b9 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -basicaa -tailcallelim -inline -instcombine -dse -S | FileCheck %s
+; RUN: opt < %s -aa-pipeline=basic-aa -passes='function(tailcallelim),cgscc(inline,function(instcombine,dse))' -S | FileCheck %s
 ; PR7272
 
 ; Calls that capture byval parameters cannot be marked as tail calls. Other
index d4edf2503cf6f3771bcc33d01b09aac2d48aea8e..aeb9964b2171e8e0a7d7bb80f2914532e9370457 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 ; Inlining a byval struct should cause an explicit copy into an alloca.
 
index b500eaea3317f87eda48fc1326cfcd13226f93dc..4517e448018ba531fff58e68bdbf1e8681904934 100644 (file)
@@ -1,5 +1,5 @@
 ; RUN: opt -S -inline < %s | FileCheck %s
-; END.
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 
 ; By inlining foo, an alloca is created in main to hold the byval argument, so
 ; a lifetime marker should be generated as well by default.
index 3c93e05e0b5a871f606ea26bc026eb80bcf894f3..6354a531bc0f87937f72b9845fda145535c339a6 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 define i32 @testByte(i8 %X) {
 entry:
index 8bdea0bdbe0d39fca6e3d82ddd2748d36ff2a6a8..0b9ccb9ccc0f8e4dd809ceecedd482af7aaeca60 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S < %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 
 define i32 @caller() {
 ; CHECK-LABEL: @caller(
index 42e926b1f63daf23aa596345fee5a1a093e1c2b4..e7a594cdb5e438b38ba8b4da0efcb90c446a26e7 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 ; InlineFunction would assert inside the loop that leaves lifetime markers if
 ; there was an zero-sized AllocaInst. Check that it doesn't assert and doesn't
index c87e328f24e590410aefbed46ffc897a82f0e5c0..df0cd0922ea48cc347a17d27412fb716dfa85354 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -always-inline -S | FileCheck %s
+; RUN: opt -passes='always-inline' -S < %s | FileCheck %s
 
 ; Original input generated from clang -emit-llvm -S -c -mllvm -disable-llvm-optzns
 ;
index 6615fe9a76e4df19077a8657f155b585445367fa..f2d4245cdd66cb6eb53c7995d465cee05be21416 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S < %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 
 ; PR23216: We can't inline functions using llvm.localescape.
 
index 1cce8eb9251205af2beda258d0e0c3f2d05b3cd3..9827ab1e305d8b7218f9eaa4a18a5c367fead76b 100644 (file)
@@ -1,5 +1,7 @@
 ; RUN: opt < %s -S -inline -inline-threshold=2 | FileCheck %s
 ; RUN: opt < %s -S -strip-debug -inline -inline-threshold=2 | FileCheck %s
+; RUN: opt < %s -S -passes='cgscc(inline)' -inline-threshold=2 | FileCheck %s
+; RUN: opt < %s -S -strip-debug -passes='cgscc(inline)' -inline-threshold=2 | FileCheck %s
 ;
 ; The purpose of this test is to check that debug info doesn't influence
 ; inlining decisions.
index 4a7dc3edb22d353531ab58d716f1f47b9229c148..d8e2a26d896c7ccdf81ce65fcbcefcf8ceb32e66 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S -o - < %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 
 %0 = type opaque
 %struct.Foo = type { i32, %0* }
index 7f0c0e1fcbaaef54d9321df16962baaef52909cc..785de04c3f12546e635b5ef9c6215cea63911b1f 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -S -inline -inline-threshold=275 < %s | FileCheck %s
+; RUN: opt -S -passes='cgscc(inline)' -inline-threshold=275 < %s | FileCheck %s
 ; PR13095
 
 ; The performance of the c-ray benchmark largely depends on the inlining of a
index cfd56c281730858e3b7c608759e215d539e559a9..153f446c5c2e164f3b7a1a0a71df1f88622b98ad 100644 (file)
@@ -1,4 +1,5 @@
-; RUN: opt < %s -inline  -inlinecold-threshold=0 -S | FileCheck %s
+; RUN: opt < %s -inline -inlinecold-threshold=0 -S | FileCheck %s
+; RUN: opt < %s -passes='require<profile-summary>,cgscc(inline)' -inlinecold-threshold=0 -S | FileCheck %s
 
 ; This tests that a cold callee gets the (lower) inlinecold-threshold even without
 ; Cold hint and does not get inlined because the cost exceeds the inlinecold-threshold.
index 498a995ecd45be4a082a932ce59c0451c9947065..1f2b143c97ee0e5aed8028d366fc1ff3fe981328 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -S -inline < %s | FileCheck %s
+; RUN: opt -S -passes='cgscc(inline)' < %s | FileCheck %s
 
 target datalayout = "e-p3:32:32-p4:64:64-n32"
 
index e5ff8f7bfe2b3b823cb2b4f97f7cdf513ee1ca94..dc2f2e1837e171ed68daeedb69b28a10d85d2f89 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -S -inline -inline-threshold=20 | FileCheck %s
+; RUN: opt < %s -S -passes='cgscc(inline)' -inline-threshold=20 | FileCheck %s
 ; Check that we don't drop FastMathFlag when estimating inlining profitability.
 ;
 ; In this test we should inline 'foo'  to 'boo', because it'll fold to a
index 59554cd2911786d1191f30bd5b153f9656d7b686..dd5972fe1b8a33aaea488268bc929c36eef38b62 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -S -inline < %s | FileCheck %s
+; RUN: opt -S -passes='cgscc(inline)' < %s | FileCheck %s
 ; Make sure that soft float implementations are calculated as being more expensive
 ; to the inliner.
 
index 2cc2153dd8e1b6d4c8cdda533eb8c17bc69cd458..409310380f216fd0aa0dacc5d66fa3295f2d7f70 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S %s | FileCheck %s
 
 declare void @g()
 
index 59d44bbb501f3b592a34509f131e2fb7d835f0ee..da6e52343b2d549e3f0cf37e265b60e9a046337e 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -inline-threshold=0 -inlinehint-threshold=100 -S | FileCheck %s
+; RUN: opt < %s -passes='require<profile-summary>,cgscc(inline)' -inline-threshold=0 -inlinehint-threshold=100 -S | FileCheck %s
 
 ; This tests that a hot callee gets the (higher) inlinehint-threshold even without
 ; inline hints and gets inlined because the cost is less than inlinehint-threshold.
index cc18fe6099cf0484ea0f4b43e0b643eed5bb69a2..bdd7175b3eea89a42908b4070e1f83419f80030d 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -inline-threshold=0 -hot-callsite-threshold=100 -S | FileCheck %s
+; RUN: opt < %s -passes='require<profile-summary>,cgscc(inline)' -inline-threshold=0 -hot-callsite-threshold=100 -S | FileCheck %s
 
 ; This tests that a hot callsite gets the (higher) inlinehint-threshold even without
 ; without inline hints and gets inlined because the cost is less than
index 93bb0358055eed2a18685e66ca640409e126f2cf..3b4ba19b7744d4ddf110671b9e90890c851565d1 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 target triple = "x86_64-apple-darwin"
 
 ; In inliner, we assume that inline asm does not throw. This testing case makes
index e93ef763aeff9ba8ede6966d2cd44dece62f7b7c..bb36e8ce699b2a83e557ef6206fe0f8dcccd48e7 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -instcombine -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline,function(instcombine))' -S | FileCheck %s
 
 ; We can't inline this thunk yet, but one day we will be able to.  And when we
 ; do, this test case will be ready.
index b40328e0a272ac6347e03254ccc59e5b60a2385a..66a6be7a59bf35d18e0481d5644926452162fe2b 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 ; We have to apply the less restrictive TailCallKind of the call site being
 ; inlined and any call sites cloned into the caller.
index df21b3f30cff28f2fe970f4cfc35f3bd436c86a7..fd4510c4f0938cf6efcb4c4b91bca0cf128740cf 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -S -inline %s -o - | FileCheck %s
+; RUN: opt -S -passes='cgscc(inline)' %s -o - | FileCheck %s
 
 ; Check that memcpy2 is completely inlined away.
 ; CHECK-NOT: memcpy2
index 4361c2e8bbf435b2aec3cfb8f28ec204606e90d1..344d900c5a3aff974c00b425da51f394640d7d93 100644 (file)
@@ -2,6 +2,7 @@
 ; uncond branches away after it is done specializing.
 
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 @A = weak global i32 0         ; <i32*> [#uses=1]
 @B = weak global i32 0         ; <i32*> [#uses=1]
index c13e023017a08d726efc08ff08670590188d5566..b07ec03d7d67de0102e1debca8b6dfe71f70e8e1 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -inline-threshold=20 -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -inline-threshold=20 -S | FileCheck %s
 
 define internal i32 @callee1(i32 %A, i32 %B) {
   %C = sdiv i32 %A, %B
index a2c127e44e0a6a7274ad8120b0512938caa95e36..e2d8551a90831abe3849bed18574569331de731c 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -S -inline | FileCheck %s
+; RUN: opt < %s -S -passes='cgscc(inline)' | FileCheck %s
 ;
 ; The purpose of this test is to check that inline pass preserves debug info
 ; for variable using the dbg.declare intrinsic.
index 72f84059f2d77bc40b483f3145d9aa77322c17d5..c4c5c0cf25292fc25bfaa5e6cd24186af6c150e6 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 define internal i32 @callee1(i32 %A, i32 %B) {
 ; CHECK-NOT: @callee1
index 8a131bca749d3afc6afd710fb7953752d29c9c6d..c1f31d6719ecd0fb161c6e3cfacb6892454afa2e 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 ; Check that functions with "returns_twice" calls are only inlined,
 ; if they are themselves marked as such.
index 1a077230da091a41902f78c40b8131b238b56385..bad332dbff0a07c3c478e1303036b8eead4ca1b7 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline %s -S | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' %s -S | FileCheck %s
 ; Ensure SSP attributes are propagated correctly when inlining.
 
 @.str = private unnamed_addr constant [11 x i8] c"fun_nossp\0A\00", align 1
index cc038c9b72087476225d621086450de4b1ae131d..825999593ac14d78a691472238a36321daa6da38 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 ; CHECK-LABEL: caller
 ; CHECK: call void @callee
@@ -19,4 +20,4 @@ bb2:
   ret void
 }
 
-declare void @extern()
\ No newline at end of file
+declare void @extern()
index dbf0119113a390da92256752670b799a7183fb6e..b23ddc852755857ba3a1b25ef2c47c379e9fd470 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 @a = global i32 4
 @_ZTIi = external global i8*
index 2750b79fbe11fc775ce9690322c68152ba264936..e04f4fe12f509c54a354bed825d4f16529972349 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt %s -inline -S | FileCheck %s
+; RUN: opt %s -passes='cgscc(inline)' -S | FileCheck %s
 
 declare void @external_func()
 
index e3788d6d64322ae045a755ae57e800143966c78b..09a437a5d30e54055f62095e8f0a256a5309d6ed 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: opt %s -inline -S | FileCheck %s
+; RUN: opt %s -passes='cgscc(inline)' -S | FileCheck %s
 
 declare void @external_func()
 declare void @abort()
index 24f2893e90f7490b0d0ca3bdbe593e24aee7c136..fb60d42ecdedd0b85356a4c860db49e3fc4aa2e7 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline < %s -S -o - -inline-threshold=100 | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' < %s -S -o - -inline-threshold=100 | FileCheck %s
 
 target datalayout = "p:32:32"
 
index 2d238f48ae286069fb4a5595ed995b04cf0ff82d..a5964121866ec9e17c6e3160a68010e959fa48f7 100644 (file)
@@ -2,6 +2,7 @@
 ; instructions
 
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 declare void @might_throw()
 
index b325b02577d6daf398a14b9e69dc6053b86432c6..149afac4c4abd8a504d967f836ef08fe3694d6d8 100644 (file)
@@ -2,6 +2,7 @@
 ; turned into branches to the invoke destination.
 
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 declare void @might_throw()
 
index 4307064e1946ace61c7823c57e27e8b06c9a6503..0212e69d624a1adbcf109e2f41021f78bc7d78d5 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S < %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 
 declare void @use(i8* %a)
 
index fc209ccc50f1efcece71e3f20809150e5ed1e999..4f415e58f1bf4df765a742f863fc854fddbc628d 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S < %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
 
 declare void @llvm.lifetime.start(i64, i8*)
index d170c651afe09b03ce6573fb1308dc9ee1b4fe9e..474bba4cbbc5a5508a301be4fd0578e898bdac4c 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S < %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 
 ; Make sure the inliner doesn't crash when a metadata-bridged SSA operand is an
 ; undominated use.
index 4aa0c28bfc722d5b4c21681bb593888831becb35..466654669249d13279f5fa5756e2773c89f128db 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -S -inline %s | FileCheck %s
+; RUN: opt -S -passes='cgscc(inline)' %s | FileCheck %s
 
 declare void @foo()
 declare void @bar()
index 43a44feb247ed0e0150b786dc097907b7e533b1f..abbacc9acd099426a03b95130289c4544721eda3 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -S -inline < %s | FileCheck %s
+; RUN: opt -S -passes='cgscc(inline)' < %s | FileCheck %s
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
index e46003050a9fb6ad4be2521ae9dcf47180f9fe6b..fa8f183c904257eab63229d3a389c36d56b3fc4c 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
 
 $c = comdat any
 ; CHECK: $c = comdat any
index 1deae1860f08ed603f12cf01b99f43d7700d6014..d7631554c2cfd48fb32cdf963d0997e496151668 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline),globaldce' -S | FileCheck %s
 
 $f1 = comdat any
 ; CHECK-NOT: $f1 = comdat any
index 1986db0bf3f4808bd51aeed62fd9e82c18d5e809..12a40c100e91bd23565f45c7df2a0fafef3428ea 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -S -inline < %s | FileCheck %s
+; RUN: opt -S -passes='cgscc(inline)' < %s | FileCheck %s
 target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
 target triple = "i686-pc-windows-msvc18.0.0"
 
index 0bb3f0a71159b2fa687ded43fa65d366a18e9692..83224106c463a456954e92b36748ce1786dc8951 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: opt -S -inline < %s | FileCheck %s
+; RUN: opt -S -passes='cgscc(inline)' < %s | FileCheck %s
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
index 66fe7413dd07023f9f50d3859ae7ec001e727f45..3c967d6618f780ceef4987294fc168c3ae3d5a3d 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -S -inline | FileCheck %s
+; RUN: opt < %s -S -passes='cgscc(inline)' | FileCheck %s
 
 ; Make sure that profile and unpredictable  metadata is preserved when cloning a select.
 
index b9b14d1dbb610c498a3fde3e9e7c6f0886630a16..e189339e224b0416d8e3618a85efaeb39281b49f 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S < %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s
 
 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
 target triple = "i386-apple-darwin10.0"
index c5dab53e8b64acad6c86d0602bd7d9d15bf6be20..83f01926982924a121e160d1b01caa21b7f56c77 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -inline-threshold=20 -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -inline-threshold=20 -S | FileCheck %s
 
 define i32 @callee(i32 %a) {
   switch i32 %a, label %sw.default [
index c6745d59e5e04a8f661b082ddea10ffc5261de61..567ff02e136c1f1a5f81df67a3541efdde292da2 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt < %s -inline -inline-threshold=35  -S | FileCheck %s
+; RUN: opt < %s -passes='cgscc(inline)' -inline-threshold=35  -S | FileCheck %s
 
 define i32 @bar(<4 x i32> %v, i32 %i) #0 {
 entry:
index 8e7194a1963b7792f353152a7f58ecbb0c5f228a..6f5348ff395add4da9a1bf4c2b542ee13d56c7eb 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -inline -S %s | FileCheck %s
+; RUN: opt -passes='cgscc(inline)' -S %s | FileCheck %s
 
 define void @f() {
 entry: