De-virtualize EmitZeroes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28046 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jeff Cohen
2006-05-02 03:46:13 +00:00
parent 4f1ea1e9d9
commit c6a057b04d
4 changed files with 11 additions and 12 deletions

View File

@@ -37,6 +37,7 @@ AsmPrinter::AsmPrinter(std::ostream &o, TargetMachine &tm)
InlineAsmStart("#APP\n\t"),
InlineAsmEnd("\t#NO_APP\n"),
ZeroDirective("\t.zero\t"),
ZeroDirectiveSuffix(0),
AsciiDirective("\t.ascii\t"),
AscizDirective("\t.asciz\t"),
Data8bitsDirective("\t.byte\t"),
@@ -240,9 +241,12 @@ void AsmPrinter::EmitAlignment(unsigned NumBits, const GlobalValue *GV) const {
///
void AsmPrinter::EmitZeros(uint64_t NumZeros) const {
if (NumZeros) {
if (ZeroDirective)
O << ZeroDirective << NumZeros << "\n";
else {
if (ZeroDirective) {
O << ZeroDirective << NumZeros;
if (ZeroDirectiveSuffix)
O << ZeroDirectiveSuffix;
O << "\n";
} else {
for (; NumZeros; --NumZeros)
O << Data8bitsDirective << "0\n";
}