diff options
Diffstat (limited to 'llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp')
-rw-r--r-- | llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp index 623aff088b1..85e24dc98f5 100644 --- a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp +++ b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp @@ -155,6 +155,7 @@ public: AlignBranchType = X86AlignBranchKindLoc; } + bool allowAutoPadding() const override; void alignBranchesBegin(MCObjectStreamer &OS, const MCInst &Inst) override; void alignBranchesEnd(MCObjectStreamer &OS, const MCInst &Inst) override; @@ -410,10 +411,15 @@ static bool hasVariantSymbol(const MCInst &MI) { return false; } +bool X86AsmBackend::allowAutoPadding() const { + return (AlignBoundary != Align::None() && + AlignBranchType != X86::AlignBranchNone); +} + bool X86AsmBackend::needAlign(MCObjectStreamer &OS) const { - if (AlignBoundary == Align::None() || - AlignBranchType == X86::AlignBranchNone) + if (!OS.getAllowAutoPadding()) return false; + assert(allowAutoPadding() && "incorrect initialization!"); MCAssembler &Assembler = OS.getAssembler(); MCSection *Sec = OS.getCurrentSectionOnly(); |