diff options
Diffstat (limited to 'src/jit/smweights.cpp')
-rw-r--r-- | src/jit/smweights.cpp | 274 |
1 files changed, 274 insertions, 0 deletions
diff --git a/src/jit/smweights.cpp b/src/jit/smweights.cpp new file mode 100644 index 0000000000..f93d739b61 --- /dev/null +++ b/src/jit/smweights.cpp @@ -0,0 +1,274 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +// +// Automatically generated code. DO NOT MODIFY! +// To generate this file, do +// "WeightsArrayGen.pl matrix.txt results.txt > SMWeights.cpp" +// +// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +#include "jitpch.h" + +#define DEFAULT_WEIGHT_VALUE 65 // This is the average of all the weights. + +#define NA 9999 + +const short g_StateWeights[] = { + NA, // state 0 + NA, // state 1 + DEFAULT_WEIGHT_VALUE, // state 2 [noshow] + 10, // state 3 [ldarg.0] + 16, // state 4 [ldarg.1] + 35, // state 5 [ldarg.2] + 28, // state 6 [ldarg.3] + 12, // state 7 [ldloc.0] + 9, // state 8 [ldloc.1] + 22, // state 9 [ldloc.2] + 24, // state 10 [ldloc.3] + 6, // state 11 [stloc.0] + 34, // state 12 [stloc.1] + 4, // state 13 [stloc.2] + 49, // state 14 [stloc.3] + 32, // state 15 [ldarg.s] + 77, // state 16 [ldarga.s] + 21, // state 17 [starg.s] + 32, // state 18 [ldloc.s] + 61, // state 19 [ldloca.s] + -45, // state 20 [stloc.s] + 7, // state 21 [ldnull] + 22, // state 22 [ldc.i4.m1] + 15, // state 23 [ldc.i4.0] + 28, // state 24 [ldc.i4.1] + 34, // state 25 [ldc.i4.2] + -6, // state 26 [ldc.i4.3] + 20, // state 27 [ldc.i4.4] + 4, // state 28 [ldc.i4.5] + 10, // state 29 [ldc.i4.6] + 56, // state 30 [ldc.i4.7] + 42, // state 31 [ldc.i4.8] + 41, // state 32 [ldc.i4.s] + 38, // state 33 [ldc.i4] + 160, // state 34 [ldc.i8] + 33, // state 35 [ldc.r4] + 113, // state 36 [ldc.r8] + DEFAULT_WEIGHT_VALUE, // state 37 [unused] + 11, // state 38 [dup] + -24, // state 39 [pop] + 79, // state 40 [call] + DEFAULT_WEIGHT_VALUE, // state 41 [calli] + 19, // state 42 [ret] + 44, // state 43 [br.s] + 27, // state 44 [brfalse.s] + 25, // state 45 [brtrue.s] + 6, // state 46 [beq.s] + 20, // state 47 [bge.s] + 33, // state 48 [bgt.s] + 53, // state 49 [ble.s] + 28, // state 50 [blt.s] + 12, // state 51 [bne.un.s] + 85, // state 52 [bge.un.s] + -52, // state 53 [bgt.un.s] + 147, // state 54 [ble.un.s] + -63, // state 55 [blt.un.s] + DEFAULT_WEIGHT_VALUE, // state 56 [long.branch] + 116, // state 57 [switch] + -19, // state 58 [ldind.i1] + 17, // state 59 [ldind.u1] + -18, // state 60 [ldind.i2] + 10, // state 61 [ldind.u2] + -11, // state 62 [ldind.i4] + -33, // state 63 [ldind.u4] + 41, // state 64 [ldind.i8] + -110, // state 65 [ldind.i] + 31, // state 66 [ldind.r4] + 45, // state 67 [ldind.r8] + 1, // state 68 [ldind.ref] + 60, // state 69 [stind.ref] + 36, // state 70 [stind.i1] + 40, // state 71 [stind.i2] + 11, // state 72 [stind.i4] + 84, // state 73 [stind.i8] + 50, // state 74 [stind.r4] + 73, // state 75 [stind.r8] + -12, // state 76 [add] + -15, // state 77 [sub] + -9, // state 78 [mul] + 35, // state 79 [div] + 89, // state 80 [div.un] + 89, // state 81 [rem] + 82, // state 82 [rem.un] + -5, // state 83 [and] + -7, // state 84 [or] + 35, // state 85 [xor] + 0, // state 86 [shl] + 17, // state 87 [shr] + 27, // state 88 [shr.un] + 58, // state 89 [neg] + 19, // state 90 [not] + 78, // state 91 [conv.i1] + 54, // state 92 [conv.i2] + 2, // state 93 [conv.i4] + 99, // state 94 [conv.i8] + 273, // state 95 [conv.r4] + 197, // state 96 [conv.r8] + 45, // state 97 [conv.u4] + 55, // state 98 [conv.u8] + 83, // state 99 [callvirt] + DEFAULT_WEIGHT_VALUE, // state 100 [cpobj] + 29, // state 101 [ldobj] + 66, // state 102 [ldstr] + 227, // state 103 [newobj] + 261, // state 104 [castclass] + 166, // state 105 [isinst] + 209, // state 106 [conv.r.un] + DEFAULT_WEIGHT_VALUE, // state 107 [unbox] + 210, // state 108 [throw] + 18, // state 109 [ldfld] + 17, // state 110 [ldflda] + 31, // state 111 [stfld] + 159, // state 112 [ldsfld] + 177, // state 113 [ldsflda] + 125, // state 114 [stsfld] + 36, // state 115 [stobj] + 148, // state 116 [ovf.notype.un] + 247, // state 117 [box] + 152, // state 118 [newarr] + 7, // state 119 [ldlen] + 145, // state 120 [ldelema] + 103, // state 121 [ldelem.i1] + 91, // state 122 [ldelem.u1] + 267, // state 123 [ldelem.i2] + 148, // state 124 [ldelem.u2] + 92, // state 125 [ldelem.i4] + 213, // state 126 [ldelem.u4] + 223, // state 127 [ldelem.i8] + DEFAULT_WEIGHT_VALUE, // state 128 [ldelem.i] + DEFAULT_WEIGHT_VALUE, // state 129 [ldelem.r4] + 549, // state 130 [ldelem.r8] + 81, // state 131 [ldelem.ref] + DEFAULT_WEIGHT_VALUE, // state 132 [stelem.i] + 14, // state 133 [stelem.i1] + 23, // state 134 [stelem.i2] + 66, // state 135 [stelem.i4] + 254, // state 136 [stelem.i8] + DEFAULT_WEIGHT_VALUE, // state 137 [stelem.r4] + DEFAULT_WEIGHT_VALUE, // state 138 [stelem.r8] + 94, // state 139 [stelem.ref] + DEFAULT_WEIGHT_VALUE, // state 140 [ldelem] + DEFAULT_WEIGHT_VALUE, // state 141 [stelem] + 274, // state 142 [unbox.any] + DEFAULT_WEIGHT_VALUE, // state 143 [conv.ovf.i1] + DEFAULT_WEIGHT_VALUE, // state 144 [conv.ovf.u1] + DEFAULT_WEIGHT_VALUE, // state 145 [conv.ovf.i2] + DEFAULT_WEIGHT_VALUE, // state 146 [conv.ovf.u2] + 242, // state 147 [conv.ovf.i4] + DEFAULT_WEIGHT_VALUE, // state 148 [conv.ovf.u4] + 293, // state 149 [conv.ovf.i8] + 293, // state 150 [conv.ovf.u8] + DEFAULT_WEIGHT_VALUE, // state 151 [refanyval] + DEFAULT_WEIGHT_VALUE, // state 152 [ckfinite] + -17, // state 153 [mkrefany] + 32, // state 154 [ldtoken] + 25, // state 155 [conv.u2] + 50, // state 156 [conv.u1] + -0, // state 157 [conv.i] + 178, // state 158 [conv.ovf.i] + DEFAULT_WEIGHT_VALUE, // state 159 [conv.ovf.u] + DEFAULT_WEIGHT_VALUE, // state 160 [add.ovf] + DEFAULT_WEIGHT_VALUE, // state 161 [mul.ovf] + DEFAULT_WEIGHT_VALUE, // state 162 [sub.ovf] + -17, // state 163 [leave.s] + 182, // state 164 [stind.i] + -36, // state 165 [conv.u] + DEFAULT_WEIGHT_VALUE, // state 166 [prefix.n] + 120, // state 167 [arglist] + 20, // state 168 [ceq] + -1, // state 169 [cgt] + 47, // state 170 [cgt.un] + 26, // state 171 [clt] + 85, // state 172 [clt.un] + 102, // state 173 [ldftn] + 234, // state 174 [ldvirtftn] + DEFAULT_WEIGHT_VALUE, // state 175 [long.loc.arg] + 347, // state 176 [localloc] + DEFAULT_WEIGHT_VALUE, // state 177 [unaligned] + -44, // state 178 [volatile] + DEFAULT_WEIGHT_VALUE, // state 179 [tailcall] + 55, // state 180 [initobj] + DEFAULT_WEIGHT_VALUE, // state 181 [constrained] + DEFAULT_WEIGHT_VALUE, // state 182 [cpblk] + DEFAULT_WEIGHT_VALUE, // state 183 [initblk] + DEFAULT_WEIGHT_VALUE, // state 184 [rethrow] + 38, // state 185 [sizeof] + -68, // state 186 [refanytype] + DEFAULT_WEIGHT_VALUE, // state 187 [readonly] + 55, // state 188 [ldarga.s.normed] + 35, // state 189 [ldloca.s.normed] + 161, // state 190 [constrained -> callvirt] + 31, // state 191 [ldarg.0 -> ldfld] + 29, // state 192 [ldarg.1 -> ldfld] + 22, // state 193 [ldarg.2 -> ldfld] + 321, // state 194 [ldarg.3 -> ldfld] + 46, // state 195 [ldarga.s -> ldfld] + 8, // state 196 [ldloca.s -> ldfld] + 19, // state 197 [ldarga.s.normed -> ldfld] + -35, // state 198 [ldloca.s.normed -> ldfld] + 20, // state 199 [stloc.0 -> ldloc.0] + -7, // state 200 [stloc.1 -> ldloc.1] + -10, // state 201 [stloc.2 -> ldloc.2] + -4, // state 202 [stloc.3 -> ldloc.3] + DEFAULT_WEIGHT_VALUE, // state 203 [ldc.r4 -> add] + DEFAULT_WEIGHT_VALUE, // state 204 [ldc.r4 -> sub] + DEFAULT_WEIGHT_VALUE, // state 205 [ldc.r4 -> mul] + DEFAULT_WEIGHT_VALUE, // state 206 [ldc.r4 -> div] + 52, // state 207 [ldc.r8 -> add] + DEFAULT_WEIGHT_VALUE, // state 208 [ldc.r8 -> sub] + -169, // state 209 [ldc.r8 -> mul] + -17, // state 210 [ldc.r8 -> div] + DEFAULT_WEIGHT_VALUE, // state 211 [conv.r4 -> add] + DEFAULT_WEIGHT_VALUE, // state 212 [conv.r4 -> sub] + DEFAULT_WEIGHT_VALUE, // state 213 [conv.r4 -> mul] + DEFAULT_WEIGHT_VALUE, // state 214 [conv.r4 -> div] + 358, // state 215 [conv.r8 -> mul] + DEFAULT_WEIGHT_VALUE, // state 216 [conv.r8 -> div] + NA, // state 217 + 32, // state 218 [ldarg.0 -> ldc.i4.0 -> stfld] + NA, // state 219 + DEFAULT_WEIGHT_VALUE, // state 220 [ldarg.0 -> ldc.r4 -> stfld] + NA, // state 221 + 38, // state 222 [ldarg.0 -> ldc.r8 -> stfld] + NA, // state 223 + NA, // state 224 + 64, // state 225 [ldarg.0 -> ldarg.1 -> ldfld -> stfld] + 69, // state 226 [ldarg.0 -> ldarg.1 -> stfld] + NA, // state 227 + 98, // state 228 [ldarg.0 -> ldarg.2 -> stfld] + NA, // state 229 + 97, // state 230 [ldarg.0 -> ldarg.3 -> stfld] + NA, // state 231 + NA, // state 232 + NA, // state 233 + NA, // state 234 + 34, // state 235 [ldarg.0 -> dup -> ldfld -> ldarg.1 -> add -> stfld] + NA, // state 236 + -10, // state 237 [ldarg.0 -> dup -> ldfld -> ldarg.1 -> sub -> stfld] + NA, // state 238 + DEFAULT_WEIGHT_VALUE, // state 239 [ldarg.0 -> dup -> ldfld -> ldarg.1 -> mul -> stfld] + NA, // state 240 + DEFAULT_WEIGHT_VALUE, // state 241 [ldarg.0 -> dup -> ldfld -> ldarg.1 -> div -> stfld] + NA, // state 242 + NA, // state 243 + DEFAULT_WEIGHT_VALUE, // state 244 [ldarg.0 -> ldfld -> ldarg.1 -> ldfld -> add] + DEFAULT_WEIGHT_VALUE, // state 245 [ldarg.0 -> ldfld -> ldarg.1 -> ldfld -> sub] + NA, // state 246 + NA, // state 247 + DEFAULT_WEIGHT_VALUE, // state 248 [ldarga.s -> ldfld -> ldarga.s -> ldfld -> add] + DEFAULT_WEIGHT_VALUE, // state 249 [ldarga.s -> ldfld -> ldarga.s -> ldfld -> sub] +}; + +static_assert_no_msg(NUM_SM_STATES == sizeof(g_StateWeights) / sizeof(g_StateWeights[0])); + +const short* gp_StateWeights = g_StateWeights; |