don't emit a 1-byte object as a .fill. This is silly and causes

CodeGen/X86/global-sections.ll to fail with CDArray

llvm-svn: 149343
This commit is contained in:
Chris Lattner 2012-01-31 03:39:24 +00:00
parent 3a565d6241
commit 0d3785e165
1 changed files with 3 additions and 1 deletions

View File

@ -1615,7 +1615,9 @@ static void EmitGlobalConstantDataSequential(const ConstantDataSequential *CDS,
int Value = isRepeatedByteSequence(CDS, AP.TM);
if (Value != -1) {
uint64_t Bytes = AP.TM.getTargetData()->getTypeAllocSize(CDS->getType());
return AP.OutStreamer.EmitFill(Bytes, Value, AddrSpace);
// Don't emit a 1-byte object as a .fill.
if (Bytes > 1)
return AP.OutStreamer.EmitFill(Bytes, Value, AddrSpace);
}
// If this can be emitted with .ascii/.asciz, emit it as such.