[PATCH] D71350: [MachineScheduler] Reorder cfi to avoid PostRA scheduling differences

Orlando Cazalet-Hyams via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 11 06:55:02 PST 2019


Orlando added a subscriber: debug-info.
Orlando added a comment.

As far as I understand it I don't think it is safe to move CFI_INSTRUCTIONs
around like this. CFI_INSTRUCTIONs describe the effect of specific instructions.
We encode where this 'description' starts by the position of the CFI_INSTRUCTION
in the instruction stream. So, if you move the CFI_INSTRUCTION like this you
are changing the meaning.

As I mention in the ticket [0], I think a good fix would involve removing all
CFI_INSTRUCTIONS before scheduling, and re-inserting them in the correct positions
afterwards. Unless I misunderstand, the "correct position" for a CFI_INSTRUCTION
is immediately after the instruction which it describes.

[0] https://bugs.llvm.org/show_bug.cgi?id=37240


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71350/new/

https://reviews.llvm.org/D71350





More information about the llvm-commits mailing list