aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorFelipe de Azevedo Piovezan <fpiovezan@apple.com>2023-11-13 08:27:29 -0800
committerGitHub <noreply@github.com>2023-11-13 08:27:29 -0800
commit83729e6716591421e4452bc31741a485861fb229 (patch)
tree2ba80f5013a9b6272013d08ee6fce8136e912b53 /clang/lib/CodeGen/CodeGenModule.cpp
parent9aefa5cb679a6f42a0d343c93a25a66b0374b3c6 (diff)
downloadllvm-83729e6716591421e4452bc31741a485861fb229.zip
llvm-83729e6716591421e4452bc31741a485861fb229.tar.gz
llvm-83729e6716591421e4452bc31741a485861fb229.tar.bz2
[SelectionDAG] Disable FastISel for swiftasync functions (#70741)
Most (x86) swiftasync functions tend to use both SelectionDAGISel and FastISel lowering: * FastISel argument lowering can only handle C calling convention. * FastISel fails mid-BB in a number of ways, including in simple `ret void` instructions under certain circumstances. This dance of SelectionDAG (argument) -> FastISel (some instructions) -> SelectionDAG(remaining instructions) is lossy; in particular, Argument information lowering is cleared after that first SelectionDAG run. Since swiftasync functions rely heavily on proper Argument lowering for debug information, this patch disables the use of FastISel in such functions.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions