summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/WholeProgramDevirt
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2017-03-04 01:34:53 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2017-03-04 01:34:53 +0000
commit77a8d563a39592c5da91d8335ee886ce903c5b9d (patch)
treeb577337bd70f068365e0a1b8175eb37cbe758ea1 /llvm/test/Transforms/WholeProgramDevirt
parent8cb0a4901d69999c73ec6bc3df608db9ae35b415 (diff)
downloadbcm5719-llvm-77a8d563a39592c5da91d8335ee886ce903c5b9d.tar.gz
bcm5719-llvm-77a8d563a39592c5da91d8335ee886ce903c5b9d.zip
WholeProgramDevirt: Implement exporting for uniform ret val opt.
Differential Revision: https://reviews.llvm.org/D29846 llvm-svn: 296948
Diffstat (limited to 'llvm/test/Transforms/WholeProgramDevirt')
-rw-r--r--llvm/test/Transforms/WholeProgramDevirt/export-uniform-ret-val.ll36
1 files changed, 36 insertions, 0 deletions
diff --git a/llvm/test/Transforms/WholeProgramDevirt/export-uniform-ret-val.ll b/llvm/test/Transforms/WholeProgramDevirt/export-uniform-ret-val.ll
new file mode 100644
index 00000000000..1d7030c41fd
--- /dev/null
+++ b/llvm/test/Transforms/WholeProgramDevirt/export-uniform-ret-val.ll
@@ -0,0 +1,36 @@
+; RUN: opt -wholeprogramdevirt -wholeprogramdevirt-summary-action=export -wholeprogramdevirt-read-summary=%S/Inputs/export.yaml -wholeprogramdevirt-write-summary=%t -S -o - %s | FileCheck %s
+; RUN: FileCheck --check-prefix=SUMMARY %s < %t
+
+; SUMMARY: - TypeTests:
+; SUMMARY-NEXT: TypeTestAssumeVCalls:
+
+; SUMMARY: TypeIdMap:
+; SUMMARY-NEXT: typeid4:
+; SUMMARY-NEXT: TTRes:
+; SUMMARY-NEXT: Kind: Unsat
+; SUMMARY-NEXT: SizeM1BitWidth: 0
+; SUMMARY-NEXT: WPDRes:
+; SUMMARY-NEXT: 0:
+; SUMMARY-NEXT: Kind: Indir
+; SUMMARY-NEXT: SingleImplName: ''
+; SUMMARY-NEXT: ResByArg:
+; SUMMARY-NEXT: 24,12:
+; SUMMARY-NEXT: Kind: UniformRetVal
+; SUMMARY-NEXT: Info: 36
+
+; CHECK: @vt4a = constant i32 (i8*, i32, i32)* @vf4a
+@vt4a = constant i32 (i8*, i32, i32)* @vf4a, !type !0
+
+; CHECK: @vt4b = constant i32 (i8*, i32, i32)* @vf4b
+@vt4b = constant i32 (i8*, i32, i32)* @vf4b, !type !0
+
+define i32 @vf4a(i8*, i32 %x, i32 %y) {
+ %z = add i32 %x, %y
+ ret i32 %z
+}
+
+define i32 @vf4b(i8*, i32 %x, i32 %y) {
+ ret i32 36
+}
+
+!0 = !{i32 0, !"typeid4"}
OpenPOWER on IntegriCloud