From b711faf7b3418ffefa0eaa19cf51219ef129e001 Mon Sep 17 00:00:00 2001 From: Amaury Sechet Date: Wed, 10 Feb 2016 00:38:50 +0000 Subject: Add support for struct in C API test Summary: As per title. This also include extra support for insertvalue and extracvalue. Reviewers: bogner, chandlerc, echristo, dblaikie, joker.eph, Wallbraker Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17055 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260335 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Bindings/llvm-c/echo.ll | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'test/Bindings') diff --git a/test/Bindings/llvm-c/echo.ll b/test/Bindings/llvm-c/echo.ll index e75b5614e36..d6c27ea8f30 100644 --- a/test/Bindings/llvm-c/echo.ll +++ b/test/Bindings/llvm-c/echo.ll @@ -2,9 +2,19 @@ ; RUN: llvm-as < %s | llvm-c-test --echo > %t.echo ; RUN: diff -w %t.orig %t.echo +%S = type { i64, %S* } + +define { i64, %S* } @unpackrepack(%S %s) { + %1 = extractvalue %S %s, 0 + %2 = extractvalue %S %s, 1 + %3 = insertvalue { i64, %S* } undef, %S* %2, 1 + %4 = insertvalue { i64, %S* } %3, i64 %1, 0 + ret { i64, %S* } %4 +} + declare void @decl() -; TODO: label, struct and metadata types +; TODO: label and metadata types define void @types() { %1 = alloca half %2 = alloca float -- cgit v1.2.3