diff options
Diffstat (limited to 'llvm/test/Transforms/Inline/inline-cold.ll')
-rw-r--r-- | llvm/test/Transforms/Inline/inline-cold.ll | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/llvm/test/Transforms/Inline/inline-cold.ll b/llvm/test/Transforms/Inline/inline-cold.ll deleted file mode 100644 index e0e679ad403..00000000000 --- a/llvm/test/Transforms/Inline/inline-cold.ll +++ /dev/null @@ -1,188 +0,0 @@ -; RUN: opt < %s -inline -S -inlinecold-threshold=25 | FileCheck %s -; Test that functions with attribute Cold are not inlined while the -; same function without attribute Cold will be inlined. - -; RUN: opt < %s -inline -S -inline-threshold=600 | FileCheck %s -check-prefix=OVERRIDE -; The command line argument for inline-threshold should override -; the default cold threshold, so a cold function with size bigger -; than the default cold threshold (225) will be inlined. - -; RUN: opt < %s -inline -S | FileCheck %s -check-prefix=DEFAULT -; The same cold function will not be inlined with the default behavior. - -@a = global i32 4 - -; This function should be larger than the cold threshold (75), but smaller -; than the regular threshold. -; Function Attrs: nounwind readnone uwtable -define i32 @simpleFunction(i32 %a) #0 { -entry: - call void @extern() - %a1 = load volatile i32, i32* @a - %x1 = add i32 %a1, %a1 - %a2 = load volatile i32, i32* @a - %x2 = add i32 %x1, %a2 - %a3 = load volatile i32, i32* @a - %x3 = add i32 %x2, %a3 - %a4 = load volatile i32, i32* @a - %x4 = add i32 %x3, %a4 - %a5 = load volatile i32, i32* @a - %x5 = add i32 %x4, %a5 - %a6 = load volatile i32, i32* @a - %x6 = add i32 %x5, %a6 - %a7 = load volatile i32, i32* @a - %x7 = add i32 %x6, %a6 - %a8 = load volatile i32, i32* @a - %x8 = add i32 %x7, %a8 - %a9 = load volatile i32, i32* @a - %x9 = add i32 %x8, %a9 - %a10 = load volatile i32, i32* @a - %x10 = add i32 %x9, %a10 - %a11 = load volatile i32, i32* @a - %x11 = add i32 %x10, %a11 - %a12 = load volatile i32, i32* @a - %x12 = add i32 %x11, %a12 - %add = add i32 %x12, %a - ret i32 %add -} - -; Function Attrs: nounwind cold readnone uwtable -define i32 @ColdFunction(i32 %a) #1 { -; CHECK-LABEL: @ColdFunction -; CHECK: ret -; OVERRIDE-LABEL: @ColdFunction -; OVERRIDE: ret -; DEFAULT-LABEL: @ColdFunction -; DEFAULT: ret -entry: - call void @extern() - %a1 = load volatile i32, i32* @a - %x1 = add i32 %a1, %a1 - %a2 = load volatile i32, i32* @a - %x2 = add i32 %x1, %a2 - %a3 = load volatile i32, i32* @a - %x3 = add i32 %x2, %a3 - %a4 = load volatile i32, i32* @a - %x4 = add i32 %x3, %a4 - %add = add i32 %x4, %a - ret i32 %add -} - -; This function should be larger than the default cold threshold (225). -define i32 @ColdFunction2(i32 %a) #1 { -; CHECK-LABEL: @ColdFunction2 -; CHECK: ret -; OVERRIDE-LABEL: @ColdFunction2 -; OVERRIDE: ret -; DEFAULT-LABEL: @ColdFunction2 -; DEFAULT: ret -entry: - call void @extern() - %a1 = load volatile i32, i32* @a - %x1 = add i32 %a1, %a1 - %a2 = load volatile i32, i32* @a - %x2 = add i32 %x1, %a2 - %a3 = load volatile i32, i32* @a - %x3 = add i32 %x2, %a3 - %a4 = load volatile i32, i32* @a - %x4 = add i32 %x3, %a4 - %a5 = load volatile i32, i32* @a - %x5 = add i32 %x4, %a5 - %a6 = load volatile i32, i32* @a - %x6 = add i32 %x5, %a6 - %a7 = load volatile i32, i32* @a - %x7 = add i32 %x6, %a7 - %a8 = load volatile i32, i32* @a - %x8 = add i32 %x7, %a8 - %a9 = load volatile i32, i32* @a - %x9 = add i32 %x8, %a9 - %a10 = load volatile i32, i32* @a - %x10 = add i32 %x9, %a10 - %a11 = load volatile i32, i32* @a - %x11 = add i32 %x10, %a11 - %a12 = load volatile i32, i32* @a - %x12 = add i32 %x11, %a12 - - %a21 = load volatile i32, i32* @a - %x21 = add i32 %x12, %a21 - %a22 = load volatile i32, i32* @a - %x22 = add i32 %x21, %a22 - %a23 = load volatile i32, i32* @a - %x23 = add i32 %x22, %a23 - %a24 = load volatile i32, i32* @a - %x24 = add i32 %x23, %a24 - %a25 = load volatile i32, i32* @a - %x25 = add i32 %x24, %a25 - %a26 = load volatile i32, i32* @a - %x26 = add i32 %x25, %a26 - %a27 = load volatile i32, i32* @a - %x27 = add i32 %x26, %a27 - %a28 = load volatile i32, i32* @a - %x28 = add i32 %x27, %a28 - %a29 = load volatile i32, i32* @a - %x29 = add i32 %x28, %a29 - %a30 = load volatile i32, i32* @a - %x30 = add i32 %x29, %a30 - %a31 = load volatile i32, i32* @a - %x31 = add i32 %x30, %a31 - %a32 = load volatile i32, i32* @a - %x32 = add i32 %x31, %a32 - - %a41 = load volatile i32, i32* @a - %x41 = add i32 %x32, %a41 - %a42 = load volatile i32, i32* @a - %x42 = add i32 %x41, %a42 - %a43 = load volatile i32, i32* @a - %x43 = add i32 %x42, %a43 - %a44 = load volatile i32, i32* @a - %x44 = add i32 %x43, %a44 - %a45 = load volatile i32, i32* @a - %x45 = add i32 %x44, %a45 - %a46 = load volatile i32, i32* @a - %x46 = add i32 %x45, %a46 - %a47 = load volatile i32, i32* @a - %x47 = add i32 %x46, %a47 - %a48 = load volatile i32, i32* @a - %x48 = add i32 %x47, %a48 - %a49 = load volatile i32, i32* @a - %x49 = add i32 %x48, %a49 - %a50 = load volatile i32, i32* @a - %x50 = add i32 %x49, %a50 - %a51 = load volatile i32, i32* @a - %x51 = add i32 %x50, %a51 - %a52 = load volatile i32, i32* @a - %x52 = add i32 %x51, %a52 - - %add = add i32 %x52, %a - ret i32 %add -} - -; Function Attrs: nounwind readnone uwtable -define i32 @bar(i32 %a) #0 { -; CHECK-LABEL: @bar -; CHECK: call i32 @ColdFunction(i32 5) -; CHECK-NOT: call i32 @simpleFunction(i32 6) -; CHECK: call i32 @ColdFunction2(i32 5) -; CHECK: ret -; OVERRIDE-LABEL: @bar -; OVERRIDE-NOT: call i32 @ColdFunction(i32 5) -; OVERRIDE-NOT: call i32 @simpleFunction(i32 6) -; OVERRIDE-NOT: call i32 @ColdFunction2(i32 5) -; OVERRIDE: ret -; DEFAULT-LABEL: @bar -; DEFAULT-NOT: call i32 @ColdFunction(i32 5) -; DEFAULT-NOT: call i32 @simpleFunction(i32 6) -; DEFAULT: call i32 @ColdFunction2(i32 5) -; DEFAULT: ret -entry: - %0 = tail call i32 @ColdFunction(i32 5) - %1 = tail call i32 @simpleFunction(i32 6) - %2 = tail call i32 @ColdFunction2(i32 5) - %3 = add i32 %0, %1 - %add = add i32 %2, %3 - ret i32 %add -} - -declare void @extern() -attributes #0 = { nounwind readnone uwtable } -attributes #1 = { nounwind cold readnone uwtable } |