)]}'
{
  "commit": "1860fd049e35055fccac14e439227fae803976b8",
  "tree": "370ef26ea3f18f3cc70d19f0842adb34b210fb98",
  "parents": [
    "2a79fd0b92004feac0254ad8a4d4ac09e488c7dc"
  ],
  "author": {
    "name": "Graham Hunter",
    "email": "graham.hunter@arm.com",
    "time": "Thu Jul 11 15:33:30 2024 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 11 15:33:30 2024 +0100"
  },
  "message": "[LV] Autovectorization for the all-in-one histogram intrinsic (#91458)\n\nThis patch implements limited loop vectorization support for the \u0027all-in-one\u0027 histogram intrinsic. The feature is disabled by default, and when enabled will only vectorize if there are no other users of values in the gather-modify-scatter sequence.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f6bb044392938e5456d2a4b55bccc40b6556c7e8",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/Analysis/LoopAccessAnalysis.h",
      "new_id": "9cca70459edef1ab797bb4751fda3d73bab9a946",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/Analysis/LoopAccessAnalysis.h"
    },
    {
      "type": "modify",
      "old_id": "2ff17bd2f7a71de074c5f1e6d64eac3c546a3a8f",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h",
      "new_id": "4361e0f2cf0389d12c6b85d566f178bd772cb6b4",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h"
    },
    {
      "type": "modify",
      "old_id": "018861a665c4cda079b73c8ddfac85dd49e97fee",
      "old_mode": 33188,
      "old_path": "llvm/lib/Analysis/LoopAccessAnalysis.cpp",
      "new_id": "dd9827003d2007350ee59c83a3b521f52bba9a3e",
      "new_mode": 33188,
      "new_path": "llvm/lib/Analysis/LoopAccessAnalysis.cpp"
    },
    {
      "type": "modify",
      "old_id": "489f12e689d3195e7ad91ce1d0855e3c83b6f50a",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp",
      "new_id": "e61c0352be3bdc6d71d7d669ec30ee9fd0dc08ef",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp"
    },
    {
      "type": "modify",
      "old_id": "f54eebb2874ab87cd8eef1c3607fb22f279fda14",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp",
      "new_id": "bb32e1d38d33cac08d6f898369e8cdd1dfa5696d",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp"
    },
    {
      "type": "modify",
      "old_id": "7cae0ed0f947836ffbe1672768ef09a9a2209981",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp",
      "new_id": "18a9f13764c01658d8de0ab44c474de490768624",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp"
    },
    {
      "type": "modify",
      "old_id": "b4c7ab02f928f0ed6cecb5ac24810e50e191bfe4",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h",
      "new_id": "d8c94655768072cd9bc79faf82f254f8164ed5c9",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h"
    },
    {
      "type": "modify",
      "old_id": "223e3325b2d70d302dc5c4fc88b3db00415951c1",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlan.h",
      "new_id": "2efae533e475ab285373351c13cd92f96ebb6e47",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlan.h"
    },
    {
      "type": "modify",
      "old_id": "b0fff09b0d1020e20a3ff767da90219ea6f3a239",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp",
      "new_id": "f684777c594aa357b006804c68b157a4009490c4",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp"
    },
    {
      "type": "modify",
      "old_id": "fa6a65ff2f3ada1379b8169dee6a0bfd8bbeb758",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanValue.h",
      "new_id": "a1faae7c95f55bae2be683a95b4c1daf4dad1d32",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanValue.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a3cb1b9afc18df51172f3e6b1bc25908688f6d59",
      "new_mode": 33188,
      "new_path": "llvm/test/Analysis/LoopAccessAnalysis/histogram.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a0dbe5494f24df23d617729e26311df5f191ec53",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll"
    }
  ]
}
