diff options
| author | Peter Collingbourne <peter@pcc.me.uk> | 2017-03-04 01:34:53 +0000 |
|---|---|---|
| committer | Peter Collingbourne <peter@pcc.me.uk> | 2017-03-04 01:34:53 +0000 |
| commit | 77a8d563a39592c5da91d8335ee886ce903c5b9d (patch) | |
| tree | b577337bd70f068365e0a1b8175eb37cbe758ea1 /llvm/test/Transforms/WholeProgramDevirt | |
| parent | 8cb0a4901d69999c73ec6bc3df608db9ae35b415 (diff) | |
| download | bcm5719-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.ll | 36 |
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"} |

