| ; 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 |