)]}'
{
  "commit": "5df89ae3da8b24804c17479ce74a930783db045e",
  "tree": "e22a4e429541a5d90388a344cf19c06ec0e79f83",
  "parents": [
    "fce08a642fe588ebc15ce9dc6066b30fff741ef5"
  ],
  "author": {
    "name": "Josh Stone",
    "email": "jistone@redhat.com",
    "time": "Tue Apr 07 09:57:57 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 07 13:57:57 2026 -0300"
  },
  "message": "[CodeGen] Preserve big-endian trunc in concat_vectors (#190701)\n\nA transform from `concat_vectors(trunc(scalar), undef)` to\n`scalar_to_vector(scalar)` is only equivalent for little-endian targets.\nOn big-endian, that would put the extra upper bytes ahead of the desired\ntruncated bytes. This problem was seen on Rust s390x in [RHEL-147748].\n\n[RHEL-147748]: https://redhat.atlassian.net/browse/RHEL-147748\n\nAssisted-by: Claude Code",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "383e45c5ea3a86165284667aa5bfcdb441ac3878",
      "old_mode": 33188,
      "old_path": "llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp",
      "new_id": "5485ee86251a506d4789dbf66573d83ee73fb298",
      "new_mode": 33188,
      "new_path": "llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "42d787d9451459a69933b018c2e37722bc55bcdb",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/SystemZ/vec-trunc-to-i16.ll"
    }
  ]
}
