)]}'
{
  "commit": "abec9ff47da4fd8b614d0338203b2e3663c36aaf",
  "tree": "28d0533d114d343b5dabd8568b43df679706309f",
  "parents": [
    "043b04acff53f3c3b2dd0d6eeb8c2127a229ac72"
  ],
  "author": {
    "name": "Sirish Pande",
    "email": "sirpande@amd.com",
    "time": "Mon Apr 28 14:02:18 2025 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Apr 28 14:02:18 2025 -0500"
  },
  "message": "[AMDGPU] Correctly merge noalias scopes during lowering of LDS data. (#131664)\n\nCurrently, if there is already noalias metadata present on loads and\nstores, lower module lds pass is generating a more conservative aliasing\nset. This results in inhibiting scheduling intrinsics that would have\notherwise generated a better pipelined instruction.\n\nThe fix is not to always intersect already existing noalias metadata\nwith noalias created for lowering of LDS. But to intersect only if\nnoalias scopes are from the same domain, otherwise concatenate exising\nnoalias sets with LDS noalias.\n\nThere a few patches that have come for scopedAA in the past. Following\nthree should be enough background information.\nhttps://reviews.llvm.org/D91576\nhttps://reviews.llvm.org/D108315\nhttps://reviews.llvm.org/D110049\n\nEssentially, after a pass that might change aliasing info, one should\ncheck if that pass results in change number of MayAlias or ModRef using\nthe following:\n`opt -S -aa-pipeline\u003dbasic-aa,scoped-noalias-aa -passes\u003daa-eval\n-evaluate-aa-metadata -print-all-alias-modref-info -disable-output`",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f6ade7c83a61af3376a6c3c389237704d08b6826",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/Analysis/ScopedNoAliasAA.h",
      "new_id": "96afe3ce6ecdfa8e19e922a411f037bfb3f8b019",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/Analysis/ScopedNoAliasAA.h"
    },
    {
      "type": "modify",
      "old_id": "a951ecb27a5af871374e51367ecf39b8bec0d84c",
      "old_mode": 33188,
      "old_path": "llvm/lib/Analysis/ScopedNoAliasAA.cpp",
      "new_id": "4d6c0cc71f89815dcb6b34621fbf93a1e42352d9",
      "new_mode": 33188,
      "new_path": "llvm/lib/Analysis/ScopedNoAliasAA.cpp"
    },
    {
      "type": "modify",
      "old_id": "f9f2d43a5b0415ca9eaa5d151a87816068fe40de",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp",
      "new_id": "88acfe13357dc6098d31e4ea3e77a1251dff7ed9",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp"
    },
    {
      "type": "modify",
      "old_id": "eefa0b23d0c08ac411639e3952e2d6376ebf9efe",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll",
      "new_id": "92d0a05f35732a5163366656050270743eab37b3",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll"
    },
    {
      "type": "modify",
      "old_id": "bb09d3a670bc93500b91618877b272f532906503",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll",
      "new_id": "154c798a44f933e98b45b1316fb60c062c151575",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8d7fc1d7a3bdfec9bd6b83df32c4c14c0d0d996",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/lower-lds-with-alias-scope.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0d0daeaae547dec3cae9ec41694e43a67dac2990",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/lower-lds-with-noalias.ll"
    },
    {
      "type": "modify",
      "old_id": "96e8099ed59e14a35c82a7da4bc295b30676eba1",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-unambiguous.ll",
      "new_id": "e7f78b4c6897ad0afc52f89a16b75e976dad9c00",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-unambiguous.ll"
    }
  ]
}
