)]}'
{
  "commit": "a87782c34d667d1c1a18fe82a9a7abfc72fd345b",
  "tree": "17ef222d2f26314f6c439d609ee3c14016bb8206",
  "parents": [
    "0c1b18f0f3e526da7dcbbd5a9e363dca85a90c95"
  ],
  "author": {
    "name": "Hans Wennborg",
    "email": "hans@chromium.org",
    "time": "Tue Nov 30 15:36:56 2021 +0100"
  },
  "committer": {
    "name": "Hans Wennborg",
    "email": "hans@chromium.org",
    "time": "Tue Nov 30 15:36:56 2021 +0100"
  },
  "message": "Revert \"[DAG] Create fptosi.sat from clamped fptosi\"\n\nIt causes builds to fail with this assert:\n\nllvm/include/llvm/ADT/APInt.h:990:\nbool llvm::APInt::operator\u003d\u003d(const llvm::APInt \u0026) const:\nAssertion `BitWidth \u003d\u003d RHS.BitWidth \u0026\u0026 \"Comparison requires equal bit widths\"\u0027 failed.\n\nSee comment on the code review.\n\n\u003e This adds a fold in DAGCombine to create fptosi_sat from sequences for\n\u003e smin(smax(fptosi(x))) nodes, where the min/max saturate the output of\n\u003e the fp convert to a specific bitwidth (say INT_MIN and INT_MAX). Because\n\u003e it is dealing with smin(/smax) in DAG they may currently be ISD::SMIN,\n\u003e ISD::SETCC/ISD::SELECT, ISD::VSELECT or ISD::SELECT_CC nodes which need\n\u003e to be handled similarly.\n\u003e\n\u003e A shouldConvertFpToSat method was added to control when converting may\n\u003e be profitable. The original fptosi will have a less strict semantics\n\u003e than the fptosisat, with less values that need to produce defined\n\u003e behaviour.\n\u003e\n\u003e This especially helps on ARM/AArch64 where the vcvt instructions\n\u003e naturally saturate the result.\n\u003e\n\u003e Differential Revision: https://reviews.llvm.org/D111976\n\nThis reverts commit 52ff3b009388f1bef4854f1b6470b4ec19d10b0e.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d862701c37d79985eb8fa875849f17ead42acd7b",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/CodeGen/TargetLowering.h",
      "new_id": "8453c9c46439b44962d4672ff4a9f036fceda27d",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/CodeGen/TargetLowering.h"
    },
    {
      "type": "modify",
      "old_id": "5ef24d5be7b4d0aa4504fd16220cd40ded25784a",
      "old_mode": 33188,
      "old_path": "llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp",
      "new_id": "9aaa1c8e7b3b9676e3ae811c44e6631153afd654",
      "new_mode": 33188,
      "new_path": "llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp"
    },
    {
      "type": "modify",
      "old_id": "01069249415ac06863655042a7b0ac059d1cc2ed",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/AArch64/AArch64ISelLowering.cpp",
      "new_id": "48b50db51988b881e6683556b0eb41f468568b81",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/AArch64/AArch64ISelLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "ea884cdccd287d045a4fc4630b3205c9265b2917",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/AArch64/AArch64ISelLowering.h",
      "new_id": "dc0ca409fd24010664cb6f0e81448d835a0299c3",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/AArch64/AArch64ISelLowering.h"
    },
    {
      "type": "modify",
      "old_id": "33d115945614fca4126003ecd5c51679721b5254",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/ARM/ARMISelLowering.cpp",
      "new_id": "aad9e7db03c6266d7c6d87c037d1dbd070eef5a5",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/ARM/ARMISelLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "e3b422358caeebe0e7817fb7f1c6431ea93264a6",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/ARM/ARMISelLowering.h",
      "new_id": "0fddd58e178ec6b9d1d3fe98a789684ea241ce1b",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/ARM/ARMISelLowering.h"
    },
    {
      "type": "modify",
      "old_id": "8bc7470d304c1f71a53abbf8b7a97a1757a1491b",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVISelLowering.cpp",
      "new_id": "a26795ddc8c491fe92e24f77650ae6f69f165d73",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVISelLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "849928eb46ae6107b8398a88a3d9fdd57f308454",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVISelLowering.h",
      "new_id": "8e3d716ae9192a5d1223fde33c5585a0101d80ce",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVISelLowering.h"
    },
    {
      "type": "modify",
      "old_id": "fa0e41c2ff2a9704e11dfe4d63d8998dd6b6747c",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AArch64/fpclamptosat.ll",
      "new_id": "6d6c10b770998f6d9d3b06a4beb593c3cd9c7e5e",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AArch64/fpclamptosat.ll"
    },
    {
      "type": "modify",
      "old_id": "4ad32e6569dd69fc8331db2a73840615d085497f",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll",
      "new_id": "c9c190d30b1c22683f8184e584d2f23f80c85943",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll"
    },
    {
      "type": "modify",
      "old_id": "852495250a6d14a1f1db9eff728d7f3c8aa43b87",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/ARM/fpclamptosat.ll",
      "new_id": "eff17552fe52945d6dafbd1e0b73a3032002470e",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/ARM/fpclamptosat.ll"
    },
    {
      "type": "modify",
      "old_id": "4b56aaf2bcb79b8f14a97ce6763007e5f9213a98",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/RISCV/fpclamptosat.ll",
      "new_id": "f32dab798a4cf8b1052760c1c796b79c3f404df4",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/RISCV/fpclamptosat.ll"
    },
    {
      "type": "modify",
      "old_id": "7d8e12b975f03bb24b1c06c1707c726e7b765974",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll",
      "new_id": "b566291cc822c14e7c00b79de6730b89bf76893e",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll"
    },
    {
      "type": "modify",
      "old_id": "fa48854aaa877aac53ed30c838b41b5a959c2e8f",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/WebAssembly/fpclamptosat.ll",
      "new_id": "530c7582a26a908f9e827d9c007b56ecde4a5502",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/WebAssembly/fpclamptosat.ll"
    },
    {
      "type": "modify",
      "old_id": "b00526862e85593527528c9df49baa69288c6363",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll",
      "new_id": "a19023ba5c6ecc64bb9e4a4a54d024b0df059e00",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll"
    },
    {
      "type": "modify",
      "old_id": "111611b34b06a93b8f2a18edc522f8232d1a9494",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/X86/fpclamptosat.ll",
      "new_id": "aba2740778ac24e03df51d4cb7d9badfc5271d83",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/X86/fpclamptosat.ll"
    }
  ]
}
