aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-22 07:06:15 +0000
committerChris Lattner <sabre@nondot.org>2010-01-22 07:06:15 +0000
commit07404415ab97883b80d0dd87f1c5308e4eccbfd4 (patch)
tree623859861aa43da8a155e408f49e54750d6c19e5 /lib
parente73a31f667ad2fe03e25c97ac45b58c30d7f07c3 (diff)
downloadexternal_llvm-07404415ab97883b80d0dd87f1c5308e4eccbfd4.zip
external_llvm-07404415ab97883b80d0dd87f1c5308e4eccbfd4.tar.gz
external_llvm-07404415ab97883b80d0dd87f1c5308e4eccbfd4.tar.bz2
pass "-fasm-verbose" into createAsmStreamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94165 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinter.cpp18
-rw-r--r--lib/MC/MCAsmStreamer.cpp17
2 files changed, 21 insertions, 14 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 32e9036..d5ae71f 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -50,6 +50,15 @@ 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)
@@ -59,15 +68,12 @@ AsmPrinter::AsmPrinter(formatted_raw_ostream &o, TargetMachine &tm,
OutContext(*new MCContext()),
// FIXME: Pass instprinter to streamer.
OutStreamer(*createAsmStreamer(OutContext, O, *T,
- TM.getTargetData()->isLittleEndian(), 0)),
+ TM.getTargetData()->isLittleEndian(),
+ getVerboseAsm(VDef), 0)),
LastMI(0), LastFn(0), Counter(~0U), PrevDLT(NULL) {
DW = 0; MMI = 0;
- switch (AsmVerbose) {
- case cl::BOU_UNSET: VerboseAsm = VDef; break;
- case cl::BOU_TRUE: VerboseAsm = true; break;
- case cl::BOU_FALSE: VerboseAsm = false; break;
- }
+ VerboseAsm = getVerboseAsm(VDef);
}
AsmPrinter::~AsmPrinter() {
diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp
index 9e5eacc..79cb647 100644
--- a/lib/MC/MCAsmStreamer.cpp
+++ b/lib/MC/MCAsmStreamer.cpp
@@ -28,15 +28,15 @@ namespace {
class MCAsmStreamer : public MCStreamer {
raw_ostream &OS;
const MCAsmInfo &MAI;
- bool IsLittleEndian;
+ bool IsLittleEndian, IsVerboseAsm;
MCInstPrinter *InstPrinter;
MCCodeEmitter *Emitter;
public:
- MCAsmStreamer(MCContext &Context, raw_ostream &_OS, const MCAsmInfo &tai,
- bool isLittleEndian, MCInstPrinter *_Printer,
- MCCodeEmitter *_Emitter)
- : MCStreamer(Context), OS(_OS), MAI(tai), IsLittleEndian(isLittleEndian),
- InstPrinter(_Printer), Emitter(_Emitter) {}
+ MCAsmStreamer(MCContext &Context, raw_ostream &os, const MCAsmInfo &mai,
+ bool isLittleEndian, bool isVerboseAsm, MCInstPrinter *printer,
+ MCCodeEmitter *emitter)
+ : MCStreamer(Context), OS(os), MAI(mai), IsLittleEndian(isLittleEndian),
+ IsVerboseAsm(isVerboseAsm), InstPrinter(printer), Emitter(emitter) {}
~MCAsmStreamer() {}
bool isLittleEndian() const { return IsLittleEndian; }
@@ -351,7 +351,8 @@ void MCAsmStreamer::Finish() {
MCStreamer *llvm::createAsmStreamer(MCContext &Context, raw_ostream &OS,
const MCAsmInfo &MAI, bool isLittleEndian,
- MCInstPrinter *IP,
+ bool isVerboseAsm, MCInstPrinter *IP,
MCCodeEmitter *CE) {
- return new MCAsmStreamer(Context, OS, MAI, isLittleEndian, IP, CE);
+ return new MCAsmStreamer(Context, OS, MAI, isLittleEndian, isVerboseAsm,
+ IP, CE);
}