[PATCH] D96294: [AArch64] Move machine bundle unpacking to PreEmit2 phase.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 8 14:26:00 PST 2021


fhahn created this revision.
fhahn added reviewers: paquette, ab, SjoerdMeijer, cameron.mcinally.
Herald added subscribers: nikic, danielkiss, hiraditya, kristof.beyls.
fhahn requested review of this revision.
Herald added a project: LLVM.

This patch adjusts the placement of the bundle unpacking to just before
code emission. In particular, this means bundle unpacking happens AFTER
the machine outliner. With the previous position, the machine outliner
may outline parts of a bundle, which breaks them up.

This is an issue for BLR_RVMARKER handling, as illustrated by the
rvmarker-pseudo-expansion-and-outlining.mir test case. The machine
outliner should not break up the bundles created during pseudo
expansion.

This should fix PR49082.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D96294

Files:
  llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
  llvm/test/CodeGen/AArch64/O0-pipeline.ll
  llvm/test/CodeGen/AArch64/O3-pipeline.ll
  llvm/test/CodeGen/AArch64/arm64-opt-remarks-lazy-bfi.ll
  llvm/test/CodeGen/AArch64/rvmarker-pseudo-expansion-and-outlining.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96294.322217.patch
Type: text/x-patch
Size: 8968 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210208/e4f2eaaa/attachment.bin>


More information about the llvm-commits mailing list