• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt < %s -passes="print<inline-cost>" 2>&1 | FileCheck %s
2
3; CHECK:       Analyzing call of foo... (caller:main)
4; CHECK: define i8 addrspace(1)** @foo() {
5; CHECK:  cost before = {{.*}}, cost after = {{.*}}, threshold before = {{.*}}, threshold after = {{.*}}, cost delta = {{.*}}
6; CHECK:  %1 = inttoptr i64 754974720 to i8 addrspace(1)**
7; CHECK:  cost before = {{.*}}, cost after = {{.*}}, threshold before = {{.*}}, threshold after = {{.*}}, cost delta = {{.*}}
8; CHECK:  ret i8 addrspace(1)** %1
9; CHECK: }
10; CHECK:       NumConstantArgs: {{.*}}
11; CHECK:       NumConstantOffsetPtrArgs: {{.*}}
12; CHECK:       NumAllocaArgs: {{.*}}
13; CHECK:       NumConstantPtrCmps: {{.*}}
14; CHECK:       NumConstantPtrDiffs: {{.*}}
15; CHECK:       NumInstructionsSimplified: {{.*}}
16; CHECK:       NumInstructions: {{.*}}
17; CHECK:       SROACostSavings: {{.*}}
18; CHECK:       SROACostSavingsLost: {{.*}}
19; CHECK:       LoadEliminationCost: {{.*}}
20; CHECK:       ContainsNoDuplicateCall: {{.*}}
21; CHECK:       Cost: {{.*}}
22; CHECK:       Threshold: {{.*}}
23
24define i8 addrspace(1)** @foo() {
25  %1 = inttoptr i64 754974720 to i8 addrspace(1)**
26  ret i8 addrspace(1)** %1
27}
28
29define i8 addrspace(1)** @main() {
30  %1 = call i8 addrspace(1)** @foo()
31  ret i8 addrspace(1)** %1
32}
33