summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp b/llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
index 919552cb1f0..d709ed7342c 100644
--- a/llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
+++ b/llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp
@@ -19,6 +19,7 @@
#include "llvm/Type.h"
#include "llvm/Assembly/Writer.h"
#include "llvm/CodeGen/AsmPrinter.h"
+#include "llvm/Target/TargetAsmInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Support/Mangler.h"
#include "llvm/ADT/Statistic.h"
@@ -27,17 +28,22 @@ using namespace llvm;
namespace {
Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed");
+
+ struct VISIBILITY_HIDDEN AlphaTargetAsmInfo : public TargetAsmInfo {
+ AlphaTargetAsmInfo() {
+ AlignmentIsInBytes = false;
+ PrivateGlobalPrefix = "$";
+ }
+ };
- struct AlphaAsmPrinter : public AsmPrinter {
+ struct VISIBILITY_HIDDEN AlphaAsmPrinter : public AsmPrinter {
/// Unique incrementer for label values for referencing Global values.
///
unsigned LabelNumber;
- AlphaAsmPrinter(std::ostream &o, TargetMachine &tm)
- : AsmPrinter(o, tm), LabelNumber(0) {
- AlignmentIsInBytes = false;
- PrivateGlobalPrefix = "$";
+ AlphaAsmPrinter(std::ostream &o, TargetMachine &tm, TargetAsmInfo *T)
+ : AsmPrinter(o, tm, T), LabelNumber(0) {
}
/// We name each basic block in a Function with a unique number, so
@@ -76,7 +82,8 @@ namespace {
///
FunctionPass *llvm::createAlphaCodePrinterPass (std::ostream &o,
TargetMachine &tm) {
- return new AlphaAsmPrinter(o, tm);
+ AlphaTargetAsmInfo *TAI = new AlphaTargetAsmInfo();
+ return new AlphaAsmPrinter(o, tm, TAI);
}
#include "AlphaGenAsmWriter.inc"
@@ -115,7 +122,7 @@ void AlphaAsmPrinter::printOp(const MachineOperand &MO, bool IsCallOp) {
return;
case MachineOperand::MO_ConstantPoolIndex:
- O << PrivateGlobalPrefix << "CPI" << getFunctionNumber() << "_"
+ O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << "_"
<< MO.getConstantPoolIndex();
return;
OpenPOWER on IntegriCloud