diff options
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/Inline/alloca-bonus.ll | 6 | ||||
| -rw-r--r-- | llvm/test/Transforms/Inline/inline-cold-callee.ll | 6 | ||||
| -rw-r--r-- | llvm/test/Transforms/Inline/inline-cold.ll | 4 | ||||
| -rw-r--r-- | llvm/test/Transforms/Inline/inline-hot-callee.ll | 6 | ||||
| -rw-r--r-- | llvm/test/Transforms/Inline/inline-hot-callsite.ll | 6 | ||||
| -rw-r--r-- | llvm/test/Transforms/Inline/inline-optsize.ll | 3 | ||||
| -rw-r--r-- | llvm/test/Transforms/Inline/inline_unreachable-2.ll | 3 | ||||
| -rw-r--r-- | llvm/test/Transforms/Inline/optimization-remarks-passed-yaml.ll | 4 | ||||
| -rw-r--r-- | llvm/test/Transforms/Inline/ptr-diff.ll | 11 |
9 files changed, 38 insertions, 11 deletions
diff --git a/llvm/test/Transforms/Inline/alloca-bonus.ll b/llvm/test/Transforms/Inline/alloca-bonus.ll index 649fac909fb..76a59ff6915 100644 --- a/llvm/test/Transforms/Inline/alloca-bonus.ll +++ b/llvm/test/Transforms/Inline/alloca-bonus.ll @@ -22,6 +22,7 @@ define void @inner1(i32 *%ptr) { %E = bitcast i32* %ptr to i8* %F = select i1 false, i32* %ptr, i32* @glbl call void @llvm.lifetime.start(i64 0, i8* %E) + call void @extern() ret void } @@ -42,6 +43,7 @@ define void @inner2(i32 *%ptr) { %E = bitcast i32* %ptr to i8* %F = select i1 false, i32* %ptr, i32* @glbl call void @llvm.lifetime.start(i64 0, i8* %E) + call void @extern() ret void } @@ -56,6 +58,7 @@ define void @outer3() { define void @inner3(i32 *%ptr, i1 %x) { %A = icmp eq i32* %ptr, null %B = and i1 %x, %A + call void @extern() br i1 %A, label %bb.true, label %bb.false bb.true: ; This block musn't be counted in the inline cost. @@ -97,6 +100,7 @@ define void @outer4(i32 %A) { define void @inner4(i32 *%ptr, i32 %A) { %B = getelementptr inbounds i32, i32* %ptr, i32 %A %C = icmp eq i32* %ptr, null + call void @extern() br i1 %C, label %bb.true, label %bb.false bb.true: ; This block musn't be counted in the inline cost. @@ -139,6 +143,7 @@ define void @outer5() { define void @inner5(i1 %flag, i32 *%ptr) { %A = load i32, i32* %ptr store i32 0, i32* %ptr + call void @extern() %C = getelementptr inbounds i32, i32* %ptr, i32 0 br i1 %flag, label %if.then, label %exit @@ -153,3 +158,4 @@ exit: ret void } +declare void @extern() diff --git a/llvm/test/Transforms/Inline/inline-cold-callee.ll b/llvm/test/Transforms/Inline/inline-cold-callee.ll index 8e202e91ffa..cfd56c28173 100644 --- a/llvm/test/Transforms/Inline/inline-cold-callee.ll +++ b/llvm/test/Transforms/Inline/inline-cold-callee.ll @@ -9,7 +9,7 @@ define i32 @callee1(i32 %x) !prof !21 { %x1 = add i32 %x, 1 %x2 = add i32 %x1, 1 %x3 = add i32 %x2, 1 - + call void @extern() ret i32 %x3 } @@ -18,7 +18,7 @@ define i32 @callee2(i32 %x) !prof !22 { %x1 = add i32 %x, 1 %x2 = add i32 %x1, 1 %x3 = add i32 %x2, 1 - + call void @extern() ret i32 %x3 } @@ -32,6 +32,8 @@ define i32 @caller2(i32 %y1) !prof !22 { ret i32 %y3 } +declare void @extern() + !llvm.module.flags = !{!1} !21 = !{!"function_entry_count", i64 100} !22 = !{!"function_entry_count", i64 1} diff --git a/llvm/test/Transforms/Inline/inline-cold.ll b/llvm/test/Transforms/Inline/inline-cold.ll index b3c134538a4..93d2569d87a 100644 --- a/llvm/test/Transforms/Inline/inline-cold.ll +++ b/llvm/test/Transforms/Inline/inline-cold.ll @@ -17,6 +17,7 @@ ; 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 @@ -54,6 +55,7 @@ define i32 @ColdFunction(i32 %a) #1 { ; 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 @@ -91,6 +93,7 @@ define i32 @ColdFunction2(i32 %a) #1 { ; 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 @@ -196,5 +199,6 @@ entry: ret i32 %add } +declare void @extern() attributes #0 = { nounwind readnone uwtable } attributes #1 = { nounwind cold readnone uwtable } diff --git a/llvm/test/Transforms/Inline/inline-hot-callee.ll b/llvm/test/Transforms/Inline/inline-hot-callee.ll index 7a04b517bf6..59d44bbb501 100644 --- a/llvm/test/Transforms/Inline/inline-hot-callee.ll +++ b/llvm/test/Transforms/Inline/inline-hot-callee.ll @@ -9,7 +9,7 @@ define i32 @callee1(i32 %x) !prof !21 { %x1 = add i32 %x, 1 %x2 = add i32 %x1, 1 %x3 = add i32 %x2, 1 - + call void @extern() ret i32 %x3 } @@ -18,7 +18,7 @@ define i32 @callee2(i32 %x) !prof !22 { %x1 = add i32 %x, 1 %x2 = add i32 %x1, 1 %x3 = add i32 %x2, 1 - + call void @extern() ret i32 %x3 } @@ -32,6 +32,8 @@ define i32 @caller2(i32 %y1) !prof !22 { ret i32 %y3 } +declare void @extern() + !llvm.module.flags = !{!1} !21 = !{!"function_entry_count", i64 300} !22 = !{!"function_entry_count", i64 1} diff --git a/llvm/test/Transforms/Inline/inline-hot-callsite.ll b/llvm/test/Transforms/Inline/inline-hot-callsite.ll index 46993f49cc6..cc18fe6099c 100644 --- a/llvm/test/Transforms/Inline/inline-hot-callsite.ll +++ b/llvm/test/Transforms/Inline/inline-hot-callsite.ll @@ -9,7 +9,7 @@ define i32 @callee1(i32 %x) { %x1 = add i32 %x, 1 %x2 = add i32 %x1, 1 %x3 = add i32 %x2, 1 - + call void @extern() ret i32 %x3 } @@ -18,7 +18,7 @@ define i32 @callee2(i32 %x) { %x1 = add i32 %x, 1 %x2 = add i32 %x1, 1 %x3 = add i32 %x2, 1 - + call void @extern() ret i32 %x3 } @@ -32,6 +32,8 @@ define i32 @caller2(i32 %y1) { ret i32 %y3 } +declare void @extern() + !llvm.module.flags = !{!1} !21 = !{!"branch_weights", i64 300} !22 = !{!"branch_weights", i64 1} diff --git a/llvm/test/Transforms/Inline/inline-optsize.ll b/llvm/test/Transforms/Inline/inline-optsize.ll index 7e62245fd3f..c7cd9b3189d 100644 --- a/llvm/test/Transforms/Inline/inline-optsize.ll +++ b/llvm/test/Transforms/Inline/inline-optsize.ll @@ -12,6 +12,7 @@ ; This function should be larger than the inline threshold for -Oz (25), but ; smaller than the inline threshold for optsize (75). define i32 @inner() { + call void @extern() %a1 = load volatile i32, i32* @a %x1 = add i32 %a1, %a1 %a2 = load volatile i32, i32* @a @@ -42,3 +43,5 @@ define i32 @outer2() minsize { %r = call i32 @inner() ret i32 %r } + +declare void @extern()
\ No newline at end of file diff --git a/llvm/test/Transforms/Inline/inline_unreachable-2.ll b/llvm/test/Transforms/Inline/inline_unreachable-2.ll index 57f090effc5..cc038c9b720 100644 --- a/llvm/test/Transforms/Inline/inline_unreachable-2.ll +++ b/llvm/test/Transforms/Inline/inline_unreachable-2.ll @@ -8,6 +8,7 @@ define void @caller(i32 %a, i1 %b) #0 { } define void @callee(i32 %a, i1 %b) { + call void @extern() call void asm sideeffect "", ""() br i1 %b, label %bb1, label %bb2 bb1: @@ -17,3 +18,5 @@ bb2: call void asm sideeffect "", ""() ret void } + +declare void @extern()
\ No newline at end of file diff --git a/llvm/test/Transforms/Inline/optimization-remarks-passed-yaml.ll b/llvm/test/Transforms/Inline/optimization-remarks-passed-yaml.ll index 1e173342d8b..f532a164857 100644 --- a/llvm/test/Transforms/Inline/optimization-remarks-passed-yaml.ll +++ b/llvm/test/Transforms/Inline/optimization-remarks-passed-yaml.ll @@ -12,7 +12,7 @@ ; 4 return foo(); ; 5 } -; CHECK: remark: /tmp/s.c:4:10: foo can be inlined into bar with cost={{[0-9]+}} (threshold={{[0-9]+}}) (hotness: 30) +; CHECK: remark: /tmp/s.c:4:10: foo can be inlined into bar with cost={{[0-9\-]+}} (threshold={{[0-9]+}}) (hotness: 30) ; CHECK-NEXT: remark: /tmp/s.c:4:10: foo inlined into bar (hotness: 30) ; YAML: --- !Analysis @@ -28,7 +28,7 @@ ; YAML-NEXT: - Caller: bar ; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 3, Column: 0 } ; YAML-NEXT: - String: ' with cost=' -; YAML-NEXT: - Cost: '{{[0-9]+}}' +; YAML-NEXT: - Cost: '{{[0-9\-]+}}' ; YAML-NEXT: - String: ' (threshold=' ; YAML-NEXT: - Threshold: '{{[0-9]+}}' ; YAML-NEXT: - String: ')' diff --git a/llvm/test/Transforms/Inline/ptr-diff.ll b/llvm/test/Transforms/Inline/ptr-diff.ll index 728f3793ee2..d4647b7891b 100644 --- a/llvm/test/Transforms/Inline/ptr-diff.ll +++ b/llvm/test/Transforms/Inline/ptr-diff.ll @@ -4,7 +4,7 @@ target datalayout = "p:32:32-p1:64:64-p2:16:16-n16:32:64" define i32 @outer1() { ; CHECK-LABEL: @outer1( -; CHECK-NOT: call +; CHECK-NOT: call i32 ; CHECK: ret i32 %ptr = alloca i32 @@ -15,6 +15,7 @@ define i32 @outer1() { } define i32 @inner1(i32* %begin, i32* %end) { + call void @extern() %begin.i = ptrtoint i32* %begin to i32 %end.i = ptrtoint i32* %end to i32 %distance = sub i32 %end.i, %begin.i @@ -43,6 +44,7 @@ define i32 @outer2(i32* %ptr) { } define i32 @inner2(i32* %begin, i32* %end) { + call void @extern() %begin.i = ptrtoint i32* %begin to i32 %end.i = ptrtoint i32* %end to i32 %distance = sub i32 %end.i, %begin.i @@ -60,6 +62,7 @@ else: ; The inttoptrs are free since it is a smaller integer to a larger ; pointer size define i32 @inttoptr_free_cost(i32 %a, i32 %b, i32 %c) { + call void @extern() %p1 = inttoptr i32 %a to i32 addrspace(1)* %p2 = inttoptr i32 %b to i32 addrspace(1)* %p3 = inttoptr i32 %c to i32 addrspace(1)* @@ -73,7 +76,7 @@ define i32 @inttoptr_free_cost(i32 %a, i32 %b, i32 %c) { define i32 @inttoptr_free_cost_user(i32 %begin, i32 %end) { ; CHECK-LABEL: @inttoptr_free_cost_user( -; CHECK-NOT: call +; CHECK-NOT: call i32 %x = call i32 @inttoptr_free_cost(i32 %begin, i32 %end, i32 9) ret i32 %x } @@ -81,6 +84,7 @@ define i32 @inttoptr_free_cost_user(i32 %begin, i32 %end) { ; The inttoptrs have a cost since it is a larger integer to a smaller ; pointer size define i32 @inttoptr_cost_smaller_ptr(i32 %a, i32 %b, i32 %c) { + call void @extern() %p1 = inttoptr i32 %a to i32 addrspace(2)* %p2 = inttoptr i32 %b to i32 addrspace(2)* %p3 = inttoptr i32 %c to i32 addrspace(2)* @@ -94,8 +98,9 @@ define i32 @inttoptr_cost_smaller_ptr(i32 %a, i32 %b, i32 %c) { define i32 @inttoptr_cost_smaller_ptr_user(i32 %begin, i32 %end) { ; CHECK-LABEL: @inttoptr_cost_smaller_ptr_user( -; CHECK: call +; CHECK: call i32 %x = call i32 @inttoptr_cost_smaller_ptr(i32 %begin, i32 %end, i32 9) ret i32 %x } +declare void @extern()
\ No newline at end of file |

