)]}'
{
  "commit": "75bb7a374ff3f5363432a17e8000b50a60a4530c",
  "tree": "42c2fe4ec5b21bf89495d2c2f5abad9f5b2799b7",
  "parents": [
    "8eb778d04094d3af4b26580cab327e0413eb1e02",
    "66162cb9663ad492e5b3bbf40d32408e3d9c1dcd"
  ],
  "author": {
    "name": "bors",
    "email": "bors@rust-lang.org",
    "time": "Fri Nov 13 03:21:59 2026"
  },
  "committer": {
    "name": "bors",
    "email": "bors@rust-lang.org",
    "time": "Fri Nov 13 03:21:59 2026"
  },
  "message": "Auto merge of #164707 - marcpems:fix/static-llvm-pgo-training, r\u003dKobzol\n\nRe-enable rustc profile generation for static linked llvm on Windows x64 builds \n\n\n\n\r\nFix the sequence for LLVM’s PGO training with rust when LLVM is statically linked.  Delivers ~14% compile time improvements for x64 build\u0027s (using rust v1.94.1 and IronRDP as a test project). Also (using LLM to generate) added a test validation step that checks the correct PGO training is taking place for each of the build flavours. \r\nThis does not impact builds for Linux +Mac targets as LLVM is not statically linked. Neither does it directly impact Windows on Arm builds as PGO is disabled on those productions. \r\n\r\nDetails:\r\nWhen rustc and llvm are linked statically the opt-dist now rebuilds rustc with the existing rustc PGO profile while generating LLVM instrumentation build. When LLVM is a shared component the existing behaviour remains, avoiding the additional rustc build. Static linked llvm needs to be rebuilt to use the instrumented LLVM before a profile will be correctly generated. \r\n\r\nThe rest adds a regression test covering Linux and Windows hosts, both fast-try-build settings, and registers opt-dist in the normal bootstrap test suite. The snapshot updates reflect that new test-suite entry.\r\n\r\nImpact on the release-build wall-clock time for x64 is expected to be around 5-10 mins, keeping it well within the limits for a standard runner. \r\n\r\nUPDATE (23rd Oct)\r\nI re-ran this using v1.99.1 to validate on latest. Applying this to 1.99.1 and using IronRDP again as a measure, the compilation wall time reduction was 12.9% and CPU time was down by 13.7%. Tests and additional correctness passed.\r\nThe cost of release-build was about the same (using a 16-core test machine) \r\n\r\nLLM disclosure: GPT-6 Astra was used to...\r\n- point out the absence of PGO page hits on release rustc builds\r\n- identify the cause of the PGO misses\r\n- suggest a new test scenario to validate\r\n- run multiple perf comparison runs to validate impact and robustness of the fix. \r\nFull investigation results available here: https://github.com/marcpems/IronRDP-ci-benchmark/blob/experiment/x64-pgo-comparison/ci-benchmark/X64-PROFILE-ONLY.md\r\n\r\nr? @ciura\r\nr? @kennykerr\r\nr? @manbearian",
  "tree_diff": []
}
