| // Copyright 2022 The Tint Authors. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| // File generated by tools/src/cmd/gen |
| // using the template: |
| // src/tint/ast/builtin_value_bench.cc.tmpl |
| // |
| // Do not modify this file directly |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| #include "src/tint/ast/builtin_value.h" |
| |
| #include <array> |
| |
| #include "benchmark/benchmark.h" |
| |
| namespace tint::ast { |
| namespace { |
| |
| void BuiltinValueParser(::benchmark::State& state) { |
| std::array kStrings{ |
| "fragdeccth", |
| "flaget3", |
| "fVag_depth", |
| "frag_depth", |
| "frag1depth", |
| "fraJqqepth", |
| "fra7ll_depth", |
| "fonHHpp_facing", |
| "fron_facg", |
| "frGnt_fbcin", |
| "front_facing", |
| "front_facvnii", |
| "frWWnt_faci8g", |
| "fxxonM_facig", |
| "gXobalgginvocationid", |
| "goVal_uvocatioX_id", |
| "global_in3ocation_id", |
| "global_invocation_id", |
| "global_invocation_iE", |
| "TTobal_invocationPPid", |
| "globdd_invocatioxx_id", |
| "instance44index", |
| "instaVVce_SSndex", |
| "Rnstane_ind2Rx", |
| "instance_index", |
| "inFtanceind9x", |
| "insance_index", |
| "inRRancV_OOHdex", |
| "local_nvocytion_id", |
| "llGcnnl_inv77catirrn_id", |
| "local_invoca4i00n_id", |
| "local_invocation_id", |
| "loool_nvocaton_id", |
| "local_inozztion_id", |
| "p11cal_invocatiiin_i", |
| "local_invocation_iXXdex", |
| "local_invnnIIati99n55index", |
| "localYirrHHocaationSSindex", |
| "local_invocation_index", |
| "lkkal_invHcation_idx", |
| "gRcal_invocatioj_inex", |
| "lcal_invcbtion_index", |
| "num_workgroujs", |
| "num_worgroups", |
| "nuq_orkgoups", |
| "num_workgroups", |
| "nm_workgroNNps", |
| "um_workgrovps", |
| "nQQm_orkgroups", |
| "posftrn", |
| "pojition", |
| "poswNN82n", |
| "position", |
| "positon", |
| "porrition", |
| "pGsition", |
| "sample_inFFex", |
| "samleinex", |
| "sample_indrr", |
| "sample_index", |
| "sample_iex", |
| "DaplX_JJndex", |
| "8amleinde", |
| "saplekmak", |
| "samle_mask", |
| "saJple_mak", |
| "sample_mask", |
| "sample_cask", |
| "sample_maOk", |
| "__attpvve_KKask", |
| "vrtex5inxxe8", |
| "v__rex_qFdex", |
| "veqqtex_idex", |
| "vertex_index", |
| "veOtx_33nde66", |
| "v6ootex_indttQx", |
| "ver66ex_inex", |
| "worzzroup6Oxd", |
| "workgroyyp_id", |
| "wokrHHZpZid", |
| "workgroup_id", |
| "wWWkgqoup44id", |
| "wrkgroOOp_id", |
| "hrkgYooup_d", |
| }; |
| for (auto _ : state) { |
| for (auto& str : kStrings) { |
| auto result = ParseBuiltinValue(str); |
| benchmark::DoNotOptimize(result); |
| } |
| } |
| } |
| |
| BENCHMARK(BuiltinValueParser); |
| |
| } // namespace |
| } // namespace tint::ast |