)]}'
{
  "commit": "7866fc2bd9f5e87ffdccecd06f5f877b81218bcd",
  "tree": "a7f8a0daf7124023691bdffbf6861a33d285b789",
  "parents": [
    "386cc00d8d0a8c211b3d25d08fce4c7e6ae36059"
  ],
  "author": {
    "name": "Philip Reames",
    "email": "preames@rivosinc.com",
    "time": "Thu Apr 17 10:06:43 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Apr 17 10:06:43 2025 -0700"
  },
  "message": "[RISCV] Rewrite vrgather.vx undef, (vmv.s.x), 0, v0 as vmv.v.x (#136010)\n\nThis extends the DAG combine introduced in 336b2909 to handle the case\nwhere the prior value is defined by a vmv.s.x instead of a vmv.v.x. If\nthe vrgather splats the single source element, and has no passthru we\ncan replace it with a vmv.v.x - which will in turn usually get folded\ninto a vmerge if a select follows.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "beea13d5f8f3e924b842b4260ac238867dd8d6ad",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVISelLowering.cpp",
      "new_id": "5d4df039a0ed82fdb589fa64aae85b0a14da03bf",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVISelLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "5aac2687122ae95c5bc37509e4a8334a28527fc0",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll",
      "new_id": "f580b1b9933959338aac33d49347287d387b9bce",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll"
    },
    {
      "type": "modify",
      "old_id": "5c4ef29d7d5b77a8b3fced82c788eab782a31514",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll",
      "new_id": "8676803e20e3bcc5c982b1745cffd62bd2d7e6e3",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll"
    }
  ]
}
