dawn-cmake/fuzzers/tint_ast_fuzzer
Ben Clayton a9156ff091 Rework Resolver so that we construct semantic types in a single pass.
The semantic nodes cannot be fully immutable, as they contain cyclic
references. Remove Resolver::CreateSemanticNodes(), and instead
construct and mutate the semantic nodes in the single traversal pass.

Give up on trying to maintain the 'authored' type names (aliased names).
These are a nightmare to maintain, and provided limited use.

Significantly simplfies the Resolver, and allows us to generate more
semantic to semantic references, reducing sem -> ast -> sem hops.

Note: This change introduces constant value propagation across constant
variables. This is unlocked by the earlier construction of the
sem::Variable.

Change-Id: I592092fdc47fe24d30e512952511c9ab7c16d7a1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/68406
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2021-11-05 16:51:38 +00:00
..
mutation_finders Update node_id_map & FindMutators structure 2021-08-10 16:43:15 +00:00
mutations ast: Keep style consistent 2021-10-15 17:33:10 +00:00
protobufs fuzzers: Disable clang warning for clang 12 2021-07-13 20:04:51 +00:00
BUILD.gn Unify fuzzer random number generation into a single class 2021-09-03 00:59:35 +00:00
CMakeLists.txt Unify fuzzer random number generation into a single class 2021-09-03 00:59:35 +00:00
cli.cc Fix AST fuzzer message serialization 2021-07-16 17:50:04 +00:00
cli.h Fix AST fuzzer message serialization 2021-07-16 17:50:04 +00:00
fuzzer.cc Refactor Inspector fuzzing 2021-10-20 05:01:03 +00:00
mutation.cc fuzzers: Fix function not returning a value warning 2021-07-19 09:35:19 +00:00
mutation.h Implement AST fuzzer 2021-07-13 12:01:25 +00:00
mutation_finder.cc Implement AST fuzzer 2021-07-13 12:01:25 +00:00
mutation_finder.h Update node_id_map & FindMutators structure 2021-08-10 16:43:15 +00:00
mutator.cc Make all ast and sem pointers const 2021-10-19 18:38:54 +00:00
mutator.h Unify fuzzer random number generation into a single class 2021-09-03 00:59:35 +00:00
node_id_map.cc Make all ast and sem pointers const 2021-10-19 18:38:54 +00:00
node_id_map.h Make all ast and sem pointers const 2021-10-19 18:38:54 +00:00
override_cli_params.h Fuzzers: Avoid passing target backend as parameter 2021-08-31 22:07:17 +00:00
probability_context.cc Unify fuzzer random number generation into a single class 2021-09-03 00:59:35 +00:00
probability_context.h Unify fuzzer random number generation into a single class 2021-09-03 00:59:35 +00:00
tint_ast_fuzzer.cc Fuzzers: Avoid passing target backend as parameter 2021-08-31 22:07:17 +00:00
tint_ast_hlsl_writer_fuzzer.cc Fuzzers: Avoid passing target backend as parameter 2021-08-31 22:07:17 +00:00
tint_ast_msl_writer_fuzzer.cc Fuzzers: Avoid passing target backend as parameter 2021-08-31 22:07:17 +00:00
tint_ast_spv_writer_fuzzer.cc Fuzzers: Avoid passing target backend as parameter 2021-08-31 22:07:17 +00:00
tint_ast_wgsl_writer_fuzzer.cc Fuzzers: Avoid passing target backend as parameter 2021-08-31 22:07:17 +00:00
util.h Rework Resolver so that we construct semantic types in a single pass. 2021-11-05 16:51:38 +00:00