)]}'
{
  "commit": "78f0af5d895be284e4f7448fed007a04ee6a35d4",
  "tree": "6fc143ced1ccdc191373775c3017da0f157325bb",
  "parents": [
    "6b7b289038acb297f433fe1c0cb66158277e9974"
  ],
  "author": {
    "name": "Ellis Hoag",
    "email": "ellis.sparky.hoag@gmail.com",
    "time": "Mon May 12 14:37:26 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon May 12 14:37:26 2025 -0700"
  },
  "message": "[SimplifyCFG][swifterror] Don\u0027t sink calls with swifterror params (#139015)\n\nWe\u0027ve encountered an LLVM verification failure when building Swift with\nthe SimplifyCFG pass enabled. I found that\nhttps://reviews.llvm.org/D158083 fixed this pass by preventing sinking\nloads or stores of swifterror values, but it did not implement the same\nprotection for call or invokes.\nIn `Verifier.cpp`\n[here](https://github.com/ellishg/llvm-project/blob/c68535581135a1513c9c4c1c7672307d4b5e616e/llvm/lib/IR/Verifier.cpp#L4360-L4364)\nand\n[here](https://github.com/ellishg/llvm-project/blob/c68535581135a1513c9c4c1c7672307d4b5e616e/llvm/lib/IR/Verifier.cpp#L3661-L3662)\nwe can see that swifterror values must also be used directly by call\ninstructions.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1db01b2716a092d85bcc0da0e76f2b16235b96db",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Utils/Local.cpp",
      "new_id": "3dbd605e19c3ae63de6d449b4f89fa8633c3d717",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Utils/Local.cpp"
    },
    {
      "type": "modify",
      "old_id": "5cd244c9d43da154bcf46d30fb256e1c7764ec32",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Utils/SimplifyCFG.cpp",
      "new_id": "d94abea8b87dfd555e328a221a12aa341002ecab",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Utils/SimplifyCFG.cpp"
    },
    {
      "type": "modify",
      "old_id": "0c13f5703447a02c01490c82e7f732c96bfea85a",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SimplifyCFG/hoist-sink-swifterror-store.ll",
      "new_id": "5dff39c1f9a52fd424371c5d06a02902993ff47f",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SimplifyCFG/hoist-sink-swifterror-store.ll"
    }
  ]
}
