1; RUN: mlir-translate --import-llvm %s | FileCheck %s 2; REQUIRES: asserts 3 4; This test is primarily used to make sure an assertion is not triggered. 5; Thus, we only wrote minimum level of checks. 6 7%my_struct = type {i32, i8*} 8; CHECK: llvm.mlir.constant(3 : i32) : i32 9; CHECK: llvm.mlir.constant(2 : i32) : i32 10; CHECK: llvm.mlir.addressof @str1 : !llvm.ptr<array<5 x i8>> 11; CHECK: llvm.getelementptr 12; CHECK: llvm.mlir.constant(7 : i32) : i32 13; CHECK: llvm.mlir.undef : !llvm.struct<"my_struct", (i32, ptr<i8>)> 14; CHECK: llvm.insertvalue 15; CHECK: llvm.insertvalue 16; CHECK: llvm.mlir.constant(1 : i32) : i32 17; CHECK: llvm.mlir.constant(0 : i32) : i32 18; CHECK: llvm.mlir.addressof @str0 : !llvm.ptr<array<5 x i8>> 19; CHECK: llvm.getelementptr 20; CHECK: llvm.mlir.constant(8 : i32) : i32 21; CHECK: llvm.mlir.undef : !llvm.struct<"my_struct", (i32, ptr<i8>)> 22; CHECK: llvm.insertvalue 23; CHECK: llvm.insertvalue 24; CHECK: llvm.mlir.undef : !llvm.array<2 x struct<"my_struct", (i32, ptr<i8>)>> 25; CHECK: llvm.insertvalue 26; CHECK: llvm.insertvalue 27; CHECK: llvm.return 28@str0 = private unnamed_addr constant [5 x i8] c"aaaa\00" 29@str1 = private unnamed_addr constant [5 x i8] c"bbbb\00" 30@g = global [2 x %my_struct] [%my_struct {i32 8, i8* getelementptr ([5 x i8], [5 x i8]* @str0, i32 0, i32 1)}, %my_struct {i32 7, i8* getelementptr ([5 x i8], [5 x i8]* @str1, i32 2, i32 3)}] 31 32