[PATCH] D114590: [CodeGen] Emit alignment "Max Skip" operand for align directives

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 1 23:43:25 PST 2021


dmgreen added a comment.

It may be better to fold this into D114879 <https://reviews.llvm.org/D114879> so that there is a single patch that can be tested properly.



================
Comment at: llvm/include/llvm/CodeGen/AsmPrinter.h:435
   /// correctness.
-  void emitAlignment(Align Alignment, const GlobalObject *GV = nullptr) const;
+  void emitAlignment(Align Alignment, const GlobalObject *GV = nullptr, unsigned MaxBytesToEmit = 0) const;
 
----------------
Can you make sure you clang-format the changes.


================
Comment at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:141
+  /// Zero to represent no maximum.
+  /// Values greater than Alignment^2 are understood to be functionally useless,
+  /// and are equivalent to a value of Zero.
----------------
1<<Alignment or 2^Alignment.  It may be better to use the wording from elsewhere and say "If the alignment cannot be reached in this many bytes, no bytes are emitted."


================
Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:2465
   } else
     OutStreamer->emitValueToAlignment(Alignment.value());
 }
----------------
What about this code path?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D114590



More information about the llvm-commits mailing list