unsigned MCNoExecStack : 1;
unsigned MCSaveTempLabels : 1;
unsigned MCUseDwarfDirectory : 1;
-
+ unsigned ShowMCEncoding : 1;
+ unsigned ShowMCInst : 1;
MCTargetOptions();
};
ARE_EQUAL(MCRelaxAll) &&
ARE_EQUAL(MCNoExecStack) &&
ARE_EQUAL(MCSaveTempLabels) &&
- ARE_EQUAL(MCUseDwarfDirectory));
+ ARE_EQUAL(MCUseDwarfDirectory) &&
+ ARE_EQUAL(ShowMCEncoding) &&
+ ARE_EQUAL(ShowMCInst));
#undef ARE_EQUAL
}
cl::opt<bool> SaveTempLabels("L", cl::desc("Don't discard temporary labels"));
+cl::opt<bool> ShowMCEncoding("show-mc-encoding", cl::Hidden,
+ cl::desc("Show encoding in .s output"));
+cl::opt<bool> ShowMCInst("show-mc-inst", cl::Hidden,
+ cl::desc("Show instruction structure in .s output"));
+
static inline MCTargetOptions InitMCTargetOptionsFromFlags() {
MCTargetOptions Options;
Options.SanitizeAddress =
Options.MCUseDwarfDirectory = EnableDwarfDirectory;
Options.MCNoExecStack = NoExecStack;
Options.MCSaveTempLabels = SaveTempLabels;
+ Options.ShowMCEncoding = ShowMCEncoding;
+ Options.ShowMCInst = ShowMCInst;
return Options;
}
EnableFastISelOption("fast-isel", cl::Hidden,
cl::desc("Enable the \"fast\" instruction selector"));
-static cl::opt<bool> ShowMCEncoding("show-mc-encoding", cl::Hidden,
- cl::desc("Show encoding in .s output"));
-static cl::opt<bool> ShowMCInst("show-mc-inst", cl::Hidden,
- cl::desc("Show instruction structure in .s output"));
-
static cl::opt<cl::boolOrDefault>
AsmVerbose("asm-verbose", cl::desc("Add comments to directives."),
cl::init(cl::BOU_UNSET));
// Create a code emitter if asked to show the encoding.
MCCodeEmitter *MCE = nullptr;
- if (ShowMCEncoding)
+ if (Options.MCOptions.ShowMCEncoding)
MCE = getTarget().createMCCodeEmitter(MII, MRI, STI, *Context);
MCAsmBackend *MAB = getTarget().createMCAsmBackend(MRI, getTargetTriple(),
TargetCPU);
- MCStreamer *S = getTarget().createAsmStreamer(*Context, Out,
- getVerboseAsm(),
- hasMCUseDwarfDirectory(),
- InstPrinter,
- MCE, MAB,
- ShowMCInst);
+ MCStreamer *S = getTarget().createAsmStreamer(
+ *Context, Out, getVerboseAsm(), hasMCUseDwarfDirectory(), InstPrinter,
+ MCE, MAB, Options.MCOptions.ShowMCInst);
AsmStreamer.reset(S);
break;
}
MCTargetOptions::MCTargetOptions()
: SanitizeAddress(false), MCRelaxAll(false), MCNoExecStack(false),
- MCSaveTempLabels(false), MCUseDwarfDirectory(false) {}
+ MCSaveTempLabels(false), MCUseDwarfDirectory(false),
+ ShowMCEncoding(false), ShowMCInst(false) {}
} // end namespace llvm