blob: ce469a7b6d32092f4c8a40e5c148ffd6630b4396 [file] [edit]
; NOTE: Assertions have been autogenerated by utils/update_llubi_test_checks.py UTC_ARGS: --version 6
; RUN: llubi --verbose < %s 2>&1 | FileCheck %s
define void @main() {
%insert = insertvalue { i32, i32 } poison, i32 42, 0
%extract = extractvalue { i32, i32 } %insert, 0
%insert_update = insertvalue { i32, i32 } zeroinitializer, i32 1, 1
%insert_nested = insertvalue { i32, {{ i32, i32 }} } poison, { i32, i32 } zeroinitializer, 1, 0
%extract_nested = extractvalue { i32, {{ i32, i32 }} } %insert_nested, 1, 0, 1
ret void
}
; CHECK: Entering function: main
; CHECK-NEXT: %insert = insertvalue { i32, i32 } poison, i32 42, 0 => { i32 42, poison }
; CHECK-NEXT: %extract = extractvalue { i32, i32 } %insert, 0 => i32 42
; CHECK-NEXT: %insert_update = insertvalue { i32, i32 } zeroinitializer, i32 1, 1 => { i32 0, i32 1 }
; CHECK-NEXT: %insert_nested = insertvalue { i32, { { i32, i32 } } } poison, { i32, i32 } zeroinitializer, 1, 0 => { poison, { { i32 0, i32 0 } } }
; CHECK-NEXT: %extract_nested = extractvalue { i32, { { i32, i32 } } } %insert_nested, 1, 0, 1 => i32 0
; CHECK-NEXT: ret void
; CHECK-NEXT: Exiting function: main