mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-28 14:36:34 +00:00
Do not emit comments unless -asm-verbose.
llvm-svn: 67580
This commit is contained in:
parent
0f8e2bcd98
commit
b3196f1298
@ -1010,30 +1010,42 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP,
|
||||
if (CFP->getType() == Type::DoubleTy) {
|
||||
double Val = CFP->getValueAPF().convertToDouble(); // for comment only
|
||||
uint64_t i = CFP->getValueAPF().bitcastToAPInt().getZExtValue();
|
||||
if (TAI->getData64bitsDirective(AddrSpace))
|
||||
O << TAI->getData64bitsDirective(AddrSpace) << i << '\t'
|
||||
<< TAI->getCommentString() << " double value: " << Val << '\n';
|
||||
else if (TD->isBigEndian()) {
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i >> 32)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " double most significant word " << Val << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " double least significant word " << Val << '\n';
|
||||
if (TAI->getData64bitsDirective(AddrSpace)) {
|
||||
O << TAI->getData64bitsDirective(AddrSpace) << i;
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString() << " double value: " << Val;
|
||||
O << '\n';
|
||||
} else if (TD->isBigEndian()) {
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i >> 32);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " double most significant word " << Val;
|
||||
O << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " double least significant word " << Val;
|
||||
O << '\n';
|
||||
} else {
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " double least significant word " << Val << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i >> 32)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " double most significant word " << Val << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " double least significant word " << Val;
|
||||
O << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i >> 32);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " double most significant word " << Val;
|
||||
O << '\n';
|
||||
}
|
||||
return;
|
||||
} else if (CFP->getType() == Type::FloatTy) {
|
||||
float Val = CFP->getValueAPF().convertToFloat(); // for comment only
|
||||
O << TAI->getData32bitsDirective(AddrSpace)
|
||||
<< CFP->getValueAPF().bitcastToAPInt().getZExtValue()
|
||||
<< '\t' << TAI->getCommentString() << " float " << Val << '\n';
|
||||
<< CFP->getValueAPF().bitcastToAPInt().getZExtValue();
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString() << " float " << Val;
|
||||
O << '\n';
|
||||
return;
|
||||
} else if (CFP->getType() == Type::X86_FP80Ty) {
|
||||
// all long double variants are printed as hex
|
||||
@ -1046,39 +1058,56 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP,
|
||||
DoubleVal.convert(APFloat::IEEEdouble, APFloat::rmNearestTiesToEven,
|
||||
&ignored);
|
||||
if (TD->isBigEndian()) {
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[1])
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double most significant halfword of ~"
|
||||
<< DoubleVal.convertToDouble() << '\n';
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 48)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double next halfword\n";
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 32)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double next halfword\n";
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 16)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double next halfword\n";
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0])
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double least significant halfword\n";
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[1]);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double most significant halfword of ~"
|
||||
<< DoubleVal.convertToDouble();
|
||||
O << '\n';
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 48);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString() << " long double next halfword";
|
||||
O << '\n';
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 32);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString() << " long double next halfword";
|
||||
O << '\n';
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 16);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString() << " long double next halfword";
|
||||
O << '\n';
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0]);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double least significant halfword";
|
||||
O << '\n';
|
||||
} else {
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0])
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double least significant halfword of ~"
|
||||
<< DoubleVal.convertToDouble() << '\n';
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 16)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double next halfword\n";
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 32)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double next halfword\n";
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 48)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double next halfword\n";
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[1])
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double most significant halfword\n";
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0]);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double least significant halfword of ~"
|
||||
<< DoubleVal.convertToDouble();
|
||||
O << '\n';
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 16);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double next halfword";
|
||||
O << '\n';
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 32);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double next halfword";
|
||||
O << '\n';
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 48);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double next halfword";
|
||||
O << '\n';
|
||||
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[1]);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double most significant halfword";
|
||||
O << '\n';
|
||||
}
|
||||
EmitZeros(TD->getTypePaddedSize(Type::X86_FP80Ty) -
|
||||
TD->getTypeStoreSize(Type::X86_FP80Ty), AddrSpace);
|
||||
@ -1089,31 +1118,47 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP,
|
||||
APInt api = CFP->getValueAPF().bitcastToAPInt();
|
||||
const uint64_t *p = api.getRawData();
|
||||
if (TD->isBigEndian()) {
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0] >> 32)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double most significant word\n";
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0])
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double next word\n";
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1] >> 32)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double next word\n";
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1])
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double least significant word\n";
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0] >> 32);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double most significant word";
|
||||
O << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0]);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double next word";
|
||||
O << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1] >> 32);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double next word";
|
||||
O << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1]);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double least significant word";
|
||||
O << '\n';
|
||||
} else {
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1])
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double least significant word\n";
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1] >> 32)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double next word\n";
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0])
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double next word\n";
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0] >> 32)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " long double most significant word\n";
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1]);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double least significant word";
|
||||
O << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1] >> 32);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double next word";
|
||||
O << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0]);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double next word";
|
||||
O << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0] >> 32);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " long double most significant word";
|
||||
O << '\n';
|
||||
}
|
||||
return;
|
||||
} else assert(0 && "Floating point constant type not handled");
|
||||
@ -1140,19 +1185,27 @@ void AsmPrinter::EmitGlobalConstantLargeInt(const ConstantInt *CI,
|
||||
if (TAI->getData64bitsDirective(AddrSpace))
|
||||
O << TAI->getData64bitsDirective(AddrSpace) << Val << '\n';
|
||||
else if (TD->isBigEndian()) {
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val >> 32)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " Double-word most significant word " << Val << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " Double-word least significant word " << Val << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val >> 32);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " Double-word most significant word " << Val;
|
||||
O << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " Double-word least significant word " << Val;
|
||||
O << '\n';
|
||||
} else {
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " Double-word least significant word " << Val << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val >> 32)
|
||||
<< '\t' << TAI->getCommentString()
|
||||
<< " Double-word most significant word " << Val << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " Double-word least significant word " << Val;
|
||||
O << '\n';
|
||||
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val >> 32);
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString()
|
||||
<< " Double-word most significant word " << Val;
|
||||
O << '\n';
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1188,10 +1241,12 @@ void AsmPrinter::EmitGlobalConstant(const Constant *CV, unsigned AddrSpace) {
|
||||
|
||||
printDataDirective(type, AddrSpace);
|
||||
EmitConstantValueOnly(CV);
|
||||
if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
|
||||
SmallString<40> S;
|
||||
CI->getValue().toStringUnsigned(S, 16);
|
||||
O << "\t\t\t" << TAI->getCommentString() << " 0x" << S.c_str();
|
||||
if (VerboseAsm) {
|
||||
if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
|
||||
SmallString<40> S;
|
||||
CI->getValue().toStringUnsigned(S, 16);
|
||||
O << "\t\t\t" << TAI->getCommentString() << " 0x" << S.c_str();
|
||||
}
|
||||
}
|
||||
O << '\n';
|
||||
}
|
||||
@ -1211,7 +1266,8 @@ void AsmPrinter::PrintSpecial(const MachineInstr *MI, const char *Code) const {
|
||||
if (!strcmp(Code, "private")) {
|
||||
O << TAI->getPrivateGlobalPrefix();
|
||||
} else if (!strcmp(Code, "comment")) {
|
||||
O << TAI->getCommentString();
|
||||
if (VerboseAsm)
|
||||
O << TAI->getCommentString();
|
||||
} else if (!strcmp(Code, "uid")) {
|
||||
// Assign a unique ID to this machine instruction.
|
||||
static const MachineInstr *LastMI = 0;
|
||||
@ -1441,8 +1497,9 @@ void AsmPrinter::printInlineAsm(const MachineInstr *MI) const {
|
||||
/// printImplicitDef - This method prints the specified machine instruction
|
||||
/// that is an implicit def.
|
||||
void AsmPrinter::printImplicitDef(const MachineInstr *MI) const {
|
||||
O << '\t' << TAI->getCommentString() << " implicit-def: "
|
||||
<< TRI->getAsmName(MI->getOperand(0).getReg()) << '\n';
|
||||
if (VerboseAsm)
|
||||
O << '\t' << TAI->getCommentString() << " implicit-def: "
|
||||
<< TRI->getAsmName(MI->getOperand(0).getReg()) << '\n';
|
||||
}
|
||||
|
||||
/// printLabel - This method prints a local label used by debug and
|
||||
|
@ -255,7 +255,7 @@ bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
||||
I != E; ++I) {
|
||||
// Print a label for the basic block.
|
||||
if (I != MF.begin()) {
|
||||
printBasicBlockLabel(I, true, true);
|
||||
printBasicBlockLabel(I, true, true, VerboseAsm);
|
||||
O << '\n';
|
||||
}
|
||||
for (MachineBasicBlock::const_iterator II = I->begin(), E = I->end();
|
||||
@ -356,7 +356,9 @@ static void printSOImm(raw_ostream &O, int64_t V, const TargetAsmInfo *TAI) {
|
||||
if (Rot) {
|
||||
O << "#" << Imm << ", " << Rot;
|
||||
// Pretty printed version.
|
||||
O << ' ' << TAI->getCommentString() << ' ' << (int)ARM_AM::rotr32(Imm, Rot);
|
||||
if (VerboseAsm)
|
||||
O << ' ' << TAI->getCommentString()
|
||||
<< ' ' << (int)ARM_AM::rotr32(Imm, Rot);
|
||||
} else {
|
||||
O << "#" << Imm;
|
||||
}
|
||||
@ -870,8 +872,11 @@ void ARMAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
O << "\t.globl " << name << '\n'
|
||||
<< TAI->getWeakDefDirective() << name << '\n';
|
||||
EmitAlignment(Align, GVar);
|
||||
O << name << ":\t\t\t\t" << TAI->getCommentString() << ' ';
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << name << ":";
|
||||
if (VerboseAsm) {
|
||||
O << "\t\t\t\t" << TAI->getCommentString() << ' ';
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
}
|
||||
O << '\n';
|
||||
EmitGlobalConstant(C);
|
||||
return;
|
||||
@ -892,8 +897,10 @@ void ARMAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
if (TAI->getCOMMDirectiveTakesAlignment())
|
||||
O << "," << (TAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
|
||||
}
|
||||
O << "\t\t" << TAI->getCommentString() << " ";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
if (VerboseAsm) {
|
||||
O << "\t\t" << TAI->getCommentString() << " ";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
}
|
||||
O << "\n";
|
||||
return;
|
||||
}
|
||||
@ -928,8 +935,11 @@ void ARMAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
}
|
||||
|
||||
EmitAlignment(Align, GVar);
|
||||
O << name << ":\t\t\t\t" << TAI->getCommentString() << " ";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << name << ":";
|
||||
if (VerboseAsm) {
|
||||
O << "\t\t\t\t" << TAI->getCommentString() << " ";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
}
|
||||
O << "\n";
|
||||
if (TAI->hasDotTypeDotSizeDirective())
|
||||
O << "\t.size " << name << ", " << Size << "\n";
|
||||
|
@ -704,9 +704,12 @@ void PPCLinuxAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
} else {
|
||||
O << ".comm " << name << ',' << Size;
|
||||
}
|
||||
O << "\t\t" << TAI->getCommentString() << " '";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << "'\n";
|
||||
if (VerboseAsm) {
|
||||
O << "\t\t" << TAI->getCommentString() << " '";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << "'";
|
||||
}
|
||||
O << '\n';
|
||||
return;
|
||||
}
|
||||
|
||||
@ -737,9 +740,13 @@ void PPCLinuxAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
}
|
||||
|
||||
EmitAlignment(Align, GVar);
|
||||
O << name << ":\t\t\t\t" << TAI->getCommentString() << " '";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << "'\n";
|
||||
O << name << ":";
|
||||
if (VerboseAsm) {
|
||||
O << "\t\t\t\t" << TAI->getCommentString() << " '";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << "'";
|
||||
}
|
||||
O << '\n';
|
||||
|
||||
// If the initializer is a extern weak symbol, remember to emit the weak
|
||||
// reference!
|
||||
@ -819,7 +826,7 @@ bool PPCDarwinAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
||||
I != E; ++I) {
|
||||
// Print a label for the basic block.
|
||||
if (I != MF.begin()) {
|
||||
printBasicBlockLabel(I, true, true);
|
||||
printBasicBlockLabel(I, true, true, VerboseAsm);
|
||||
O << '\n';
|
||||
}
|
||||
for (MachineBasicBlock::const_iterator II = I->begin(), IE = I->end();
|
||||
@ -938,8 +945,11 @@ void PPCDarwinAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
O << "\t.globl " << name << '\n'
|
||||
<< TAI->getWeakDefDirective() << name << '\n';
|
||||
EmitAlignment(Align, GVar);
|
||||
O << name << ":\t\t\t\t" << TAI->getCommentString() << " ";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << name << ":";
|
||||
if (VerboseAsm) {
|
||||
O << "\t\t\t\t" << TAI->getCommentString() << " ";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
}
|
||||
O << '\n';
|
||||
EmitGlobalConstant(C);
|
||||
return;
|
||||
@ -949,9 +959,12 @@ void PPCDarwinAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
if (Subtarget.isDarwin9())
|
||||
O << ',' << Align;
|
||||
}
|
||||
O << "\t\t" << TAI->getCommentString() << " '";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << "'\n";
|
||||
if (VerboseAsm) {
|
||||
O << "\t\t" << TAI->getCommentString() << " '";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << "'";
|
||||
}
|
||||
O << '\n';
|
||||
return;
|
||||
}
|
||||
|
||||
@ -980,9 +993,13 @@ void PPCDarwinAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
}
|
||||
|
||||
EmitAlignment(Align, GVar);
|
||||
O << name << ":\t\t\t\t" << TAI->getCommentString() << " '";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << "'\n";
|
||||
O << name << ":";
|
||||
if (VerboseAsm) {
|
||||
O << "\t\t\t\t" << TAI->getCommentString() << " '";
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << "'";
|
||||
}
|
||||
O << '\n';
|
||||
|
||||
// If the initializer is a extern weak symbol, remember to emit the weak
|
||||
// reference!
|
||||
|
@ -239,7 +239,7 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
||||
I != E; ++I) {
|
||||
// Print a label for the basic block.
|
||||
if (!I->pred_empty()) {
|
||||
printBasicBlockLabel(I, true, true);
|
||||
printBasicBlockLabel(I, true, true, VerboseAsm);
|
||||
O << '\n';
|
||||
}
|
||||
for (MachineBasicBlock::const_iterator II = I->begin(), IE = I->end();
|
||||
@ -315,7 +315,7 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
|
||||
O << MO.getImm();
|
||||
return;
|
||||
case MachineOperand::MO_MachineBasicBlock:
|
||||
printBasicBlockLabel(MO.getMBB());
|
||||
printBasicBlockLabel(MO.getMBB(), false, false, VerboseAsm);
|
||||
return;
|
||||
case MachineOperand::MO_JumpTableIndex: {
|
||||
bool isMemOp = Modifier && !strcmp(Modifier, "mem");
|
||||
@ -829,8 +829,11 @@ void X86ATTAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
O << "\t.globl " << name << '\n'
|
||||
<< TAI->getWeakDefDirective() << name << '\n';
|
||||
EmitAlignment(Align, GVar);
|
||||
O << name << ":\t\t\t\t" << TAI->getCommentString() << ' ';
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << name << ":";
|
||||
if (VerboseAsm) {
|
||||
O << name << "\t\t\t\t" << TAI->getCommentString() << ' ';
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
}
|
||||
O << '\n';
|
||||
EmitGlobalConstant(C);
|
||||
return;
|
||||
@ -848,8 +851,10 @@ void X86ATTAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
if (TAI->getCOMMDirectiveTakesAlignment())
|
||||
O << ',' << (TAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
|
||||
}
|
||||
O << "\t\t" << TAI->getCommentString() << ' ';
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
if (VerboseAsm) {
|
||||
O << "\t\t" << TAI->getCommentString() << ' ';
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
}
|
||||
O << '\n';
|
||||
return;
|
||||
}
|
||||
@ -887,8 +892,11 @@ void X86ATTAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
|
||||
}
|
||||
|
||||
EmitAlignment(Align, GVar);
|
||||
O << name << ":\t\t\t\t" << TAI->getCommentString() << ' ';
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
O << name << ":";
|
||||
if (VerboseAsm){
|
||||
O << name << "\t\t\t\t" << TAI->getCommentString() << ' ';
|
||||
PrintUnmangledNameSafely(GVar, O);
|
||||
}
|
||||
O << '\n';
|
||||
if (TAI->hasDotTypeDotSizeDirective())
|
||||
O << "\t.size\t" << name << ", " << Size << '\n';
|
||||
|
@ -489,8 +489,11 @@ bool X86IntelAsmPrinter::doFinalization(Module &M) {
|
||||
if (!bCustomSegment)
|
||||
EmitAlignment(Align, I);
|
||||
|
||||
O << name << ":\t\t\t\t" << TAI->getCommentString()
|
||||
<< " " << I->getName() << '\n';
|
||||
O << name << ":";
|
||||
if (VerboseAsm)
|
||||
O << name << "\t\t\t\t" << TAI->getCommentString()
|
||||
<< " " << I->getName();
|
||||
O << '\n';
|
||||
|
||||
EmitGlobalConstant(C);
|
||||
|
||||
|
@ -2,11 +2,11 @@
|
||||
; RUN: grep {mov r0, #0} | count 1
|
||||
; RUN: llvm-as < %s | llc -march=arm | \
|
||||
; RUN: grep {mov r0, #255$} | count 1
|
||||
; RUN: llvm-as < %s | llc -march=arm | \
|
||||
; RUN: llvm-as < %s | llc -march=arm -asm-verbose | \
|
||||
; RUN: grep {mov r0.*256} | count 1
|
||||
; RUN: llvm-as < %s | llc -march=arm | grep {orr.*256} | count 1
|
||||
; RUN: llvm-as < %s | llc -march=arm | grep {mov r0, .*-1073741761} | count 1
|
||||
; RUN: llvm-as < %s | llc -march=arm | grep {mov r0, .*1008} | count 1
|
||||
; RUN: llvm-as < %s | llc -march=arm -asm-verbose | grep {orr.*256} | count 1
|
||||
; RUN: llvm-as < %s | llc -march=arm -asm-verbose | grep {mov r0, .*-1073741761} | count 1
|
||||
; RUN: llvm-as < %s | llc -march=arm -asm-verbose | grep {mov r0, .*1008} | count 1
|
||||
; RUN: llvm-as < %s | llc -march=arm | grep {cmp r0, #1, 16} | count 1
|
||||
|
||||
define i32 @f1() {
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llc -march=arm | \
|
||||
; RUN: llvm-as < %s | llc -march=arm -asm-verbose | \
|
||||
; RUN: grep -- {-2147483648} | count 3
|
||||
; RUN: llvm-as < %s | llc -march=arm | grep mvn | count 3
|
||||
; RUN: llvm-as < %s | llc -march=arm | grep adds | count 1
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llc -enable-eh | grep invcont131
|
||||
; RUN: llvm-as < %s | llc -enable-eh -asm-verbose | grep invcont131
|
||||
; PR 1496: tail merge was incorrectly removing this block
|
||||
|
||||
; ModuleID = 'report.1.bc'
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin | grep {#} | not grep -v {##}
|
||||
; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin -asm-verbose | grep {#} | not grep -v {##}
|
||||
|
||||
%struct.AGenericCall = type { %struct.AGenericManager*, %struct.ComponentParameters*, i32* }
|
||||
%struct.AGenericManager = type <{ i8 }>
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llc -march=x86 | grep -A 1 lpad | grep Llabel
|
||||
; RUN: llvm-as < %s | llc -march=x86 -asm-verbose | grep -A 1 lpad | grep Llabel
|
||||
; Check that register copies in the landing pad come after the EH_LABEL
|
||||
|
||||
declare i32 @f()
|
||||
|
Loading…
Reference in New Issue
Block a user