[CodeGen] std::optional::value => operator*/operator->
authorFangrui Song <i@maskray.me>
Fri, 16 Dec 2022 23:41:36 +0000 (23:41 +0000)
committerFangrui Song <i@maskray.me>
Fri, 16 Dec 2022 23:41:36 +0000 (23:41 +0000)
commit036e092282f50d65d78a47d3a009e8baf2e74f46
treeca169675365b06105d9bfa2a6957f753c80194ec
parent7a91e00d915c638bfb4864826bc445211e0e41d7
[CodeGen] std::optional::value => operator*/operator->

value() has undesired exception checking semantics and calls
__throw_bad_optional_access in libc++. Moreover, the API is unavailable without
_LIBCPP_NO_EXCEPTIONS on older Mach-O platforms (see
_LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS).

This fixes LLVMMIRParser, LLVMGlobalISel, LLVMAsmPrinter, LLVMSelectionDAG.
llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
llvm/lib/CodeGen/MIRParser/MIParser.cpp
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
llvm/lib/InterfaceStub/IFSHandler.cpp