)]}'
{
  "commit": "3e7ca5f1efabb488663caec371e408d74c634d84",
  "tree": "604b83fe9a7c007dfeeed6375190dee6457c8720",
  "parents": [
    "51ede55ee2acd3383d990c5fc8882d4b021b87b4"
  ],
  "author": {
    "name": "Kevin McAfee",
    "email": "kmcafee@nvidia.com",
    "time": "Fri Aug 16 11:48:57 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Aug 16 11:48:57 2024 -0700"
  },
  "message": "[SDAG] Read-only intrinsics must have WillReturn and !Throws attributes to be treated as loads (#99999)\n\nThis change avoids deleting `!willReturn` intrinsics for which the\r\nreturn value is unused when building the SDAG. Currently, calls to\r\nread-only intrinsics not marked with `IntrWillReturn` cannot be deleted\r\nat the LLVM IR level but may be deleted when building the SDAG. \r\nThese calls are unsafe to remove from the IR because the functions are\r\n`!willReturn` and should also be unsafe to remove fromthe SDAG for\r\nthe same reason. This change aligns the behavior of the SDAG to that\r\nof LLVM IR. This change also requires that intrinsics not have the\r\n`Throws` attribute to be treated as loads for the same reason.\r\n\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8e24f5bd75ec86e5db426f6890793a1cf56c25bc",
      "old_mode": 33188,
      "old_path": "llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp",
      "new_id": "87f6b4388a728c768a617343f44711445b1d357b",
      "new_mode": 33188,
      "new_path": "llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp"
    }
  ]
}
