N functions with distinct compile-time constants, no errors.
bucket: diagnostics · compile mode: target · flags: -target spirv -emit-spirv-directly · default N: 400
Full sub-counter decomposition of compileInner — named leaf timers plus (self) residuals (a parent's time not covered by a named child, e.g. the autodiff transform in linkAndOptimizeIR (self)). Topmost band traces compileInner; hover a band for its phase.
exact compiled source (N = 400); long files show the first 40 lines, the area around computeMain (±40), and the last 40 lines (gaps elided)
// AUTO-GENERATED by perf-suite/workloads.py — do not edit by hand.
RWStructuredBuffer<float> outBuf;
static const float k_0 = 0.0;
float ok_0(float x) { return x + k_0 * 1.0; }
static const float k_1 = 1.0;
float ok_1(float x) { return x + k_1 * 2.0; }
static const float k_2 = 2.0;
float ok_2(float x) { return x + k_2 * 3.0; }
static const float k_3 = 3.0;
float ok_3(float x) { return x + k_3 * 4.0; }
static const float k_4 = 4.0;
float ok_4(float x) { return x + k_4 * 5.0; }
static const float k_5 = 5.0;
float ok_5(float x) { return x + k_5 * 1.0; }
static const float k_6 = 6.0;
float ok_6(float x) { return x + k_6 * 2.0; }
static const float k_7 = 0.0;
float ok_7(float x) { return x + k_7 * 3.0; }
static const float k_8 = 1.0;
float ok_8(float x) { return x + k_8 * 4.0; }
static const float k_9 = 2.0;
float ok_9(float x) { return x + k_9 * 5.0; }
static const float k_10 = 3.0;
float ok_10(float x) { return x + k_10 * 1.0; }
static const float k_11 = 4.0;
float ok_11(float x) { return x + k_11 * 2.0; }
static const float k_12 = 5.0;
float ok_12(float x) { return x + k_12 * 3.0; }
static const float k_13 = 6.0;
float ok_13(float x) { return x + k_13 * 4.0; }
static const float k_14 = 0.0;
float ok_14(float x) { return x + k_14 * 5.0; }
static const float k_15 = 1.0;
float ok_15(float x) { return x + k_15 * 1.0; }
static const float k_16 = 2.0;
float ok_16(float x) { return x + k_16 * 2.0; }
static const float k_17 = 3.0;
float ok_17(float x) { return x + k_17 * 3.0; }
static const float k_18 = 4.0;
// … 726 lines omitted …
float ok_381(float x) { return x + k_381 * 2.0; }
static const float k_382 = 4.0;
float ok_382(float x) { return x + k_382 * 3.0; }
static const float k_383 = 5.0;
float ok_383(float x) { return x + k_383 * 4.0; }
static const float k_384 = 6.0;
float ok_384(float x) { return x + k_384 * 5.0; }
static const float k_385 = 0.0;
float ok_385(float x) { return x + k_385 * 1.0; }
static const float k_386 = 1.0;
float ok_386(float x) { return x + k_386 * 2.0; }
static const float k_387 = 2.0;
float ok_387(float x) { return x + k_387 * 3.0; }
static const float k_388 = 3.0;
float ok_388(float x) { return x + k_388 * 4.0; }
static const float k_389 = 4.0;
float ok_389(float x) { return x + k_389 * 5.0; }
static const float k_390 = 5.0;
float ok_390(float x) { return x + k_390 * 1.0; }
static const float k_391 = 6.0;
float ok_391(float x) { return x + k_391 * 2.0; }
static const float k_392 = 0.0;
float ok_392(float x) { return x + k_392 * 3.0; }
static const float k_393 = 1.0;
float ok_393(float x) { return x + k_393 * 4.0; }
static const float k_394 = 2.0;
float ok_394(float x) { return x + k_394 * 5.0; }
static const float k_395 = 3.0;
float ok_395(float x) { return x + k_395 * 1.0; }
static const float k_396 = 4.0;
float ok_396(float x) { return x + k_396 * 2.0; }
static const float k_397 = 5.0;
float ok_397(float x) { return x + k_397 * 3.0; }
static const float k_398 = 6.0;
float ok_398(float x) { return x + k_398 * 4.0; }
static const float k_399 = 0.0;
float ok_399(float x) { return x + k_399 * 5.0; }
[shader("compute")]
[numthreads(1,1,1)]
void computeMain()
{
float acc = 0.0;
for (int i = 0; i < 400; ++i) acc += ok_0(float(i));
outBuf[0] = acc;
}