aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/tools/llvm-remarkutil/summary
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-remarkutil/summary')
-rw-r--r--llvm/test/tools/llvm-remarkutil/summary/Inputs/inline.yaml50
-rw-r--r--llvm/test/tools/llvm-remarkutil/summary/inline.test54
2 files changed, 104 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-remarkutil/summary/Inputs/inline.yaml b/llvm/test/tools/llvm-remarkutil/summary/Inputs/inline.yaml
new file mode 100644
index 0000000..efb8cd6
--- /dev/null
+++ b/llvm/test/tools/llvm-remarkutil/summary/Inputs/inline.yaml
@@ -0,0 +1,50 @@
+--- !Missed
+Pass: inline
+Name: TooCostly
+DebugLoc: { File: 'foo.cpp', Line: 21, Column: 6 }
+Function: fooCaller
+Args:
+ - Callee: fooCallee
+ DebugLoc: { File: 'foo.cpp', Line: 10, Column: 0 }
+ - Caller: fooCaller
+ DebugLoc: { File: 'foo.cpp', Line: 20, Column: 0 }
+ - Cost: '125'
+ - Threshold: '100'
+...
+--- !Passed
+Pass: inline
+Name: Inlined
+DebugLoc: { File: 'foo.cpp', Line: 21, Column: 6 }
+Function: fooCaller2
+Args:
+ - Callee: fooCallee
+ DebugLoc: { File: 'foo.cpp', Line: 10, Column: 0 }
+ - Caller: fooCaller
+ DebugLoc: { File: 'foo.cpp', Line: 20, Column: 0 }
+ - Cost: '-15'
+ - Threshold: '100'
+ - Line: '1'
+ - Column: '6'
+...
+--- !Passed
+Pass: inline
+Name: AlwaysInline
+DebugLoc: { File: 'bar.cpp', Line: 23, Column: 10 }
+Function: barCaller
+Args:
+ - Callee: barCallee
+ DebugLoc: { File: 'bar.cpp', Line: 5, Column: 0 }
+ - Caller: barCaller
+ DebugLoc: { File: 'bar.cpp', Line: 22, Column: 0 }
+ - Reason: always inline attribute
+ - Line: '23'
+ - Column: '10'
+...
+--- !Missed
+Pass: inline
+Name: NoDefinition
+Function: bazCaller
+Args:
+ - Callee: bazCallee
+ - Caller: bazCaller
+...
diff --git a/llvm/test/tools/llvm-remarkutil/summary/inline.test b/llvm/test/tools/llvm-remarkutil/summary/inline.test
new file mode 100644
index 0000000..5747318
--- /dev/null
+++ b/llvm/test/tools/llvm-remarkutil/summary/inline.test
@@ -0,0 +1,54 @@
+RUN: llvm-remarkutil summary --inline-callees %p/Inputs/inline.yaml | FileCheck -strict-whitespace %s
+
+; CHECK: --- !Analysis
+; CHECK-NEXT: Pass: inline
+; CHECK-NEXT: Name: Summary
+; CHECK-NEXT: DebugLoc: { File: bar.cpp, Line: 5, Column: 0 }
+; CHECK-NEXT: Function: barCallee
+; CHECK-NEXT: Args:
+; CHECK-NEXT: - String: 'Incoming Calls ('
+; CHECK-NEXT: - String: AlwaysInline
+; CHECK-NEXT: - String: ': '
+; CHECK-NEXT: - AlwaysInline: '1'
+; CHECK-NEXT: - String: ')'
+; CHECK-NEXT: ...
+; CHECK-NEXT: --- !Analysis
+; CHECK-NEXT: Pass: inline
+; CHECK-NEXT: Name: Summary
+; CHECK-NEXT: Function: bazCallee
+; CHECK-NEXT: Args:
+; CHECK-NEXT: - String: 'Incoming Calls ('
+; CHECK-NEXT: - String: NoDefinition
+; CHECK-NEXT: - String: ': '
+; CHECK-NEXT: - NoDefinition: '1'
+; CHECK-NEXT: - String: ')'
+; CHECK-NEXT: ...
+; CHECK-NEXT: --- !Analysis
+; CHECK-NEXT: Pass: inline
+; CHECK-NEXT: Name: Summary
+; CHECK-NEXT: DebugLoc: { File: foo.cpp, Line: 10, Column: 0 }
+; CHECK-NEXT: Function: fooCallee
+; CHECK-NEXT: Args:
+; CHECK-NEXT: - String: 'Incoming Calls ('
+; CHECK-NEXT: - String: Inlined
+; CHECK-NEXT: - String: ': '
+; CHECK-NEXT: - Inlined: '1'
+; CHECK-NEXT: - String: ', '
+; CHECK-NEXT: - String: TooCostly
+; CHECK-NEXT: - String: ': '
+; CHECK-NEXT: - TooCostly: '1'
+; CHECK-NEXT: - String: ')'
+; CHECK-NEXT: - String: "\nLeast profitable (cost="
+; CHECK-NEXT: - LeastProfitCost: '125'
+; CHECK-NEXT: DebugLoc: { File: foo.cpp, Line: 21, Column: 6 }
+; CHECK-NEXT: - String: ', threshold='
+; CHECK-NEXT: - LeastProfitThreshold: '100'
+; CHECK-NEXT: - String: ')'
+; CHECK-NEXT: - String: "\nMost profitable (cost="
+; CHECK-NEXT: - MostProfitCost: '-15'
+; CHECK-NEXT: DebugLoc: { File: foo.cpp, Line: 21, Column: 6 }
+; CHECK-NEXT: - String: ', threshold='
+; CHECK-NEXT: - MostProfitThreshold: '100'
+; CHECK-NEXT: - String: ')'
+; CHECK-NEXT: ...
+; CHECK-NOT: {{.}}