)]}'
{
  "commit": "8b2aba2e20c3cfb9d2e9337fdc38c889b0ff8ae2",
  "tree": "45d3998a0d1c71870e13ebeab5886ec19b3ec4d7",
  "parents": [
    "ec546ce5745b195655cbdf645322d5dda91374e0"
  ],
  "author": {
    "name": "Hassnaa Hamdi",
    "email": "hassnaa.hamdi@arm.com",
    "time": "Wed Oct 22 12:16:11 2025 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 22 12:16:11 2025 +0100"
  },
  "message": "[WPD]: Enable speculative devirtualizatoin. (#159048)\n\nThis patch implements the speculative devirtualization feature in the\nLLVM backend.\nIt handles the case of single implementation devirtualization where\nthere is a single possible callee of a virtual function.\n- Add cl::opt \u0027devirtualize-speculatively\u0027 to enable it.\n- Flag is disabled by default.\n- It works regardless of the visibility of the object.\n- Not enabled for LTO for now.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "76e588b116c047d3f2520a243c6141305e17831f",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp",
      "new_id": "a0f7ec6d5fae31dd27a00c64e9381f7a0a24714d",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "10566ae0dee8eb1633d120684bcbef4f9b9133bb",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/WholeProgramDevirt/speculative-devirt-single-impl.ll"
    },
    {
      "type": "modify",
      "old_id": "d8f5c912e9a50a6925cfecc73c891f2ddd55e19d",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-check.ll",
      "new_id": "8327e1cfdf1d2bafc0672fb6ddb3e54bb1b78297",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-check.ll"
    }
  ]
}
