[PATCH] D72291: Reimplement BoundaryAlign mechanism (mostly, but not quite NFC)

Kan Shengchen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 6 18:52:16 PST 2020


skan added inline comments.


================
Comment at: llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp:481-484
+  if ((needAlignInst(Inst) && (!PendingBA ||
+                               !isMacroFused(PrevInst, Inst))) ||
+      (NeedAlignFused && isFirstMacroFusibleInst(Inst, *MCII))) {
+    PendingBA = new MCBoundaryAlignFragment(AlignBoundary);
----------------
Case
```
cmp %rax %rcx
.align 16
je .Label0
```
isn't correctly handled here. We should not emit NOP before `cmp %rax %rcx`, it may cause infinite loop.






Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D72291





More information about the llvm-commits mailing list