)]}'
{
  "commit": "64b728128df355b9838eb7f6c19082628fb30dbe",
  "tree": "90a5b4bc612feb12b3bcbf9b279dee5dd45f2fe2",
  "parents": [
    "3468ee025ed5934f5fb224b497da15227c3de447"
  ],
  "author": {
    "name": "Alexandros Lamprineas",
    "email": "alexandros.lamprineas@arm.com",
    "time": "Thu Apr 02 11:59:59 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Apr 02 11:59:59 2026 +0100"
  },
  "message": "[BOLT][AArch64] Add minimal support for liveness analysis. (#183298)\n\nIn this patch I am adding the missing target hooks required for the\nliveness analysis to run on AArch64. These are\n - getFlagsReg()\n - getRegsUsedAsParams()\n - getDefaultLiveOut()\n - getGPRegs()\n - isCleanRegXOR()\n\nI am also introducing the following API in LivenessAnalysis\n - BitVector getLiveIn/Out(const MCInst \u0026)\n - MCPhysReg scavengeRegFromState(BitVector \u0026)\n \nMy intention is to allow the LongJmp pass scavenge usable registers when\ninjecting code.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a672d7a4568969f9fc41edf759d53621a74922a3",
      "old_mode": 33188,
      "old_path": "bolt/include/bolt/Core/MCPlusBuilder.h",
      "new_id": "0f6076688b65da9d65cfb1f5e768ac517a364b3e",
      "new_mode": 33188,
      "new_path": "bolt/include/bolt/Core/MCPlusBuilder.h"
    },
    {
      "type": "modify",
      "old_id": "f4faa1dc34ecdb2fe9ef3d472c340f691c88e5c6",
      "old_mode": 33188,
      "old_path": "bolt/include/bolt/Passes/LivenessAnalysis.h",
      "new_id": "6fcb66957f028a5754a487b62ab7e27da99193fa",
      "new_mode": 33188,
      "new_path": "bolt/include/bolt/Passes/LivenessAnalysis.h"
    },
    {
      "type": "modify",
      "old_id": "3955ff378be41470771c38b0d8fac36e89931b77",
      "old_mode": 33188,
      "old_path": "bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp",
      "new_id": "b4c08cf1f6153100ce878774e703db3eeb83051e",
      "new_mode": 33188,
      "new_path": "bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp"
    },
    {
      "type": "modify",
      "old_id": "51e7d27f18a0be547e08cbe15a85bc68d03dca07",
      "old_mode": 33188,
      "old_path": "bolt/lib/Target/X86/X86MCPlusBuilder.cpp",
      "new_id": "aa1a70e40669a8c49f917fbbd7733124085fe757",
      "new_mode": 33188,
      "new_path": "bolt/lib/Target/X86/X86MCPlusBuilder.cpp"
    },
    {
      "type": "modify",
      "old_id": "d76dac04c5bb14e78d1e180d0480df95414656ee",
      "old_mode": 33188,
      "old_path": "bolt/unittests/Core/MCPlusBuilder.cpp",
      "new_id": "7073b41f524f988759ac4e7a9729b64a65bf50ba",
      "new_mode": 33188,
      "new_path": "bolt/unittests/Core/MCPlusBuilder.cpp"
    },
    {
      "type": "modify",
      "old_id": "17ae8802f6953cd206779a18b449987af72f8e63",
      "old_mode": 33188,
      "old_path": "bolt/unittests/Passes/CMakeLists.txt",
      "new_id": "bd373cd0006f67c084f7294d56ee2780d9d89c62",
      "new_mode": 33188,
      "new_path": "bolt/unittests/Passes/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7ddf683a855ecafa088464924205ff59acd6bd87",
      "new_mode": 33188,
      "new_path": "bolt/unittests/Passes/LivenessAnalysis.cpp"
    }
  ]
}
