)]}'
{
  "commit": "8af0fc60c05bdc29e8175d3d7fc1bda175533e95",
  "tree": "64ef4cf85b4f62af06b445610ca999dec7271d2e",
  "parents": [
    "ef5d264e5328d59382111886802386138c8c1ff1"
  ],
  "author": {
    "name": "Brian Cain",
    "email": "brian.cain@oss.qualcomm.com",
    "time": "Fri May 15 10:22:26 2026 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri May 15 10:22:26 2026 -0500"
  },
  "message": "[Hexagon] Add XRay custom and typed event support (#191749)\n\nAdd support for XRay custom events (llvm.xray.customevent) and typed\nevents (llvm.xray.typedevent) for Hexagon.\n\nLLVM:\n* Add Hexagon to the architecture gate in SelectionDAGBuilder for\nxray_customevent and xray_typedevent intrinsic lowering\n* Implement EmitInstrWithCustomInserter for PATCHABLE_EVENT_CALL and\nPATCHABLE_TYPED_EVENT_CALL pseudo instructions\n* Implement LowerPATCHABLE_EVENT_CALL in HexagonAsmPrinter that emits\ninline sleds with jump-over, allocframe/deallocframe for LR:FP save,\nargument register save/restore, and call to the event handler\n* Add event pseudo dispatch in HexagonMCInstLower\n* Prevent event pseudos from being packetized (solo instructions)\n\ncompiler-rt:\n* Implement patchCustomEvent and patchTypedEvent in xray_hexagon.cpp to\npatch the sled jump to nop (enable) or back (disable)\n* Add __xray_CustomEvent and __xray_TypedEvent trampolines in the\nHexagon XRay trampoline assembly",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b299f03d6daadc2622dd9a3ec701d9db988e57fe",
      "old_mode": 33188,
      "old_path": "compiler-rt/lib/xray/xray_hexagon.cpp",
      "new_id": "3e56a4d5ce7b9d28408dcb64bd87ca150ff5b798",
      "new_mode": 33188,
      "new_path": "compiler-rt/lib/xray/xray_hexagon.cpp"
    },
    {
      "type": "modify",
      "old_id": "a7ba7c6b889a9b4ce9bf3ee246a89d80c0fe42e5",
      "old_mode": 33188,
      "old_path": "compiler-rt/lib/xray/xray_trampoline_hexagon.S",
      "new_id": "b9d2f1f2293e49c7a339850b5d89a6bb4253c6b2",
      "new_mode": 33188,
      "new_path": "compiler-rt/lib/xray/xray_trampoline_hexagon.S"
    },
    {
      "type": "modify",
      "old_id": "20436ce2a6a8cf32b1c1023e9a8246007306bade",
      "old_mode": 33188,
      "old_path": "llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp",
      "new_id": "579bff7d3ab600083f1507a6f6d2875bb3808cba",
      "new_mode": 33188,
      "new_path": "llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp"
    },
    {
      "type": "modify",
      "old_id": "37fa11d070142a4c616914e32241509656e6d3df",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp",
      "new_id": "89291a05cc05eb913026f23a893014315cd28af7",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp"
    },
    {
      "type": "modify",
      "old_id": "8e34d2bf9209be6d460dc6720f45545978c7ded7",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/Hexagon/HexagonAsmPrinter.h",
      "new_id": "83621142ca5b5e97baef89ad63734312e73681f8",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/Hexagon/HexagonAsmPrinter.h"
    },
    {
      "type": "modify",
      "old_id": "6b2a963e2e77797e418fe47f810029951b6b4bf2",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/Hexagon/HexagonISelLowering.cpp",
      "new_id": "1945216b13b17a581c0bb97f6fb43db9c4556aa5",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/Hexagon/HexagonISelLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "55be8fd043ad5751c9778aebd5fd15e36da55fca",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/Hexagon/HexagonISelLowering.h",
      "new_id": "38f613f92aa87b86cca72f487a44aa5d791e8e57",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/Hexagon/HexagonISelLowering.h"
    },
    {
      "type": "modify",
      "old_id": "845e60bf1a2a147296bca331572272430b9fac2b",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp",
      "new_id": "c592a55615859b2fb401d2f03b238316aff22463",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp"
    },
    {
      "type": "modify",
      "old_id": "8d1c17ca974212b8e6398d791cef752654a4a939",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp",
      "new_id": "fbf196a7a23e5b5a8546f3e7559f09ef2da05ea5",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "951ecace4ee383c903bba0a98cfa03da9af98a34",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/Hexagon/xray-custom-event.ll"
    }
  ]
}
