| // Copyright 2022 The Dawn & Tint Authors | 
 | // | 
 | // Redistribution and use in source and binary forms, with or without | 
 | // modification, are permitted provided that the following conditions are met: | 
 | // | 
 | // 1. Redistributions of source code must retain the above copyright notice, this | 
 | //    list of conditions and the following disclaimer. | 
 | // | 
 | // 2. Redistributions in binary form must reproduce the above copyright notice, | 
 | //    this list of conditions and the following disclaimer in the documentation | 
 | //    and/or other materials provided with the distribution. | 
 | // | 
 | // 3. Neither the name of the copyright holder nor the names of its | 
 | //    contributors may be used to endorse or promote products derived from | 
 | //    this software without specific prior written permission. | 
 | // | 
 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 
 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 
 | // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | 
 | // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 
 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | 
 | // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | 
 | // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | 
 | // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
 |  | 
 | //////////////////////////////////////////////////////////////////////////////// | 
 | // File generated by 'tools/src/cmd/gen' using the template: | 
 | //   src/tint/lang/core/builtin_value_bench.cc.tmpl | 
 | // | 
 | // To regenerate run: './tools/run gen' | 
 | // | 
 | //                       Do not modify this file directly | 
 | //////////////////////////////////////////////////////////////////////////////// | 
 |  | 
 | #include "src/tint/lang/core/builtin_value.h" | 
 |  | 
 | #include <array> | 
 |  | 
 | #include "benchmark/benchmark.h" | 
 |  | 
 | namespace tint::core { | 
 | namespace { | 
 |  | 
 | void BuiltinValueParser(::benchmark::State& state) { | 
 |     const char* kStrings[] = { | 
 |         "clip_distacecc", | 
 |         "c_disla3ces", | 
 |         "cliV_distances", | 
 |         "clip_distances", | 
 |         "clip1distances", | 
 |         "cqqiJ_distanes", | 
 |         "clip_dllstance77", | 
 |         "frqqgppepHHh", | 
 |         "fv_dcpt", | 
 |         "frabGdeth", | 
 |         "frag_depth", | 
 |         "frag_veiith", | 
 |         "fr8g_depWWh", | 
 |         "Mragxxepth", | 
 |         "ggroXtfacing", | 
 |         "Vot_fuciXg", | 
 |         "front_fac3ng", | 
 |         "front_facing", | 
 |         "front_fEcing", | 
 |         "fronPPfaTTing", | 
 |         "ddroxxtfacing", | 
 |         "global_invocatio44_id", | 
 |         "global_invocaSSioVV_id", | 
 |         "22loRal_invoRtion_id", | 
 |         "global_invocation_id", | 
 |         "globalFinvoction_id", | 
 |         "gloal_invocation_id", | 
 |         "RRlHOOaV_invoction_id", | 
 |         "instance_ydex", | 
 |         "instGlr77cnn_index", | 
 |         "instan04e_index", | 
 |         "instance_index", | 
 |         "insacoo_inex", | 
 |         "izstane_index", | 
 |         "nippance_in11ex", | 
 |         "local_invXXcation_id", | 
 |         "lIIcal_i5599ocation_inn", | 
 |         "HHrrcal_inSSocation_Yaa", | 
 |         "local_invocation_id", | 
 |         "lokkal_invocatini", | 
 |         "jocal_invocRRongid", | 
 |         "local_inocatbon_i", | 
 |         "local_injocation_index", | 
 |         "local_invocatio_index", | 
 |         "locl_invocqtion_ndex", | 
 |         "local_invocation_index", | 
 |         "localNNinvocaton_index", | 
 |         "local_invocatin_ivvdx", | 
 |         "locl_invocatioQQ_index", | 
 |         "num_workgffus", | 
 |         "num_workgroujs", | 
 |         "num_wrkgNNwoup8", | 
 |         "num_workgroups", | 
 |         "numworkgroups", | 
 |         "num_workrrroups", | 
 |         "num_worGgroups", | 
 |         "pFFsition", | 
 |         "pEiio", | 
 |         "prrsitio", | 
 |         "position", | 
 |         "sition", | 
 |         "poJJDtin", | 
 |         "poi8i", | 
 |         "smpke11nde", | 
 |         "samle_index", | 
 |         "saple_Jndex", | 
 |         "sample_index", | 
 |         "cample_index", | 
 |         "sample_indOx", | 
 |         "savvKKl___inttex", | 
 |         "sam8le_xx5k", | 
 |         "sampqq__msk", | 
 |         "sampleqmask", | 
 |         "sample_mask", | 
 |         "33amOe_mas66", | 
 |         "samoott6QQmask", | 
 |         "66mple_mask", | 
 |         "subroup_invoOaxion_i6zz", | 
 |         "subgroup_inyyocation_id", | 
 |         "subgrup_invcatiZHH_id", | 
 |         "subgroup_invocation_id", | 
 |         "subgroqp_inWWoat44on_id", | 
 |         "subgrou_inOOocation_id", | 
 |         "suhgrup_invoYation_id", | 
 |         "subroup_si", | 
 |         "suFgoup_size", | 
 |         "subgowp_size", | 
 |         "subgroup_size", | 
 |         "suffgKup_sie", | 
 |         "KKubgroqp_size", | 
 |         "subFroup3mmize", | 
 |         "ertex_index", | 
 |         "verteq_inex", | 
 |         "verbx_indbbx", | 
 |         "vertex_index", | 
 |         "iertex_indx", | 
 |         "veOOtexqidex", | 
 |         "vertexvvindTTx", | 
 |         "workFFroup_id", | 
 |         "workgPfpQ00d", | 
 |         "woPkgroup_id", | 
 |         "workgroup_id", | 
 |         "wosskgrup_i77", | 
 |         "workgroup_bbRC", | 
 |         "workgroup_iXX", | 
 |     }; | 
 |     for (auto _ : state) { | 
 |         for (auto* str : kStrings) { | 
 |             auto result = ParseBuiltinValue(str); | 
 |             benchmark::DoNotOptimize(result); | 
 |         } | 
 |     } | 
 | }  // NOLINT(readability/fn_size) | 
 |  | 
 | BENCHMARK(BuiltinValueParser); | 
 |  | 
 | }  // namespace | 
 | }  // namespace tint::core |