aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCObjectStreamer.cpp
diff options
context:
space:
mode:
authorJian Cai <caij2003@gmail.com>2020-07-30 18:33:33 -0700
committerJian Cai <caij2003@gmail.com>2020-08-03 11:50:56 -0700
commitc6334db577e7049fe4868b1647c9f937f68ff1f5 (patch)
tree27ddbe50dde4cb63e052b32f419daba1096027f6 /llvm/lib/MC/MCObjectStreamer.cpp
parent1e392fc44584a4909b4dced02b8386b48963002b (diff)
downloadllvm-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.cpp10
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);
}