)]}'
{
  "commit": "8e57689c34f0b0af70f9aaf009c3be0e85d90dda",
  "tree": "5c5aa7160f367ba997c11eb86944ee969818baed",
  "parents": [
    "3686e5b52f2a02c1c19050479d1dd0fd9d1dd4f8"
  ],
  "author": {
    "name": "Daniel Henrique Barboza",
    "email": "dbarboza@ventanamicro.com",
    "time": "Wed Aug 06 13:08:25 2025 -0300"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Aug 06 09:08:25 2025 -0700"
  },
  "message": "[RISCV] add load/store misched/PostRA subtarget features (#149409)\n\nSome processors benefit more from store clustering than load clustering,\nand vice-versa, depending on factors that are exclusive to each one\n(e.g. macrofusions implemented).\n\nLikewise, certain optimizations benefits more from misched clustering\nthan postRA clustering. Macrofusions are again an example: in a\nprocessor with store pair macrofusions, like the veyron-v1, it is\nobserved that misched clustering increases the amount of macrofusions\nmore than postRA clustering. This of course isn\u0027t necessarily true for\nother processors, but it shows that processors can benefit from a more\nfine grained control of clustering mutations, and each one is able to do\nit differently.\n\nAdd 4 new subtarget features that deprecates the existing\nriscv-misched-load-store-clustering and\nriscv-postmisched-load-store-clustering\noptions:\n\n- disable-misched-load-clustering and disable-misched-store-clustering:\ndisable load/store clustering during misched;\n\n- disable-postmisched-load-clustering and\ndisable-postmisched-store-clustering:\ndisable load/store clustering during PostRA.\n\nNote that the new subtarget features disables specific stages of the\ndefault\nclustering settings. The default per se (load and store clustering for\nboth\nmisched and PostRA) is left untouched.\n\nDisable all clustering but misched-store-clustering for the veyron-v1\nprocessor\nusing the new features.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "171940e14981562782c9170d678ee08b2c8949fd",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVFeatures.td",
      "new_id": "a7329d201f880fa15fe5493ca68c41ed7ddfa796",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVFeatures.td"
    },
    {
      "type": "modify",
      "old_id": "838edf6c57250e3f69dd775f3010d686f3a5317f",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVProcessors.td",
      "new_id": "8445730446dd9c7d074dfdf8f3ec420aa1352109",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVProcessors.td"
    },
    {
      "type": "modify",
      "old_id": "3f2a83f8ce98c6ae07cb248b9363b9f22ffa9c40",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVTargetMachine.cpp",
      "new_id": "66ce13428267c1720111f9bee29b582a9eb4a390",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVTargetMachine.cpp"
    },
    {
      "type": "modify",
      "old_id": "b94665b718ae716b04e0eebb07d143108e253c7d",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/RISCV/features-info.ll",
      "new_id": "a5ee41281607be7ca905f1a18459a9f3f81aee19",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/RISCV/features-info.ll"
    },
    {
      "type": "modify",
      "old_id": "160f0aefa36a7b82162c38e3ef2480a4160a418a",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/RISCV/misched-load-clustering.ll",
      "new_id": "abdc1bad787ae69499e9759a3658e699d06f1d08",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/RISCV/misched-load-clustering.ll"
    },
    {
      "type": "modify",
      "old_id": "21398d315ec93a2b1276059cd5be19239fea74e6",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/RISCV/misched-mem-clustering.mir",
      "new_id": "01960f9d99a8b57348dd2d8fa430a29b07df7eeb",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/RISCV/misched-mem-clustering.mir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "02e853d2217ccc4cc7291ad276f079ed3a30e3a1",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/RISCV/misched-store-clustering.ll"
    }
  ]
}
