aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2021-01-07 14:05:46 -0800
committerFangrui Song <i@maskray.me>2021-01-07 14:05:46 -0800
commit85f86e8a3cf9e05347691fdde30e9e98a6657d92 (patch)
tree7030bae1fcac98290f5b342684642e0655bc18e4 /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
parent63b42a0514567d24df617e4587e80e4564ebf120 (diff)
downloadllvm-85f86e8a3cf9e05347691fdde30e9e98a6657d92.zip
llvm-85f86e8a3cf9e05347691fdde30e9e98a6657d92.tar.gz
llvm-85f86e8a3cf9e05347691fdde30e9e98a6657d92.tar.bz2
[libc++abi] Simplify __gxx_personality_v0
In three cases we call `scan_eh_tab` to parse LSDA: * `actions & _UA_SEARCH_PHASE` * `actions & _UA_CLEANUP_PHASE && actions & _UA_HANDLER_FRAME && !native_exception` * `actions & _UA_CLEANUP_PHASE && !(actions & _UA_HANDLER_FRAME)` Check `actions & _UA_CLEANUP_PHASE && actions & _UA_HANDLER_FRAME && native_exception` first, then we can move three `scan_eh_tab` into one place. Another simplification is that we can check whether the result of `scan_eh_tab` is `_UA_CONTINUE_UNWIND` or `_UA_FATAL_PHASE1_ERROR` first. Then many of the original checks will be dead and can thus be deleted. Reviewed By: #libc_abi, ldionne Differential Revision: https://reviews.llvm.org/D93186
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions