From e48a69b2a3d821949db3c52e1fff20401e361496 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Fri, 28 Aug 2009 05:48:29 +0000 Subject: [PATCH] llvm-mc: Unique zero fill sections. llvm-svn: 80342 --- llvm/tools/llvm-mc/AsmParser.cpp | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/llvm/tools/llvm-mc/AsmParser.cpp b/llvm/tools/llvm-mc/AsmParser.cpp index 2c855d950fd6..9f219925b0f9 100644 --- a/llvm/tools/llvm-mc/AsmParser.cpp +++ b/llvm/tools/llvm-mc/AsmParser.cpp @@ -1287,15 +1287,10 @@ bool AsmParser::ParseDirectiveDarwinZerofill() { // If this is the end of the line all that was wanted was to create the // the section but with no symbol. if (Lexer.is(AsmToken::EndOfStatement)) { - // FIXME: CACHE THIS. - MCSection *S = 0; //Ctx.GetSection(Section); - if (S == 0) - S = MCSectionMachO::Create(Segment, Section, - MCSectionMachO::S_ZEROFILL, 0, - SectionKind(), Ctx); - // Create the zerofill section but no symbol - Out.EmitZerofill(S); + Out.EmitZerofill(getMachOSection(Segment, Section, + MCSectionMachO::S_ZEROFILL, 0, + SectionKind())); return false; } @@ -1348,16 +1343,13 @@ bool AsmParser::ParseDirectiveDarwinZerofill() { if (!Sym->isUndefined()) return Error(IDLoc, "invalid symbol redefinition"); - // FIXME: Arch specific. - // FIXME: CACHE. - MCSection *S = 0; //Ctx.GetSection(Section); - if (S == 0) - S = MCSectionMachO::Create(Segment, Section, - MCSectionMachO::S_ZEROFILL, 0, - SectionKind(), Ctx); - // Create the zerofill Symbol with Size and Pow2Alignment - Out.EmitZerofill(S, Sym, Size, Pow2Alignment); + // + // FIXME: Arch specific. + Out.EmitZerofill(getMachOSection(Segment, Section, + MCSectionMachO::S_ZEROFILL, 0, + SectionKind()), + Sym, Size, Pow2Alignment); return false; }