summaryrefslogtreecommitdiff
path: root/src/jit/smweights.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/smweights.cpp')
-rw-r--r--src/jit/smweights.cpp274
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;