[all-commits] [llvm/llvm-project] ea0638: [CodeGen][AArch64] Only split safe blocks in BBSec...
Daniel Hoekwater via All-commits
all-commits at lists.llvm.org
Wed Feb 14 10:58:20 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ea06384bf667c635f78660f0bcfaa01372735b99
https://github.com/llvm/llvm-project/commit/ea06384bf667c635f78660f0bcfaa01372735b99
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-02-14 (Wed, 14 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/BasicBlockSections.cpp
A llvm/test/CodeGen/AArch64/basic-block-sections-cold.ll
A llvm/test/CodeGen/AArch64/basic-block-sections-unsafe.ll
Log Message:
-----------
[CodeGen][AArch64] Only split safe blocks in BBSections (#81553)
Some types of machine function and machine basic block are unsafe to
split on AArch64: basic blocks that contain jump table dispatch or
targets (D157124), and blocks that contain inline ASM GOTO blocks
or their targets (D158647) all cause issues and have been excluded
from Machine Function Splitting on AArch64.
These issues are caused by any transformation pass that places
same-function basic blocks in different text sections
(MachineFunctionSplitter and BasicBlockSections) and must be
special-cased in both passes.
More information about the All-commits
mailing list