move handling of asm-verbose out of AsmPrinter.cpp into LLVMTargetMachine.cpp with the rest of the command line options.

llvm-svn: 95152
This commit is contained in:
Chris Lattner 2010-02-02 22:54:51 +00:00
parent b251eb6901
commit 32445d300f
2 changed files with 16 additions and 17 deletions

View File

@ -53,22 +53,9 @@ using namespace llvm;
STATISTIC(EmittedInsts, "Number of machine instrs printed");
static cl::opt<cl::boolOrDefault>
AsmVerbose("asm-verbose", cl::desc("Add comments to directives."),
cl::init(cl::BOU_UNSET));
static bool getVerboseAsm(bool VDef) {
switch (AsmVerbose) {
default:
case cl::BOU_UNSET: return VDef;
case cl::BOU_TRUE: return true;
case cl::BOU_FALSE: return false;
}
}
char AsmPrinter::ID = 0;
AsmPrinter::AsmPrinter(formatted_raw_ostream &o, TargetMachine &tm,
const MCAsmInfo *T, bool VDef)
const MCAsmInfo *T, bool VerboseAsm)
: MachineFunctionPass(&ID), O(o),
TM(tm), MAI(T), TRI(tm.getRegisterInfo()),
@ -76,11 +63,11 @@ AsmPrinter::AsmPrinter(formatted_raw_ostream &o, TargetMachine &tm,
// FIXME: Pass instprinter to streamer.
OutStreamer(*createAsmStreamer(OutContext, O, *T,
TM.getTargetData()->isLittleEndian(),
getVerboseAsm(VDef), 0)),
VerboseAsm, 0)),
LastMI(0), LastFn(0), Counter(~0U), PrevDLT(NULL) {
DW = 0; MMI = 0;
VerboseAsm = getVerboseAsm(VDef);
this->VerboseAsm = VerboseAsm;
}
AsmPrinter::~AsmPrinter() {

View File

@ -62,6 +62,18 @@ static cl::opt<bool> VerifyMachineCode("verify-machineinstrs", cl::Hidden,
cl::desc("Verify generated machine code"),
cl::init(getenv("LLVM_VERIFY_MACHINEINSTRS")!=NULL));
static cl::opt<cl::boolOrDefault>
AsmVerbose("asm-verbose", cl::desc("Add comments to directives."),
cl::init(cl::BOU_UNSET));
static bool getVerboseAsm(bool VDef) {
switch (AsmVerbose) {
default:
case cl::BOU_UNSET: return VDef;
case cl::BOU_TRUE: return true;
case cl::BOU_FALSE: return false;
}
}
// Enable or disable FastISel. Both options are needed, because
// FastISel is enabled by default with -fast, and we wish to be
@ -111,7 +123,7 @@ LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM,
case CGFT_AssemblyFile: {
FunctionPass *Printer =
getTarget().createAsmPrinter(Out, *this, getMCAsmInfo(),
getAsmVerbosityDefault());
getVerboseAsm(getAsmVerbosityDefault()));
if (Printer == 0) return CGFT_ErrorOccurred;
PM.add(Printer);
break;