)]}'
{
  "commit": "6892c175c565e59cf485ada6b1febd41b4666414",
  "tree": "7a8c3e41808e3a977abf81a72a4c89bbabac41f4",
  "parents": [
    "ae2f8167eefbc78c6b6408c9ee3b7c7965ed596a"
  ],
  "author": {
    "name": "Petar Avramovic",
    "email": "Petar.Avramovic@amd.com",
    "time": "Wed Dec 13 16:42:56 2023 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Dec 13 16:42:56 2023 +0100"
  },
  "message": "AMDGPU/GlobalISel: add AMDGPUGlobalISelDivergenceLowering pass (#75340)\n\nAdd empty AMDGPUGlobalISelDivergenceLowering pass. This pass will\r\nimplement\r\n- selection of divergent i1 phis as lane mask phis, requires lane mask\r\nmerging in some cases\r\n- lower uses of divergent i1 values outside of the cycle using lane mask\r\nmerging\r\n- lowering of all cases of temporal divergence:\r\n- lower uses of uniform i1 values outside of the cycle using lane mask\r\nmerging\r\n- lower uses of uniform non-i1 values outside of the cycle using a copy\r\nto vgpr inside of the cycle\r\n\r\nAdd very detailed set of regression tests for cases mentioned above.\r\n\r\npatch 1 from: https://github.com/llvm/llvm-project/pull/73337",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1b75607e1dc32b15cb97d57a1dff5ffe9bd79954",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/AMDGPU/AMDGPU.h",
      "new_id": "89319527c410a6e170fd371691fbf89bfc7a6e03",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/AMDGPU/AMDGPU.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4cd8b1ec1051f4b928e5f4a42d189fdc94c191ef",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "ef6372a6f69e15fed4499fb540c33c1d0e4da293",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp",
      "new_id": "0cc048ef0e859af39835e29a346af33bf9b1f402",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp"
    },
    {
      "type": "modify",
      "old_id": "53a33f8210d2a842f4782911dd52520b029b0dd0",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/AMDGPU/CMakeLists.txt",
      "new_id": "2c92e7a07388553a1ca60bcb05bcaa300e0c4a20",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/AMDGPU/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ccf4e84fbbbd16b9724a958248fe78005400275d",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d314ebe355f51d0c0cf0cb811cd7409de1d0b14a",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "34dedfe10365f3902aefe3a671caa6cc3e6eed03",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "92463714ec69491495eaffd1695f9328be5c4d0f",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "afd271c9957700f2e231de6b210707cc7482eb47",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9461d558684e856821f1fb551ad61f6121498880",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "54881f59096c1e1c10d72fe655dae9481e932f4b",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9c2d083d0aa1d88d72fe3248c027a411e5385319",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d065f228a4e4a35e64ceb30aa258cc9805b7208e",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4cc68029489e93b6516765fafcbeea1df79af05f",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir"
    }
  ]
}
