dawn-cmake/src/tint/sem
dan sinclair 46c32d882d Early out Is checks.
This CL adds a check to the `Is` castable methods to determine if the
target type is `final`. If the type being compared too is `final` we
bail out early in the walk up the hierarchy as it won't be a parent
class.

Change-Id: Ieba4dd686e47207a3db0cf3a8ea46fbc1a8d1c91
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96600
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2022-07-20 15:53:14 +00:00
..
abstract_float.cc tint: Minor, miscellaneous cleanups 2022-05-19 23:05:40 +00:00
abstract_float.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
abstract_int.cc tint: Minor, miscellaneous cleanups 2022-05-19 23:05:40 +00:00
abstract_int.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
abstract_numeric.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
abstract_numeric.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
array.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
array.h Update some forward declarations. 2022-05-30 18:00:58 +00:00
atomic.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
atomic.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
atomic_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
behavior.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
behavior.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
binding_point.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
block_statement.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
block_statement.h Update some forward declarations. 2022-05-30 18:00:58 +00:00
bool.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
bool.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
bool_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
builtin.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
builtin.h tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
builtin_test.cc tint: Remove support for smoothStep builtin 2022-06-15 23:32:14 +00:00
builtin_type.cc tint: Implement acosh, asinh, atanh 2022-06-28 15:27:44 +00:00
builtin_type.cc.tmpl tint: Add operator support to intrinsic-gen 2022-05-09 18:08:23 +00:00
builtin_type.h tint: Implement acosh, asinh, atanh 2022-06-28 15:27:44 +00:00
builtin_type.h.tmpl tint: Add operator support to intrinsic-gen 2022-05-09 18:08:23 +00:00
call.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
call.h tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
call_target.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
call_target.h tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
constant.cc tint: Refactor sem::Constant to be less memory-hungry 2022-06-29 19:07:30 +00:00
constant.h tint: Implement constant expression structures 2022-07-14 20:46:39 +00:00
depth_multisampled_texture.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
depth_multisampled_texture.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
depth_multisampled_texture_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
depth_texture.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
depth_texture.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
depth_texture_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
evaluation_stage.h tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
expression.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
expression.h tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
expression_test.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
external_texture.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
external_texture.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
external_texture_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
f16.cc tint: Implement `f16` keyword in Tint frontend 2022-05-13 12:01:11 +00:00
f16.h Early out Is checks. 2022-07-20 15:53:14 +00:00
f16_test.cc tint: Implement `f16` keyword in Tint frontend 2022-05-13 12:01:11 +00:00
f32.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
f32.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
f32_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
for_loop_statement.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
for_loop_statement.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
function.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
function.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
i32.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
i32.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
i32_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
if_statement.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
if_statement.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
index_accessor_expression.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
index_accessor_expression.h tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
info.cc Condense namespaces in tint/sem. 2022-04-07 16:04:35 +00:00
info.h tint: Optimize sem node lookup 2022-07-18 20:50:02 +00:00
loop_statement.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
loop_statement.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
materialize.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
materialize.h tint: Refactor sem::Constant to be less memory-hungry 2022-06-29 19:07:30 +00:00
matrix.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
matrix.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
matrix_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
member_accessor_expression.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
member_accessor_expression.h tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
module.cc tint: Refactor Extensions / Enables. 2022-05-18 22:41:48 +00:00
module.h Update some forward declarations. 2022-05-30 18:00:58 +00:00
multisampled_texture.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
multisampled_texture.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
multisampled_texture_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
node.cc Condense namespaces in tint/sem. 2022-04-07 16:04:35 +00:00
node.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
parameter_usage.cc tint: Add constructors and conversions to the intrinsic table 2022-05-16 20:54:42 +00:00
parameter_usage.cc.tmpl tint: Rename and move builtin_table and builtin-gen 2022-05-06 15:13:01 +00:00
parameter_usage.h tint: Add constructors and conversions to the intrinsic table 2022-05-16 20:54:42 +00:00
parameter_usage.h.tmpl tint: Rename and move builtin_table and builtin-gen 2022-05-06 15:13:01 +00:00
pipeline_stage_set.h Condense namespaces in tint/sem. 2022-04-07 16:04:35 +00:00
pointer.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
pointer.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
pointer_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
reference.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
reference.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
reference_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
sampled_texture.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
sampled_texture.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
sampled_texture_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
sampler.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
sampler.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
sampler_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
sampler_texture_pair.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
sem_array_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
sem_struct_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
statement.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
statement.h Update some forward declarations. 2022-05-30 18:00:58 +00:00
storage_texture.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
storage_texture.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
storage_texture_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
struct.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
struct.h Early out Is checks. 2022-07-20 15:53:14 +00:00
switch_statement.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
switch_statement.h tint: Add new methods to semantic Switch nodes 2022-05-20 12:28:00 +00:00
test_helper.h tint: Extract intrinsic-table common type to helper 2022-05-19 22:54:00 +00:00
texture.cc tint: Remove '_type' suffix from file names 2022-04-28 18:49:04 +00:00
texture.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
texture_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
type.cc tint/sem: Return vector for Type::ElementOf(matrix) 2022-06-22 00:02:03 +00:00
type.h tint/sem: Return vector for Type::ElementOf(matrix) 2022-06-22 00:02:03 +00:00
type_constructor.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
type_constructor.h tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
type_conversion.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
type_conversion.h tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
type_manager.cc Condense namespaces in tint/sem. 2022-04-07 16:04:35 +00:00
type_manager.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
type_manager_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
type_mappings.h tint/sem: Remove TypeMappings for derived expressions 2022-07-07 17:15:01 +00:00
type_test.cc tint/sem: Return vector for Type::ElementOf(matrix) 2022-06-22 00:02:03 +00:00
u32.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
u32.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
u32_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
variable.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
variable.h tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
vector.cc tint: Generalize sem::Vector to allow 16bits subtype 2022-05-13 08:56:56 +00:00
vector.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
vector_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
void.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
void.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
while_statement.cc Add while statement parsing. 2022-06-16 12:01:27 +00:00
while_statement.h Add while statement parsing. 2022-06-16 12:01:27 +00:00