// RUN: mlir-translate -split-input-file -test-spirv-roundtrip %s | FileCheck %s spv.module Logical GLSL450 requires #spv.vce { spv.func @foo() -> () "None" { // CHECK: {{%.*}} = spv.undef : f32 // CHECK-NEXT: {{%.*}} = spv.undef : f32 %0 = spv.undef : f32 %1 = spv.undef : f32 %2 = spv.FAdd %0, %1 : f32 // CHECK: {{%.*}} = spv.undef : vector<4xi32> %3 = spv.undef : vector<4xi32> %4 = spv.CompositeExtract %3[1 : i32] : vector<4xi32> // CHECK: {{%.*}} = spv.undef : !spv.array<4 x !spv.array<4 x i32>> %5 = spv.undef : !spv.array<4x!spv.array<4xi32>> %6 = spv.CompositeExtract %5[1 : i32, 2 : i32] : !spv.array<4x!spv.array<4xi32>> // CHECK: {{%.*}} = spv.undef : !spv.ptr, StorageBuffer> %7 = spv.undef : !spv.ptr, StorageBuffer> %8 = spv.constant 0 : i32 %9 = spv.AccessChain %7[%8] : !spv.ptr, StorageBuffer>, i32 spv.Return } } // ----- spv.module Logical GLSL450 requires #spv.vce { // CHECK: spv.func {{@.*}} spv.func @ignore_unused_undef() -> () "None" { // CHECK-NEXT: spv.Return %0 = spv.undef : f32 spv.Return } }