)]}'
{
  "commit": "526a4d4d8a6aa0af93019286eaaa9c860fc49720",
  "tree": "e67e5b144e30aa06875ca3c54f9991114f053592",
  "parents": [
    "f52a2035548f5978c63b18ac0aa283cc57c99360"
  ],
  "author": {
    "name": "Florian Hahn",
    "email": "flo@fhahn.com",
    "time": "Mon Mar 02 21:30:15 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Mar 02 21:30:15 2026 +0000"
  },
  "message": "[LAA] Always use DepCands when grouping runtime checks. (#91196)\n\nUpdate groupChecks to always use DepCands to try and merge runtime\nchecks. DepCands contains the dependency partition, grouping together\nall accessed pointers to he same underlying objects.\n\nIf we computed the dependencies, We only need to check accesses to the\nsame underlying object, if there is an unknown dependency for this\nunderlying object; otherwise we already proved that all accesses withing\nthe underlying object are safe w.r.t. vectorization and we only need to\ncheck that accesses to the underlying object don\u0027t overlap with accesses\nto other underlying objects.\n\nTo ensure runtime checks are generated for the case with unknown\ndependencies, remove equivalence classes containing accesses involved in\nunknown dependencies.\n\nThis reduces the number of runtime checks needed in case non-constant\ndependence distances are found, and is in preparation for removing the\nrestriction that the accesses need to have the same stride which was\nadded in https://github.com/llvm/llvm-project/pull/88039.\n\nPR: https://github.com/llvm/llvm-project/pull/91196",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5e8c2fad309a5d1b08efe71f3c89c8f90646d01a",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/ADT/EquivalenceClasses.h",
      "new_id": "ead464b1a1b2bef66ed2a82e03d8ebac7aa8bce1",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/ADT/EquivalenceClasses.h"
    },
    {
      "type": "modify",
      "old_id": "c85ef3e131068f736d8b767dfc5bc1921409edab",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/Analysis/LoopAccessAnalysis.h",
      "new_id": "e92847d4a99c00e0c3efcf40748d69acc1c34c35",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/Analysis/LoopAccessAnalysis.h"
    },
    {
      "type": "modify",
      "old_id": "c84a31f665a021907d82cc096b3b18c22c6a5a59",
      "old_mode": 33188,
      "old_path": "llvm/lib/Analysis/LoopAccessAnalysis.cpp",
      "new_id": "8edaca6df33ac30cbe13c1e10cbe35eb1250da74",
      "new_mode": 33188,
      "new_path": "llvm/lib/Analysis/LoopAccessAnalysis.cpp"
    },
    {
      "type": "modify",
      "old_id": "809472cb543ac17cce79d18aa3102ec5be02590e",
      "old_mode": 33188,
      "old_path": "llvm/test/Analysis/LoopAccessAnalysis/different-access-types-rt-checks.ll",
      "new_id": "cac1b857063d044a763a42884566da8101563bbd",
      "new_mode": 33188,
      "new_path": "llvm/test/Analysis/LoopAccessAnalysis/different-access-types-rt-checks.ll"
    },
    {
      "type": "modify",
      "old_id": "d1d1ecb2af8882d5a537a4fb00c31da3ebdef891",
      "old_mode": 33188,
      "old_path": "llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll",
      "new_id": "3a5730eb471edf0458eacc97dcb7e8a1ff2794a1",
      "new_mode": 33188,
      "new_path": "llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll"
    },
    {
      "type": "modify",
      "old_id": "98a9fa586080aed61505f3070ecf578edbbc791c",
      "old_mode": 33188,
      "old_path": "llvm/test/Analysis/LoopAccessAnalysis/unknown-dependence-retry-with-runtime-checks.ll",
      "new_id": "0c0e03843f51e540a3b1974e78fd31a71a7a0d09",
      "new_mode": 33188,
      "new_path": "llvm/test/Analysis/LoopAccessAnalysis/unknown-dependence-retry-with-runtime-checks.ll"
    },
    {
      "type": "modify",
      "old_id": "52dc452e0ed406751eb9834992550d1e2db1110e",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll",
      "new_id": "1ac6fa441a09e5a31a21cbc5f0e6926ba78808cc",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll"
    }
  ]
}
