diff options
author | Markus Böck <markus.boeck02@gmail.com> | 2022-02-13 11:07:36 +0100 |
---|---|---|
committer | Markus Böck <markus.boeck02@gmail.com> | 2022-02-15 12:17:19 +0100 |
commit | 78c27a3cee424d1989ec7ce188b7142511482f77 (patch) | |
tree | 89d1cd8f95d7c2f821a3da9df46ba7527a1a29bc /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | db8ae2fef1592126a8ce52d97e1d6df069ff1e58 (diff) | |
download | llvm-78c27a3cee424d1989ec7ce188b7142511482f77.zip llvm-78c27a3cee424d1989ec7ce188b7142511482f77.tar.gz llvm-78c27a3cee424d1989ec7ce188b7142511482f77.tar.bz2 |
[X86][Win64] Avoid statepoints in trailing call position
The "avoid trailing call pass" makes sure that no function ends with a call instruction for the purpose of the unwinder.
It starts of by skipping over any non real instruction, which is approximated via the Pseudo and Meta property. This sadly leads to issues when the last machine instruction is a STATEPOINT, as it is skipped despite it lowering to a call.
This patch fixes the use of a statepoint in the trailing call position by making sure call instructions are not skipped.
Differential Revision: https://reviews.llvm.org/D119644
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions