diff options
author | Jian Cai <caij2003@gmail.com> | 2020-07-30 18:33:33 -0700 |
---|---|---|
committer | Jian Cai <caij2003@gmail.com> | 2020-08-03 11:50:56 -0700 |
commit | c6334db577e7049fe4868b1647c9f937f68ff1f5 (patch) | |
tree | 27ddbe50dde4cb63e052b32f419daba1096027f6 /llvm/lib/MC/MCObjectStreamer.cpp | |
parent | 1e392fc44584a4909b4dced02b8386b48963002b (diff) | |
download | llvm-c6334db577e7049fe4868b1647c9f937f68ff1f5.zip llvm-c6334db577e7049fe4868b1647c9f937f68ff1f5.tar.gz llvm-c6334db577e7049fe4868b1647c9f937f68ff1f5.tar.bz2 |
[X86] support .nops directive
Add support of .nops on X86. This addresses llvm.org/PR45788.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D82826
Diffstat (limited to 'llvm/lib/MC/MCObjectStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectStreamer.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index 78ee215..f9e0d85 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -819,6 +819,16 @@ void MCObjectStreamer::emitFill(const MCExpr &NumValues, int64_t Size, insert(new MCFillFragment(Expr, Size, NumValues, Loc)); } +void MCObjectStreamer::emitNops(int64_t NumBytes, int64_t ControlledNopLength, + SMLoc Loc) { + // Emit an NOP fragment. + MCDataFragment *DF = getOrCreateDataFragment(); + flushPendingLabels(DF, DF->getContents().size()); + + assert(getCurrentSectionOnly() && "need a section"); + insert(new MCNopsFragment(NumBytes, ControlledNopLength, Loc)); +} + void MCObjectStreamer::emitFileDirective(StringRef Filename) { getAssembler().addFileName(Filename); } |