aboutsummaryrefslogtreecommitdiff
path: root/flang
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2024-06-22 00:34:16 -0700
committerFangrui Song <i@maskray.me>2024-06-22 00:34:16 -0700
commit75006466296ed4b0f845cbbec4bf77c21de43b40 (patch)
tree6ca8baeb10f0b556245b6ad66a989c938e480c8c /flang
parenta091bfe71fdde4358dbfc73926f875cb05121c00 (diff)
downloadllvm-75006466296ed4b0f845cbbec4bf77c21de43b40.zip
llvm-75006466296ed4b0f845cbbec4bf77c21de43b40.tar.gz
llvm-75006466296ed4b0f845cbbec4bf77c21de43b40.tar.bz2
[MC] Remove pending labels
This commit removes the complexity introduced by pending labels in https://reviews.llvm.org/D5915 by using a simpler approach. D5915 aimed to ensure padding placement before `.Ltmp0` for the following code, but at the cost of expensive per-instruction `flushPendingLabels`. ``` // similar to llvm/test/MC/X86/AlignedBundling/labeloffset.s .bundle_lock align_to_end calll .L0$pb .bundle_unlock .L0$pb: popl %eax .Ltmp0: //// padding should be inserted before this label instead of after addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp0-.L0$pb), %eax ``` (D5915 was adjusted by https://reviews.llvm.org/D8072 and https://reviews.llvm.org/D71368) This patch achieves the same goal by setting the offset of the empty MCDataFragment (`Prev`) in `layoutBundle`. This eliminates the need for pending labels and simplifies the code. llvm/test/MC/MachO/pending-labels.s (D71368): relocation symbols are changed, but the result is still supported by linkers.
Diffstat (limited to 'flang')
0 files changed, 0 insertions, 0 deletions