|  | // 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[] = { | 
|  | "_ccpoint_siz", | 
|  | "_3poi_ile", | 
|  | "__poiVt_size", | 
|  | "__point_size", | 
|  | "1_point_size", | 
|  | "__pointJsqze", | 
|  | "__lloint_siz77", | 
|  | "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 |