#include "gtest/gtest.h"
#include "src/tint/lang/core/ir/disassembler.h"
#include "src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.h"
#include "src/tint/lang/wgsl/reader/reader.h"
#include "src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.h"
#include "src/tint/lang/wgsl/writer/raise/raise.h"
#include "src/tint/lang/wgsl/writer/writer.h"
#include "src/tint/utils/text/string.h"
namespace tint::wgsl {
namespace {
usingnamespacetint::core::number_suffixes;
class IRToProgramRoundtripTest : public testing::Test { … };
std::ostream& operator<<(std::ostream& o, const IRToProgramRoundtripTest::Result& res) { … }
#define RUN_TEST(...) …
TEST_F(IRToProgramRoundtripTest, EmptyModule) { … }
TEST_F(IRToProgramRoundtripTest, SingleFunction_Empty) { … }
TEST_F(IRToProgramRoundtripTest, SingleFunction_Return) { … }
TEST_F(IRToProgramRoundtripTest, SingleFunction_Return_i32) { … }
TEST_F(IRToProgramRoundtripTest, SingleFunction_Parameters) { … }
TEST_F(IRToProgramRoundtripTest, SingleFunction_UnrestrictedPointerParameters) { … }
TEST_F(IRToProgramRoundtripTest, StructDecl_Scalars) { … }
TEST_F(IRToProgramRoundtripTest, StructDecl_MemberAlign) { … }
TEST_F(IRToProgramRoundtripTest, StructDecl_MemberSize) { … }
TEST_F(IRToProgramRoundtripTest, StructDecl_MemberLocation) { … }
TEST_F(IRToProgramRoundtripTest, StructDecl_MemberIndex) { … }
TEST_F(IRToProgramRoundtripTest, StructDecl_MemberBuiltin) { … }
TEST_F(IRToProgramRoundtripTest, StructDecl_MemberInterpolateType) { … }
TEST_F(IRToProgramRoundtripTest, StructDecl_MemberInterpolateTypeSampling) { … }
TEST_F(IRToProgramRoundtripTest, StructDecl_MemberInvariant) { … }
TEST_F(IRToProgramRoundtripTest, FnCall_NoArgs_NoRet) { … }
TEST_F(IRToProgramRoundtripTest, FnCall_NoArgs_Ret_i32) { … }
TEST_F(IRToProgramRoundtripTest, FnCall_3Args_NoRet) { … }
TEST_F(IRToProgramRoundtripTest, FnCall_3Args_Ret_f32) { … }
TEST_F(IRToProgramRoundtripTest, FnCall_PtrArgs) { … }
TEST_F(IRToProgramRoundtripTest, CoreBuiltinCall_Stmt) { … }
TEST_F(IRToProgramRoundtripTest, CoreBuiltinCall_Expr) { … }
TEST_F(IRToProgramRoundtripTest, CoreBuiltinCall_PhonyAssignment) { … }
TEST_F(IRToProgramRoundtripTest, CoreBuiltinCall_UnusedLet) { … }
TEST_F(IRToProgramRoundtripTest, CoreBuiltinCall_PtrArg) { … }
TEST_F(IRToProgramRoundtripTest, CoreBuiltinCall_DisableDerivativeUniformity) { … }
TEST_F(IRToProgramRoundtripTest, TypeConstruct_i32) { … }
TEST_F(IRToProgramRoundtripTest, TypeConstruct_u32) { … }
TEST_F(IRToProgramRoundtripTest, TypeConstruct_f32) { … }
TEST_F(IRToProgramRoundtripTest, TypeConstruct_bool) { … }
TEST_F(IRToProgramRoundtripTest, TypeConstruct_struct) { … }
TEST_F(IRToProgramRoundtripTest, TypeConstruct_array) { … }
TEST_F(IRToProgramRoundtripTest, TypeConstruct_vec3i_Splat) { … }
TEST_F(IRToProgramRoundtripTest, TypeConstruct_vec3i_Scalars) { … }
TEST_F(IRToProgramRoundtripTest, TypeConstruct_mat2x3f_Scalars) { … }
TEST_F(IRToProgramRoundtripTest, TypeConstruct_mat2x3f_Columns) { … }
TEST_F(IRToProgramRoundtripTest, TypeConvert_i32_to_u32) { … }
TEST_F(IRToProgramRoundtripTest, TypeConvert_u32_to_f32) { … }
TEST_F(IRToProgramRoundtripTest, TypeConvert_f32_to_i32) { … }
TEST_F(IRToProgramRoundtripTest, TypeConvert_bool_to_u32) { … }
TEST_F(IRToProgramRoundtripTest, TypeConvert_vec3i_to_vec3u) { … }
TEST_F(IRToProgramRoundtripTest, TypeConvert_vec3u_to_vec3f) { … }
TEST_F(IRToProgramRoundtripTest, TypeConvert_mat2x3f_to_mat2x3h) { … }
TEST_F(IRToProgramRoundtripTest, Bitcast_i32_to_u32) { … }
TEST_F(IRToProgramRoundtripTest, Bitcast_u32_to_f32) { … }
TEST_F(IRToProgramRoundtripTest, Bitcast_f32_to_i32) { … }
TEST_F(IRToProgramRoundtripTest, Discard) { … }
TEST_F(IRToProgramRoundtripTest, Access_Value_vec3f_1) { … }
TEST_F(IRToProgramRoundtripTest, Access_Ref_vec3f_1) { … }
TEST_F(IRToProgramRoundtripTest, Access_Value_vec3f_z) { … }
TEST_F(IRToProgramRoundtripTest, Access_Ref_vec3f_z) { … }
TEST_F(IRToProgramRoundtripTest, Access_Value_vec3f_g) { … }
TEST_F(IRToProgramRoundtripTest, Access_Ref_vec3f_g) { … }
TEST_F(IRToProgramRoundtripTest, Access_Value_vec3f_i) { … }
TEST_F(IRToProgramRoundtripTest, Access_Ref_vec3f_i) { … }
TEST_F(IRToProgramRoundtripTest, Access_Value_mat3x2f_1_0) { … }
TEST_F(IRToProgramRoundtripTest, Access_Ref_mat3x2f_1_0) { … }
TEST_F(IRToProgramRoundtripTest, Access_Value_mat3x2f_u_0) { … }
TEST_F(IRToProgramRoundtripTest, Access_Ref_mat3x2f_u_0) { … }
TEST_F(IRToProgramRoundtripTest, Access_Value_mat3x2f_u_i) { … }
TEST_F(IRToProgramRoundtripTest, Access_Ref_mat3x2f_u_i) { … }
TEST_F(IRToProgramRoundtripTest, Access_Value_array_0u) { … }
TEST_F(IRToProgramRoundtripTest, Access_Ref_array_0u) { … }
TEST_F(IRToProgramRoundtripTest, Access_Value_array_i) { … }
TEST_F(IRToProgramRoundtripTest, Access_Ref_array_i) { … }
TEST_F(IRToProgramRoundtripTest, Access_ValueStruct) { … }
TEST_F(IRToProgramRoundtripTest, Access_ReferenceStruct) { … }
TEST_F(IRToProgramRoundtripTest, Access_ArrayOfArrayOfArray_123) { … }
TEST_F(IRToProgramRoundtripTest, Access_ArrayOfArrayOfArray_213) { … }
TEST_F(IRToProgramRoundtripTest, Access_ArrayOfArrayOfArray_312) { … }
TEST_F(IRToProgramRoundtripTest, Access_ArrayOfArrayOfArray_321) { … }
TEST_F(IRToProgramRoundtripTest, Access_ArrayOfMat3x4f_123) { … }
TEST_F(IRToProgramRoundtripTest, Access_ArrayOfMat3x4f_213) { … }
TEST_F(IRToProgramRoundtripTest, Access_ArrayOfMat3x4f_312) { … }
TEST_F(IRToProgramRoundtripTest, Access_ArrayOfMat3x4f_321) { … }
TEST_F(IRToProgramRoundtripTest, Access_UsePartialChains) { … }
TEST_F(IRToProgramRoundtripTest, Access_Vec3_Value_xy) { … }
TEST_F(IRToProgramRoundtripTest, Access_Vec3_Value_yz) { … }
TEST_F(IRToProgramRoundtripTest, Access_Vec3_Value_yzx) { … }
TEST_F(IRToProgramRoundtripTest, Access_Vec3_Value_yzxy) { … }
TEST_F(IRToProgramRoundtripTest, Access_Vec3_Pointer_xy) { … }
TEST_F(IRToProgramRoundtripTest, Access_Vec3_Pointer_yz) { … }
TEST_F(IRToProgramRoundtripTest, Access_Vec3_Pointer_yzx) { … }
TEST_F(IRToProgramRoundtripTest, Access_Vec3_Pointer_yzxy) { … }
TEST_F(IRToProgramRoundtripTest, UnaryOp_Negate) { … }
TEST_F(IRToProgramRoundtripTest, UnaryOp_Complement) { … }
TEST_F(IRToProgramRoundtripTest, UnaryOp_Not) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_Add) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_Subtract) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_Multiply) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_Divide) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_Modulo) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_And) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_Or) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_Xor) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_Equal) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_NotEqual) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_LessThan) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_GreaterThan) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_LessThanEqual) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_GreaterThanEqual) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_ShiftLeft) { … }
TEST_F(IRToProgramRoundtripTest, BinaryOp_ShiftRight) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_And_Param_2) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_And_Param_3_ab_c) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_And_Param_3_a_bc) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_And_Let_2) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_And_Let_3_ab_c) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_And_Let_3_a_bc) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_And_Call_2) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_And_Call_3_ab_c) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_And_Call_3_a_bc) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_Or_Param_2) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_Or_Param_3_ab_c) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_Or_Param_3_a_bc) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_Or_Let_2) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_Or_Let_3_ab_c) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_Or_Let_3_a_bc) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_Or_Call_2) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_Or_Call_3_ab_c) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_Or_Call_3_a_bc) { … }
TEST_F(IRToProgramRoundtripTest, ShortCircuit_Mixed) { … }
TEST_F(IRToProgramRoundtripTest, Assign_ArrayOfArrayOfArrayAccess_123456) { … }
TEST_F(IRToProgramRoundtripTest, Assign_ArrayOfArrayOfArrayAccess_261345) { … }
TEST_F(IRToProgramRoundtripTest, Assign_ArrayOfArrayOfArrayAccess_532614) { … }
TEST_F(IRToProgramRoundtripTest, Assign_ArrayOfMatrixAccess_123456) { … }
TEST_F(IRToProgramRoundtripTest, Assign_ArrayOfMatrixAccess_261345) { … }
TEST_F(IRToProgramRoundtripTest, Assign_ArrayOfMatrixAccess_532614) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_Increment) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_Decrement) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_Add) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_Subtract) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_Multiply) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_Divide) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_Xor) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_ArrayOfArrayOfArrayAccess_123456) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_ArrayOfArrayOfArrayAccess_261345) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_ArrayOfArrayOfArrayAccess_532614) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_ArrayOfMatrixAccess_123456) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_ArrayOfMatrixAccess_261345) { … }
TEST_F(IRToProgramRoundtripTest, CompoundAssign_ArrayOfMatrixAccess_532614) { … }
TEST_F(IRToProgramRoundtripTest, PhonyAssign_PrivateVar) { … }
TEST_F(IRToProgramRoundtripTest, PhonyAssign_FunctionVar) { … }
TEST_F(IRToProgramRoundtripTest, PhonyAssign_FunctionLet) { … }
TEST_F(IRToProgramRoundtripTest, PhonyAssign_HandleVar) { … }
TEST_F(IRToProgramRoundtripTest, PhonyAssign_Constant) { … }
TEST_F(IRToProgramRoundtripTest, PhonyAssign_Call) { … }
TEST_F(IRToProgramRoundtripTest, PhonyAssign_Conversion) { … }
TEST_F(IRToProgramRoundtripTest, LetUsedOnce) { … }
TEST_F(IRToProgramRoundtripTest, LetUsedTwice) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_i32) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_u32) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_f32) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_f16) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_bool) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_array_NoArgs) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_array_Zero) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_array_SameValue) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_array_DifferentValues) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_struct_NoArgs) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_struct_Zero) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_struct_SameValue) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_struct_DifferentValues) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_vec3f_NoArgs) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_vec3f_Zero) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_vec3f_Splat) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_vec3f_Scalars) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_mat2x3f_NoArgs) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_mat2x3f_Scalars_SameValue) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_mat2x3f_Scalars) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_mat2x3f_Columns) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Private_mat2x3f_Columns_SameValue) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Uniform_vec4i) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_StorageRead_u32) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_StorageReadWrite_i32) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Handle_Texture2D) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Handle_Sampler) { … }
TEST_F(IRToProgramRoundtripTest, ModuleScopeVar_Handle_SamplerCmp) { … }
TEST_F(IRToProgramRoundtripTest, FunctionScopeVar_i32) { … }
TEST_F(IRToProgramRoundtripTest, FunctionScopeVar_i32_InitLiteral) { … }
TEST_F(IRToProgramRoundtripTest, FunctionScopeVar_Chained) { … }
TEST_F(IRToProgramRoundtripTest, FunctionScopeLet_i32) { … }
TEST_F(IRToProgramRoundtripTest, FunctionScopeLet_ptr) { … }
TEST_F(IRToProgramRoundtripTest, FunctionScopeLet_NoConstEvalError) { … }
TEST_F(IRToProgramRoundtripTest, If_CallFn) { … }
TEST_F(IRToProgramRoundtripTest, If_Return) { … }
TEST_F(IRToProgramRoundtripTest, If_Return_i32) { … }
TEST_F(IRToProgramRoundtripTest, If_CallFn_Else_CallFn) { … }
TEST_F(IRToProgramRoundtripTest, If_Return_f32_Else_Return_f32) { … }
TEST_F(IRToProgramRoundtripTest, If_Return_u32_Else_CallFn) { … }
TEST_F(IRToProgramRoundtripTest, If_CallFn_ElseIf_CallFn) { … }
TEST_F(IRToProgramRoundtripTest, If_Else_Chain) { … }
TEST_F(IRToProgramRoundtripTest, Switch_Default) { … }
TEST_F(IRToProgramRoundtripTest, Switch_3_Cases) { … }
TEST_F(IRToProgramRoundtripTest, Switch_3_Cases_AllReturn) { … }
TEST_F(IRToProgramRoundtripTest, Switch_Nested) { … }
TEST_F(IRToProgramRoundtripTest, For_Empty) { … }
TEST_F(IRToProgramRoundtripTest, For_Empty_NoInit) { … }
TEST_F(IRToProgramRoundtripTest, For_Empty_NoCond) { … }
TEST_F(IRToProgramRoundtripTest, For_Empty_NoCont) { … }
TEST_F(IRToProgramRoundtripTest, For_ComplexBody) { … }
TEST_F(IRToProgramRoundtripTest, For_ComplexBody_NoInit) { … }
TEST_F(IRToProgramRoundtripTest, For_ComplexBody_NoCond) { … }
TEST_F(IRToProgramRoundtripTest, For_ComplexBody_NoCont) { … }
TEST_F(IRToProgramRoundtripTest, For_CallInInitCondCont) { … }
TEST_F(IRToProgramRoundtripTest, For_AssignAsInit) { … }
TEST_F(IRToProgramRoundtripTest, For_CompoundAssignAsInit) { … }
TEST_F(IRToProgramRoundtripTest, For_IncrementAsInit) { … }
TEST_F(IRToProgramRoundtripTest, For_DecrementAsInit) { … }
TEST_F(IRToProgramRoundtripTest, For_CallAsInit) { … }
TEST_F(IRToProgramRoundtripTest, While_Empty) { … }
TEST_F(IRToProgramRoundtripTest, While_Cond) { … }
TEST_F(IRToProgramRoundtripTest, While_Break) { … }
TEST_F(IRToProgramRoundtripTest, While_IfBreak) { … }
TEST_F(IRToProgramRoundtripTest, While_IfReturn) { … }
TEST_F(IRToProgramRoundtripTest, While_ConditionAndBreak) { … }
TEST_F(IRToProgramRoundtripTest, Loop_Break) { … }
TEST_F(IRToProgramRoundtripTest, Loop_IfBreak) { … }
TEST_F(IRToProgramRoundtripTest, Loop_IfReturn) { … }
TEST_F(IRToProgramRoundtripTest, Loop_IfContinuing) { … }
TEST_F(IRToProgramRoundtripTest, Loop_VarsDeclaredOutsideAndInside) { … }
TEST_F(IRToProgramRoundtripTest, Loop_BreakIf_EmptyBody) { … }
TEST_F(IRToProgramRoundtripTest, Loop_BreakIf_NotFalse) { … }
TEST_F(IRToProgramRoundtripTest, Loop_BreakIf_NotTrue) { … }
TEST_F(IRToProgramRoundtripTest, Loop_WithReturn) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_f32_With_Fn) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_f32_With_Struct) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_f32_With_ModVar) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_f32_With_ModVar2) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_f32_With_Alias) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_Struct_With_FnVar) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_Struct_With_Param) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_ModVar_With_FnVar) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_ModVar_With_FnLet) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_IfVar) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_IfLet) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_WhileVar) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_WhileLet) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_ForInitVar) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_ForInitLet) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_ForBodyVar) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_ForBodyLet) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_LoopBodyVar) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_LoopBodyLet) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_LoopContinuingVar) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_LoopContinuingLet) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_SwitchCaseVar) { … }
TEST_F(IRToProgramRoundtripTest, Shadow_FnVar_With_SwitchCaseLet) { … }
TEST_F(IRToProgramRoundtripTest, Call_InputAttachmentLoad) { … }
TEST_F(IRToProgramRoundtripTest, WorkgroupSizeLargerThanI32) { … }
TEST_F(IRToProgramRoundtripTest, BindingLargerThanI32) { … }
TEST_F(IRToProgramRoundtripTest, GroupLargerThanI32) { … }
TEST_F(IRToProgramRoundtripTest, LocationInputLargerThanI32) { … }
TEST_F(IRToProgramRoundtripTest, LocationOutputLargerThanI32) { … }
TEST_F(IRToProgramRoundtripTest, BuiltinStructInLetAndVar) { … }
TEST_F(IRToProgramRoundtripTest, BuiltinStructInInferredArrayType) { … }
}
}