[PATCH] D68639: [MachineScheduler] Add a flag to enable scheduling of cfi instructions

David Tellenbach via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 8 06:51:42 PDT 2019


tellenbach created this revision.
Herald added subscribers: llvm-commits, javed.absar, hiraditya, aprantl, MatzeB.
Herald added a project: LLVM.

Add a flag `--schedule-cfiinstrs` to enable the scheduling of cfi
instructions during instruction scheduling.

If this flag is set to `false` (the current default) cfi instructions
act as scheduling boundaries during instruction scheduling. This can
lead to different scheduling regions and therefore differing generated
assembly, depending on the presence of cfi instructions.

Since some targets insert cfi instructions when debug information is
generated, but not if not, the scheduling of cfi instructions leads to
improved consistency between debug and non-debug mode.

See also: http://lists.llvm.org/pipermail/llvm-dev/2019-September/135433.html

This resolves PR37240.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D68639

Files:
  llvm/include/llvm/CodeGen/MachineScheduler.h
  llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
  llvm/lib/CodeGen/MachineScheduler.cpp
  llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
  llvm/test/CodeGen/AArch64/cfiinstrs-no-uwtable-scheduling.ll
  llvm/test/CodeGen/AArch64/cfiinstrs-scheduling.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68639.223842.patch
Type: text/x-patch
Size: 11747 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191008/c3aa31fa/attachment.bin>


More information about the llvm-commits mailing list