| <?xml version="1.0" encoding="utf-8"?> | 
 | <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> | 
 |  | 
 | <!-- | 
 |   Visual Studio/VSCode Natvis Definitions for the IREE Runtime | 
 |  | 
 |   "Documentation": | 
 |   https://code.visualstudio.com/docs/cpp/natvis | 
 |   https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects | 
 | --> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/base/allocator.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!-- TODO(benvanik): iree_allocator_t common usage (system, null, etc) --> | 
 |  | 
 | <Type Name="iree_byte_span_t"> | 
 |   <AlternativeType Name="iree_const_byte_span_t" /> | 
 |  | 
 |   <Intrinsic Name="empty" Expression="data_length==0" /> | 
 |  | 
 |   <DisplayString Condition="empty()">(empty)</DisplayString> | 
 |   <DisplayString>{{size={data_length}}}</DisplayString> | 
 |  | 
 |   <StringView>data,[data_length]hv</StringView> | 
 |  | 
 |   <Expand HideRawView="true"> | 
 |     <Item Name="[ptr]">(void*)data</Item> | 
 |     <Item Name="[size]">data_length</Item> | 
 |     <!-- BUG: (u)int8_t[] always displays as a string ;( --> | 
 |     <!-- https://developercommunity.visualstudio.com/t/natvis-shows-int8-tuint8-t-as-character/140373 --> | 
 |     <Item Name="[sint8_t*]" ExcludeView="simple" Condition="!empty()">(int8_t*)data,[data_length]hv</Item> | 
 |     <Item Name="[uint8_t*]" ExcludeView="simple" Condition="!empty()">(uint8_t*)data,[data_length]hv</Item> | 
 |     <Item Name="[sint16_t*]" ExcludeView="simple" Condition="!empty() && data_length%2==0">(int16_t*)data,[data_length/2]hv</Item> | 
 |     <Item Name="[uint16_t*]" ExcludeView="simple" Condition="!empty() && data_length%2==0">(uint16_t*)data,[data_length/2]hv</Item> | 
 |     <Item Name="[sint32_t*]" ExcludeView="simple" Condition="!empty() && data_length%4==0">(int32_t*)data,[data_length/4]hv</Item> | 
 |     <Item Name="[uint32_t*]" ExcludeView="simple" Condition="!empty() && data_length%4==0">(uint32_t*)data,[data_length/4]hv</Item> | 
 |     <Item Name="[sint64_t*]" ExcludeView="simple" Condition="!empty() && data_length%8==0">(int64_t*)data,[data_length/8]hv</Item> | 
 |     <Item Name="[uint64_t*]" ExcludeView="simple" Condition="!empty() && data_length%8==0">(uint64_t*)data,[data_length/8]hv</Item> | 
 |     <Item Name="[float*]" ExcludeView="simple" Condition="!empty() && data_length%4==0">(float*)data,[data_length/4]hv</Item> | 
 |     <Item Name="[double*]" ExcludeView="simple" Condition="!empty() && data_length%8==0">(double*)data,[data_length/8]hv</Item> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/base/status.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_status_handle_t"> | 
 |   <AlternativeType Name="iree_status_t" /> | 
 |  | 
 |   <Intrinsic Name="code" Expression="((uintptr_t)&value) & 0x1F" /> | 
 |   <Intrinsic Name="storage" Expression="(iree_status_storage_t*)(((uintptr_t)&value) & ~0x1F)" /> | 
 |   <Intrinsic Name="has_storage" Expression="(storage() != 0)" /> | 
 |   <Intrinsic Name="has_location" Expression="has_storage() && (storage()->file != 0)" /> | 
 |   <Intrinsic Name="has_message" Expression="(storage()->message.size > 0)" /> | 
 |  | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_OK">OK: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_CANCELLED">CANCELLED: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_UNKNOWN">UNKNOWN: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_INVALID_ARGUMENT">INVALID_ARGUMENT: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_DEADLINE_EXCEEDED">DEADLINE_EXCEEDED: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_NOT_FOUND">NOT_FOUND: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_ALREADY_EXISTS">ALREADY_EXISTS: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_PERMISSION_DENIED">PERMISSION_DENIED: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_RESOURCE_EXHAUSTED">RESOURCE_EXHAUSTED: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_FAILED_PRECONDITION">FAILED_PRECONDITION: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_ABORTED">ABORTED: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_OUT_OF_RANGE">OUT_OF_RANGE: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_UNIMPLEMENTED">UNIMPLEMENTED: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_INTERNAL">INTERNAL: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_UNAVAILABLE">UNAVAILABLE: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_DATA_LOSS">DATA_LOSS: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString Condition="has_message() && code()==IREE_STATUS_UNAUTHENTICATED">UNAUTHENTICATED: {storage()->message.data,[storage()->message.size]sb}</DisplayString> | 
 |   <DisplayString>{(iree_status_code_t)code(),na}</DisplayString> | 
 |  | 
 |   <StringView Condition="has_message()">storage()->message.data,[storage()->message.size]na</StringView> | 
 |  | 
 |   <Expand HideRawView="true"> | 
 |     <Synthetic Name="[location]" Condition="has_location()"> | 
 |       <DisplayString>{storage()->file,sb}:{storage()->line}</DisplayString> | 
 |     </Synthetic> | 
 |     <Item Name="[code]">(iree_status_code_t)code()</Item> | 
 |     <Synthetic Name="[message]" Condition="has_message()"> | 
 |       <DisplayString>{storage()->message,na}</DisplayString> | 
 |       <StringView>storage()->message,na</StringView> | 
 |     </Synthetic> | 
 |     <LinkedListItems> | 
 |       <HeadPointer>storage()->payload_head</HeadPointer> | 
 |       <NextPointer>next</NextPointer> | 
 |       <ValueNode>this,na</ValueNode> | 
 |     </LinkedListItems> | 
 |     <Item Name="[storage]" Condition="has_storage()">storage()</Item> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | <Type Name="iree_status_payload_t"> | 
 |   <Intrinsic Name="as_message" Expression="(iree_status_payload_message_t*)this" /> | 
 |   <DisplayString Condition="type==IREE_STATUS_PAYLOAD_TYPE_MESSAGE">{as_message()->message,na}</DisplayString> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/base/string_view.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_string_view_t"> | 
 |   <DisplayString>{data,[size]na}</DisplayString> | 
 |   <StringView>data,[size]na</StringView> | 
 |   <Expand> | 
 |     <Item Name="[size]" ExcludeView="simple">size</Item> | 
 |     <ArrayItems> | 
 |       <Size>size</Size> | 
 |       <ValuePointer>data</ValuePointer> | 
 |     </ArrayItems> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/base/time.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_timeout_t"> | 
 |   <!-- timeout attributes --> | 
 |   <Intrinsic Name="is_relative" Expression="type==IREE_TIMEOUT_RELATIVE" /> | 
 |   <Intrinsic Name="is_absolute" Expression="type==IREE_TIMEOUT_ABSOLUTE" /> | 
 |   <Intrinsic Name="is_immediate" Expression="(is_relative() && nanos==0) || (is_absolute() && nanos==(-9223372036854775807i64-1))" /> | 
 |   <Intrinsic Name="is_infinite" Expression="(is_relative() && nanos==9223372036854775807i64) || (is_absolute() && nanos==9223372036854775807i64)" /> | 
 |   <Intrinsic Name="is_sentinel" Expression="is_immediate() || is_infinite()" /> | 
 |   <Intrinsic Name="total_ns" Expression="nanos" /> | 
 |  | 
 |   <!-- relative duration --> | 
 |   <Intrinsic Name="rel_hours" Expression="total_ns()/3600000000000ll" /> | 
 |   <Intrinsic Name="rel_adj_minutes" Expression="total_ns()-3600000000000ll*rel_hours()" /> | 
 |   <Intrinsic Name="rel_minutes" Expression="rel_adj_minutes()/60000000000ll" /> | 
 |   <Intrinsic Name="rel_seconds" Expression="(rel_adj_minutes()-60000000000ll*rel_minutes())/1000000000ll" /> | 
 |   <Intrinsic Name="rel_total_s" Expression="total_ns()/1000000000.0" /> | 
 |   <Intrinsic Name="rel_total_ms" Expression="total_ns()/1000000ll" /> | 
 |   <Intrinsic Name="rel_total_us" Expression="total_ns()/10000ll" /> | 
 |  | 
 |   <!-- absolute time --> | 
 |   <Intrinsic Name="abs_total_s" Expression="total_ns()/1000000ll" /> | 
 |   <Intrinsic Name="abs_year" Expression="(abs_total_s()/31556926)+1970" /> | 
 |   <Intrinsic Name="abs_month" Expression="((abs_total_s()%31556926)/2629743)+1" /> | 
 |   <Intrinsic Name="abs_day" Expression="((abs_total_s()%2629743)/86400)+1" /> | 
 |   <Intrinsic Name="abs_hour" Expression="(abs_total_s()%86400)/3600" /> | 
 |   <Intrinsic Name="abs_minutes" Expression="(abs_total_s()%3600)/60" /> | 
 |   <Intrinsic Name="abs_seconds" Expression="abs_total_s()%60" /> | 
 |   <Intrinsic Name="abs_milliseconds" Expression="(total_ns()/1000)%1000ll" /> | 
 |  | 
 |   <DisplayString Condition="is_immediate()">(immediate timeout)</DisplayString> | 
 |   <DisplayString Condition="is_infinite()">(infinite timeout)</DisplayString> | 
 |   <DisplayString Condition="is_relative()">+{rel_hours()/10}{rel_hours()%10}:{rel_minutes()/10}{rel_minutes()%10}:{rel_seconds()/10}{rel_seconds()%10} / {rel_total_ms()}ms / {rel_total_us()}us</DisplayString> | 
 |   <DisplayString Condition="is_absolute()">{abs_year()}-{abs_month()/10}{abs_month()%10}-{abs_day()/10}{abs_day()%10} {abs_hour()/10}{abs_hour()%10}:{abs_minutes()/10}{abs_minutes()%10}:{abs_seconds()/10}{abs_seconds()%10}.{abs_milliseconds()}</DisplayString> | 
 |  | 
 |   <Expand> | 
 |     <!-- relative duration --> | 
 |     <Synthetic Name="[seconds]" Condition="is_relative() && !is_sentinel()"> | 
 |       <DisplayString>{rel_total_s()}</DisplayString> | 
 |     </Synthetic> | 
 |     <Synthetic Name="[milliseconds]" Condition="is_relative() && !is_sentinel()"> | 
 |       <DisplayString>{rel_total_ms()}</DisplayString> | 
 |     </Synthetic> | 
 |     <Synthetic Name="[microseconds]" Condition="is_relative() && !is_sentinel()"> | 
 |       <DisplayString>{rel_total_us()}</DisplayString> | 
 |     </Synthetic> | 
 |  | 
 |     <!-- absolute time --> | 
 |     <Synthetic Name="[year]" Condition="is_absolute() && !is_sentinel()"> | 
 |       <DisplayString>{abs_year()}</DisplayString> | 
 |     </Synthetic> | 
 |     <Synthetic Name="[month]" Condition="is_absolute() && !is_sentinel()"> | 
 |       <DisplayString>{abs_month()}</DisplayString> | 
 |     </Synthetic> | 
 |     <Synthetic Name="[day]" Condition="is_absolute() && !is_sentinel()"> | 
 |       <DisplayString>{abs_day()}</DisplayString> | 
 |     </Synthetic> | 
 |     <Synthetic Name="[hour]" Condition="is_absolute() && !is_sentinel()"> | 
 |       <DisplayString>{abs_hour()}</DisplayString> | 
 |     </Synthetic> | 
 |     <Synthetic Name="[minute]" Condition="is_absolute() && !is_sentinel()"> | 
 |       <DisplayString>{abs_minutes()}</DisplayString> | 
 |     </Synthetic> | 
 |     <Synthetic Name="[second]" Condition="is_absolute() && !is_sentinel()"> | 
 |       <DisplayString>{abs_seconds()}</DisplayString> | 
 |     </Synthetic> | 
 |     <Synthetic Name="[milliseconds]" Condition="is_absolute() && !is_sentinel()"> | 
 |       <DisplayString>{abs_milliseconds()}</DisplayString> | 
 |     </Synthetic> | 
 |  | 
 |     <Synthetic Name="[nanoseconds]"> | 
 |       <DisplayString>{total_ns()}</DisplayString> | 
 |     </Synthetic> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/base/internal/atomics.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_atomic_int32_t"> | 
 |   <DisplayString>{__val}</DisplayString> | 
 | </Type> | 
 | <Type Name="iree_atomic_int64_t"> | 
 |   <DisplayString>{__val}</DisplayString> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/allocator.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/buffer.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_hal_buffer_t"> | 
 |   <Intrinsic Name="is_subspan" Expression="this!=allocated_buffer" /> | 
 |   <Intrinsic Name="is_host_local" Expression="!(memory_type&(1u<<5))" /> | 
 |   <Intrinsic Name="is_device_local" Expression="memory_type&(1u<<5)" /> | 
 |  | 
 |   <Expand> | 
 |     <Item Name="[base]">resource</Item> | 
 |     <Item Name="allocated_buffer">allocated_buffer</Item> | 
 |     <Item Name="allocation_size">allocation_size</Item> | 
 |     <Item Name="byte_offset">byte_offset</Item> | 
 |     <Item Name="byte_length">byte_length</Item> | 
 |     <Synthetic Name="memory_type"> | 
 |       <DisplayString>{(iree_hal_memory_type_bits_t)memory_type}</DisplayString> | 
 |       <Expand> | 
 |         <Item Name="transient" Condition="memory_type&(1u<<0)">true</Item> | 
 |         <Item Name="host_local" Condition="is_host_local()">true</Item> | 
 |         <Item Name="host_visible" Condition="memory_type&(1u<<1)">true</Item> | 
 |         <Item Name="host_coherent" Condition="memory_type&(1u<<2)">true</Item> | 
 |         <Item Name="host_cached" Condition="memory_type&(1u<<3)">true</Item> | 
 |         <Item Name="device_local" Condition="is_device_local()">true</Item> | 
 |         <Item Name="device_visible" Condition="memory_type&(1u<<4)">true</Item> | 
 |       </Expand> | 
 |     </Synthetic> | 
 |     <Synthetic Name="allowed_access"> | 
 |       <DisplayString>{(iree_hal_memory_access_bits_t)allowed_access}</DisplayString> | 
 |       <Expand> | 
 |         <Item Name="read" Condition="allowed_access&(1u<<0)">true</Item> | 
 |         <Item Name="write" Condition="allowed_access&(1u<<1)">true</Item> | 
 |         <Item Name="discard" Condition="allowed_access&(1u<<2)">true</Item> | 
 |         <Item Name="may_alias" Condition="allowed_access&(1u<<3)">true</Item> | 
 |         <Item Name="any" Condition="allowed_access&(1u<<4)">true</Item> | 
 |       </Expand> | 
 |     </Synthetic> | 
 |     <Synthetic Name="allowed_usage"> | 
 |       <DisplayString>{(iree_hal_buffer_usage_bits_t)allowed_usage}</DisplayString> | 
 |       <Expand> | 
 |         <Item Name="constant" Condition="allowed_usage&(1u<<0)">true</Item> | 
 |         <Item Name="transfer" Condition="allowed_usage&(1u<<1)">true</Item> | 
 |         <Item Name="mapping" Condition="allowed_usage&(1u<<2)">true</Item> | 
 |         <Item Name="dispatch" Condition="allowed_usage&(1u<<3)">true</Item> | 
 |       </Expand> | 
 |     </Synthetic> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | <!-- TODO(benvanik): expose host-visible memory as synthetic item --> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/buffer_view.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_hal_buffer_view_t"> | 
 |   <!-- | 
 |   TODO(benvanik): figure out why this stopped working; the | 
 |   IREE_HAL_ELEMENT_TYPE_* enum seems to be the problem; referencing those values | 
 |   in an expression will cause it to fail to load. | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_INT_4">{{!hal.buffer_view<i4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_4">{{!hal.buffer_view<si4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_4">{{!hal.buffer_view<ui4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_INT_8">{{!hal.buffer_view<i8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_8">{{!hal.buffer_view<si8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_8">{{!hal.buffer_view<ui8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_INT_16">{{!hal.buffer_view<i16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_16">{{!hal.buffer_view<si16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_16">{{!hal.buffer_view<ui16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_INT_32">{{!hal.buffer_view<i32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_32">{{!hal.buffer_view<si32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_32">{{!hal.buffer_view<ui32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_INT_64">{{!hal.buffer_view<i64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_64">{{!hal.buffer_view<ui64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_64">{{!hal.buffer_view<ui64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_16">{{!hal.buffer_view<f16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_32">{{!hal.buffer_view<f32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_64">{{!hal.buffer_view<f64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_BFLOAT_16">{{!hal.buffer_view<bf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_64">{{!hal.buffer_view<cf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==0 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_128">{{!hal.buffer_view<cf128> size={byte_length}}}</DisplayString> | 
 |  | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_INT_4">{{!hal.buffer_view<{shape[0]}xi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_4">{{!hal.buffer_view<{shape[0]}xsi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_4">{{!hal.buffer_view<{shape[0]}xui4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_INT_8">{{!hal.buffer_view<{shape[0]}xi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_8">{{!hal.buffer_view<{shape[0]}xsi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_8">{{!hal.buffer_view<{shape[0]}xui8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_INT_16">{{!hal.buffer_view<{shape[0]}xi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_16">{{!hal.buffer_view<{shape[0]}xsi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_16">{{!hal.buffer_view<{shape[0]}xui16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_INT_32">{{!hal.buffer_view<{shape[0]}xi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_32">{{!hal.buffer_view<{shape[0]}xsi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_32">{{!hal.buffer_view<{shape[0]}xui32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_INT_64">{{!hal.buffer_view<{shape[0]}xi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_64">{{!hal.buffer_view<{shape[0]}xsi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_64">{{!hal.buffer_view<{shape[0]}xui64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_16">{{!hal.buffer_view<{shape[0]}xf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_32">{{!hal.buffer_view<{shape[0]}xf32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_64">{{!hal.buffer_view<{shape[0]}xf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_BFLOAT_16">{{!hal.buffer_view<{shape[0]}xbf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_64">{{!hal.buffer_view<{shape[0]}xcf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==1 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_128">{{!hal.buffer_view<{shape[0]}xcf128> size={byte_length}}}</DisplayString> | 
 |  | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_INT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}xi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}xsi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}xui4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_INT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}xi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}xsi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}xui8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_INT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}xsi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}xsi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}xui16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_INT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}xsi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}xsi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}xui32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_INT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}xsi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}xsi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}xui64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}xf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}xf32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}xf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_BFLOAT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}xbf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_64">{{!hal.buffer_view<{shape[0]x{shape[1]}xcf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==2 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_128">{{!hal.buffer_view<{shape[0]x{shape[1]}xcf128> size={byte_length}}}</DisplayString> | 
 |  | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_INT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xsi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xui4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_INT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xsi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xui8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_INT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xsi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xui16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_INT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xsi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xui32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_INT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xsi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xui64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xf32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_BFLOAT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}xbf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_64">{{!hal.buffer_view<{shape[0]x{shape[1]}x{shape[2]}xcf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==3 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_128">{{!hal.buffer_view<{shape[0]x{shape[1]}x{shape[2]}xcf128> size={byte_length}}}</DisplayString> | 
 |  | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_INT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xsi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xui4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_INT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xsi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xui8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_INT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xsi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xui16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_INT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xsi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xui32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_INT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xsi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xui64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xf32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_BFLOAT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}xbf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_64">{{!hal.buffer_view<{shape[0]x{shape[1]}x{shape[2]}x{shape[3]}xcf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==4 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_128">{{!hal.buffer_view<{shape[0]x{shape[1]}x{shape[2]}x{shape[3]}xcf128> size={byte_length}}}</DisplayString> | 
 |  | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_INT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xsi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xui4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_INT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xsi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xui8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_INT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xsi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xui16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_INT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xsi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xui32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_INT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xsi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xui64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xf32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_BFLOAT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}xbf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_64">{{!hal.buffer_view<{shape[0]x{shape[1]}x{shape[2]}x{shape[3]x{shape[4]}xcf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==5 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_128">{{!hal.buffer_view<{shape[0]x{shape[1]}x{shape[2]}x{shape[3]x{shape[4]}xcf128> size={byte_length}}}</DisplayString> | 
 |  | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_INT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xsi4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_4">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xui4> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_INT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xsi8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_8">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xui8> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_INT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xsi16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xui16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_INT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xsi32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xui32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_INT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_SINT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xsi64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_UINT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xui64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_32">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xf32> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_FLOAT_64">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_BFLOAT_16">{{!hal.buffer_view<{shape[0]}x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xbf16> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_64">{{!hal.buffer_view<{shape[0]x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xcf64> size={byte_length}}}</DisplayString> | 
 |   <DisplayString Condition="shape_rank==6 && element_type==IREE_HAL_ELEMENT_TYPE_COMPLEX_128">{{!hal.buffer_view<{shape[0]x{shape[1]}x{shape[2]}x{shape[3]}x{shape[4]}x{shape[5]}xcf128> size={byte_length}}}</DisplayString> | 
 |   --> | 
 |  | 
 |   <Expand> | 
 |     <Item Name="[references]" ExcludeView="simple">ref_count</Item> | 
 |     <Item Name="shape" ExcludeView="simple">shape,[shape_rank]d</Item> | 
 |     <Item Name="element_type" ExcludeView="simple">(iree_hal_element_types_t)element_type</Item> | 
 |     <Item Name="encoding_type" ExcludeView="simple">(iree_hal_encoding_types_t)encoding_type</Item> | 
 |     <Item Name="byte_length">byte_length</Item> | 
 |     <Item Name="buffer">buffer</Item> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/command_buffer.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/device.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/driver.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/event.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/executable.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/executable_cache.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/pipeline_layout.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/resource.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_hal_resource_t"> | 
 |   <DisplayString>{{references={ref_count}}}</DisplayString> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/hal/semaphore.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!-- TODO(benvanik): value, status --> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/vm/buffer.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_vm_buffer_t"> | 
 |   <Intrinsic Name="is_mutable" Expression="(access&IREE_VM_BUFFER_ACCESS_MUTABLE)!=0" /> | 
 |  | 
 |   <DisplayString Condition="is_mutable()">{{!vm.buffer r/w bytes={data.data_length}}}</DisplayString> | 
 |   <DisplayString>{{!vm.buffer r/o bytes={data.data_length}b}}</DisplayString> | 
 |  | 
 |   <Expand> | 
 |     <Item Name="[base]">ref_object</Item> | 
 |     <Synthetic Name="[access]"> | 
 |       <DisplayString Condition="access&IREE_VM_BUFFER_ACCESS_MUTABLE">read/write</DisplayString> | 
 |       <DisplayString>read-only</DisplayString> | 
 |     </Synthetic> | 
 |     <Synthetic Name="[origin]"> | 
 |       <DisplayString Condition="access&IREE_VM_BUFFER_ACCESS_ORIGIN_MODULE">module</DisplayString> | 
 |       <DisplayString Condition="access&IREE_VM_BUFFER_ACCESS_ORIGIN_GUEST">guest</DisplayString> | 
 |       <DisplayString Condition="access&IREE_VM_BUFFER_ACCESS_ORIGIN_HOST">host</DisplayString> | 
 |       <DisplayString>?</DisplayString> | 
 |     </Synthetic> | 
 |     <ExpandedItem>data</ExpandedItem> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/vm/context.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!-- TODO(benvanik): list modules --> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/vm/instance.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!-- TODO(benvanik): list global type registry --> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/vm/list.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_vm_list_t"> | 
 |   <Intrinsic Name="is_value" Expression="storage_mode==IREE_VM_LIST_STORAGE_MODE_VALUE" /> | 
 |   <Intrinsic Name="is_ref" Expression="storage_mode==IREE_VM_LIST_STORAGE_MODE_REF" /> | 
 |   <Intrinsic Name="is_variant" Expression="storage_mode==IREE_VM_LIST_STORAGE_MODE_VARIANT" /> | 
 |  | 
 |   <DisplayString>{{!vm.list<{element_type}> size={count}}}</DisplayString> | 
 |  | 
 |   <Expand> | 
 |     <Item Name="[base]" ExcludeView="simple">ref_object</Item> | 
 |     <Item Name="element_type" ExcludeView="simple">element_type</Item> | 
 |     <Item Name="capacity" ExcludeView="simple">capacity</Item> | 
 |     <Item Name="count" ExcludeView="simple">count</Item> | 
 |     <ArrayItems Condition="is_value() && element_type.value_type==IREE_VM_VALUE_TYPE_I8"> | 
 |       <Size>count</Size> | 
 |       <ValuePointer>(int8_t*)storage</ValuePointer> | 
 |     </ArrayItems> | 
 |     <ArrayItems Condition="is_value() && element_type.value_type==IREE_VM_VALUE_TYPE_I16"> | 
 |       <Size>count</Size> | 
 |       <ValuePointer>(int16_t*)storage</ValuePointer> | 
 |     </ArrayItems> | 
 |     <ArrayItems Condition="is_value() && element_type.value_type==IREE_VM_VALUE_TYPE_I32"> | 
 |       <Size>count</Size> | 
 |       <ValuePointer>(int32_t*)storage</ValuePointer> | 
 |     </ArrayItems> | 
 |     <ArrayItems Condition="is_value() && element_type.value_type==IREE_VM_VALUE_TYPE_I64"> | 
 |       <Size>count</Size> | 
 |       <ValuePointer>(int64_t*)storage</ValuePointer> | 
 |     </ArrayItems> | 
 |     <ArrayItems Condition="is_value() && element_type.value_type==IREE_VM_VALUE_TYPE_F32"> | 
 |       <Size>count</Size> | 
 |       <ValuePointer>(float*)storage</ValuePointer> | 
 |     </ArrayItems> | 
 |     <ArrayItems Condition="is_value() && element_type.value_type==IREE_VM_VALUE_TYPE_F64"> | 
 |       <Size>count</Size> | 
 |       <ValuePointer>(double*)storage</ValuePointer> | 
 |     </ArrayItems> | 
 |     <ArrayItems Condition="is_ref()"> | 
 |       <Size>count</Size> | 
 |       <ValuePointer>(iree_vm_ref_t*)storage</ValuePointer> | 
 |     </ArrayItems> | 
 |     <ArrayItems Condition="is_variant()"> | 
 |       <Size>count</Size> | 
 |       <ValuePointer>(iree_vm_variant_t*)storage</ValuePointer> | 
 |     </ArrayItems> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/vm/module.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <!-- TODO(benvanik): list imports/exports/etc (somehow? bytecode only?) --> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/vm/ref.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_vm_ref_object_t"> | 
 |   <DisplayString>{{references={counter}}}</DisplayString> | 
 | </Type> | 
 |  | 
 | <!-- NOTE: if you want your type to appear here you must add at least the | 
 |      ExpandedItem expression for it based on name; DisplayString is optional --> | 
 | <Type Name="iree_vm_ref_t"> | 
 |   <SmartPointer Usage="Minimal">ptr</SmartPointer> | 
 |  | 
 |   <!-- hal --> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.allocator")==0">{(iree_hal_allocator_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.buffer")==0">{(iree_hal_buffer_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.buffer_view")==0">{(iree_hal_buffer_view_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.channel")==0">{(iree_hal_channel_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.command_buffer")==0">{(iree_hal_command_buffer_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.device")==0">{(iree_hal_device_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.driver")==0">{(iree_hal_driver_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.event")==0">{(iree_hal_event_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.executable")==0">{(iree_hal_executable_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.executable_cache")==0">{(iree_hal_executable_cache_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.semaphore")==0">{(iree_hal_semaphore_t*)ptr}</DisplayString> | 
 |   <!-- vm --> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "vm.buffer")==0">{(iree_vm_buffer_t*)ptr}</DisplayString> | 
 |   <DisplayString Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "vm.list")==0">{(iree_vm_list_t*)ptr}</DisplayString> | 
 |   <!-- fallback --> | 
 |   <DisplayString Condition="ptr!=0">{ptr}</DisplayString> | 
 |   <DisplayString>(null)</DisplayString> | 
 |  | 
 |   <Expand> | 
 |     <!-- hal --> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.allocator")==0">(iree_hal_allocator_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.buffer")==0">(iree_hal_buffer_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.buffer_view")==0">(iree_hal_buffer_view_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.channel")==0">(iree_hal_channel_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.command_buffer")==0">(iree_hal_command_buffer_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.device")==0">(iree_hal_device_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.driver")==0">(iree_hal_driver_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.event")==0">(iree_hal_event_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.executable")==0">(iree_hal_executable_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.executable_cache")==0">(iree_hal_executable_cache_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "hal.semaphore")==0">(iree_hal_semaphore_t*)ptr</ExpandedItem> | 
 |     <!-- vm --> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "vm.buffer")==0">(iree_vm_buffer_t*)ptr</ExpandedItem> | 
 |     <ExpandedItem Condition="ptr!=0 && strcmp(iree_vm_ref_type_descriptors[type]->type_name.data, "vm.list")==0">(iree_vm_list_t*)ptr</ExpandedItem> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | <Type Name="iree::vm::ref<*>"> | 
 |   <SmartPointer Usage="Minimal">($T1*)ref_.ptr</SmartPointer> | 
 |   <DisplayString Condition="ref_.ptr!=0">{($T1*)ref_.ptr}</DisplayString> | 
 |   <DisplayString>(null)</DisplayString> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/vm/type_def.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_vm_type_def_t"> | 
 |   <DisplayString Condition="value_type==IREE_VM_VALUE_TYPE_I8">i8</DisplayString> | 
 |   <DisplayString Condition="value_type==IREE_VM_VALUE_TYPE_I16">i16</DisplayString> | 
 |   <DisplayString Condition="value_type==IREE_VM_VALUE_TYPE_I32">i32</DisplayString> | 
 |   <DisplayString Condition="value_type==IREE_VM_VALUE_TYPE_I64">i64</DisplayString> | 
 |   <DisplayString Condition="value_type==IREE_VM_VALUE_TYPE_F32">f32</DisplayString> | 
 |   <DisplayString Condition="value_type==IREE_VM_VALUE_TYPE_F64">f64</DisplayString> | 
 |   <DisplayString Condition="ref_type==0x00FFFFFFu">?</DisplayString> | 
 |   <DisplayString Condition="ref_type!=0">!{iree_vm_ref_type_descriptors[ref_type]->type_name,sb}</DisplayString> | 
 |   <DisplayString>*</DisplayString> | 
 | </Type> | 
 |  | 
 | <Type Name="iree_vm_variant_t"> | 
 |   <DisplayString Condition="type.value_type==IREE_VM_VALUE_TYPE_I8">{i8} (i8)</DisplayString> | 
 |   <DisplayString Condition="type.value_type==IREE_VM_VALUE_TYPE_I16">{i16} (i16)</DisplayString> | 
 |   <DisplayString Condition="type.value_type==IREE_VM_VALUE_TYPE_I32">{i32} (i32)</DisplayString> | 
 |   <DisplayString Condition="type.value_type==IREE_VM_VALUE_TYPE_I64">{i64} (i64)</DisplayString> | 
 |   <DisplayString Condition="type.value_type==IREE_VM_VALUE_TYPE_F32">{f32} (f32)</DisplayString> | 
 |   <DisplayString Condition="type.value_type==IREE_VM_VALUE_TYPE_F64">{f64} (f64)</DisplayString> | 
 |   <DisplayString Condition="type.ref_type!=0">{ref} <{type}></DisplayString> | 
 |   <DisplayString>(empty)</DisplayString> | 
 |   <Expand> | 
 |     <Item Name="type">type</Item> | 
 |     <Item Name="value" Condition="type.value_type==IREE_VM_VALUE_TYPE_I8">i8</Item> | 
 |     <Item Name="value" Condition="type.value_type==IREE_VM_VALUE_TYPE_I16">i16</Item> | 
 |     <Item Name="value" Condition="type.value_type==IREE_VM_VALUE_TYPE_I32">i32</Item> | 
 |     <Item Name="value" Condition="type.value_type==IREE_VM_VALUE_TYPE_I64">i64</Item> | 
 |     <Item Name="value" Condition="type.value_type==IREE_VM_VALUE_TYPE_F32">f32</Item> | 
 |     <Item Name="value" Condition="type.value_type==IREE_VM_VALUE_TYPE_F64">f64</Item> | 
 |     <Item Name="value" Condition="type.ref_type!=0">ref</Item> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | <!--=========================================================================--> | 
 | <!-- iree/vm/value.h --> | 
 | <!--=========================================================================--> | 
 |  | 
 | <Type Name="iree_vm_value_t"> | 
 |   <DisplayString Condition="type==IREE_VM_VALUE_TYPE_I8">{i8} (i8)</DisplayString> | 
 |   <DisplayString Condition="type==IREE_VM_VALUE_TYPE_I16">{i16} (i16)</DisplayString> | 
 |   <DisplayString Condition="type==IREE_VM_VALUE_TYPE_I32">{i32} (i32)</DisplayString> | 
 |   <DisplayString Condition="type==IREE_VM_VALUE_TYPE_I64">{i64} (i64)</DisplayString> | 
 |   <DisplayString Condition="type==IREE_VM_VALUE_TYPE_F32">{f32} (f32)</DisplayString> | 
 |   <DisplayString Condition="type==IREE_VM_VALUE_TYPE_F64">{f64} (f64)</DisplayString> | 
 |   <DisplayString>(empty)</DisplayString> | 
 |   <Expand> | 
 |     <Item Name="type">type</Item> | 
 |     <Item Name="value" Condition="type==IREE_VM_VALUE_TYPE_I8">i8</Item> | 
 |     <Item Name="value" Condition="type==IREE_VM_VALUE_TYPE_I16">i16</Item> | 
 |     <Item Name="value" Condition="type==IREE_VM_VALUE_TYPE_I32">i32</Item> | 
 |     <Item Name="value" Condition="type==IREE_VM_VALUE_TYPE_I64">i64</Item> | 
 |     <Item Name="value" Condition="type==IREE_VM_VALUE_TYPE_F32">f32</Item> | 
 |     <Item Name="value" Condition="type==IREE_VM_VALUE_TYPE_F64">f64</Item> | 
 |   </Expand> | 
 | </Type> | 
 |  | 
 | </AutoVisualizer> |