)]}'
{
  "commit": "f87daca0d22a35a8ea5b8221e07835209942300e",
  "tree": "02529a56de3d7af5b31deb638b4a9e2dd02d4555",
  "parents": [
    "84d9740c265501259f186b0899daeabc9cc14cff"
  ],
  "author": {
    "name": "Simon Tatham",
    "email": "simon.tatham@arm.com",
    "time": "Tue Jul 02 11:26:11 2019 +0000"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Sun Oct 18 20:28:32 2020 -0700"
  },
  "message": "[ARM] MVE: allow soft-float ABI to pass vector types.\n\nPassing a vector type over the soft-float ABI involves it being split\ninto four GPRs, so the first thing that has to happen at the start of\nthe function is to recombine those into a vector register. The ABI\ntypes all vectors as v2f64, so we need to support BUILD_VECTOR for\nthat type, which I do in this patch by allowing it to be expanded in\nterms of INSERT_VECTOR_ELT, and writing an ISel pattern for that in\nturn. Similarly, I provide a rule for EXTRACT_VECTOR_ELT so that a\nreturned vector can be marshalled back into GPRs.\n\nWhile I\u0027m here, I\u0027ve also added ISD::UNDEF to the list of operations\nwe turn back on in `setAllExpand`, because I noticed that otherwise it\ngets expanded into a BUILD_VECTOR with explicit zero inputs, leading\nto pointless machine instructions to zero out a vector register that\u0027s\nabout to have every lane overwritten of in any case.\n\nReviewers: dmgreen, ostannard\n\nSubscribers: javed.absar, kristof.beyls, hiraditya, llvm-commits\n\nTags: #llvm\n\nDifferential Revision: https://reviews.llvm.org/D63937\n\nllvm-svn: 364910\nGitOrigin-RevId: bffd099d158291ecd32413093e477ed10a7b35e5\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "36c783c2e650206eab6fb7f7dc40e62895e6df0d",
      "old_mode": 33188,
      "old_path": "lib/Target/ARM/ARMISelLowering.cpp",
      "new_id": "efa97b4200fb7146dd6b39422a81652cd0959c19",
      "new_mode": 33188,
      "new_path": "lib/Target/ARM/ARMISelLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "ca8b042c56be8c34b680bf15a0efcd39bf079ad9",
      "old_mode": 33188,
      "old_path": "lib/Target/ARM/ARMISelLowering.h",
      "new_id": "d188ad2facb6e7371f92ec9ffe2ccc087b320f73",
      "new_mode": 33188,
      "new_path": "lib/Target/ARM/ARMISelLowering.h"
    },
    {
      "type": "modify",
      "old_id": "5282e62e383535c513ad8fe3daec43cc899618f8",
      "old_mode": 33188,
      "old_path": "lib/Target/ARM/ARMInstrMVE.td",
      "new_id": "9073b49acb4452ad68b7618e3fe055f3dfc42efe",
      "new_mode": 33188,
      "new_path": "lib/Target/ARM/ARMInstrMVE.td"
    },
    {
      "type": "modify",
      "old_id": "7b3b8135c4fbadb5693160291c7ece617561c6f2",
      "old_mode": 33188,
      "old_path": "test/CodeGen/Thumb2/mve-div-expand.ll",
      "new_id": "89361f0693c70ffb9da4cc9c06b755eacb32bef0",
      "new_mode": 33188,
      "new_path": "test/CodeGen/Thumb2/mve-div-expand.ll"
    },
    {
      "type": "modify",
      "old_id": "d4bd3901bdb0d1e0248128f2e3a519391f4de159",
      "old_mode": 33188,
      "old_path": "test/CodeGen/Thumb2/mve-fmath.ll",
      "new_id": "588904379e137c55f2e25b6a8e45ef9706c7c8c1",
      "new_mode": 33188,
      "new_path": "test/CodeGen/Thumb2/mve-fmath.ll"
    },
    {
      "type": "modify",
      "old_id": "e323a10657bbe8963eee6d79202be0cfcb0c3c6b",
      "old_mode": 33188,
      "old_path": "test/CodeGen/Thumb2/mve-fp-negabs.ll",
      "new_id": "2489646ad6d622384b958c9cb78f55912874ddcf",
      "new_mode": 33188,
      "new_path": "test/CodeGen/Thumb2/mve-fp-negabs.ll"
    },
    {
      "type": "modify",
      "old_id": "59c99377146f9f6e8b91ad957fb042d4691ad445",
      "old_mode": 33188,
      "old_path": "test/CodeGen/Thumb2/mve-shuffle.ll",
      "new_id": "87d209b5d2fd9d7dc2e725a65828a2cb23b453b7",
      "new_mode": 33188,
      "new_path": "test/CodeGen/Thumb2/mve-shuffle.ll"
    },
    {
      "type": "modify",
      "old_id": "6d2478f8de14cb78e81f4f4dda74b5ef0634a334",
      "old_mode": 33188,
      "old_path": "test/CodeGen/Thumb2/mve-simple-arith.ll",
      "new_id": "570aae3f21be4f1b1cf2b08119587277e0a5f4da",
      "new_mode": 33188,
      "new_path": "test/CodeGen/Thumb2/mve-simple-arith.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "794f7ba20c2520647d118d4c7a0984e9ece1dd33",
      "new_mode": 33188,
      "new_path": "test/CodeGen/Thumb2/mve-soft-float-abi.ll"
    }
  ]
}
