[llvm-commits] [llvm] r45848 - in /llvm/trunk/lib/Target: PowerPC/PPCAsmPrinter.cpp PowerPC/PPCTargetAsmInfo.cpp X86/X86AsmPrinter.cpp X86/X86TargetAsmInfo.cpp

Evan Cheng evan.cheng at apple.com
Thu Jan 10 16:59:08 PST 2008


How about ARM?

Evan

On Jan 10, 2008, at 4:54 PM, Dale Johannesen wrote:

> Author: johannes
> Date: Thu Jan 10 18:54:37 2008
> New Revision: 45848
>
> URL: http://llvm.org/viewvc/llvm-project?rev=45848&view=rev
> Log:
> Weak things initialized to 0 don't go in bss on Darwin.
> Cosmetic changes to spacing to match gcc (some dejagnu
> tests actually care).
>
>
> Modified:
>    llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
>    llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
>    llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp
>    llvm/trunk/lib/Target/X86/X86TargetAsmInfo.cpp
>
> Modified: llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp?rev=45848&r1=45847&r2=45848&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp Thu Jan 10  
> 18:54:37 2008
> @@ -767,7 +767,7 @@
>   case Function::InternalLinkage: return TAI->getTextSection();
>   case Function::WeakLinkage:
>   case Function::LinkOnceLinkage:
> -    return ".section  
> __TEXT,__textcoal_nt,coalesced,pure_instructions";
> +    return "\t.section  
> __TEXT,__textcoal_nt,coalesced,pure_instructions";
>   }
> }
>
> @@ -869,13 +869,13 @@
>
>   // Prime text sections so they are adjacent.  This reduces the  
> likelihood a
>   // large data or debug section causes a branch to exceed 16M limit.
> -  SwitchToTextSection(".section __TEXT,__textcoal_nt,coalesced,"
> +  SwitchToTextSection("\t.section __TEXT,__textcoal_nt,coalesced,"
>                       "pure_instructions");
>   if (TM.getRelocationModel() == Reloc::PIC_) {
> -    SwitchToTextSection(".section  
> __TEXT,__picsymbolstub1,symbol_stubs,"
> +    SwitchToTextSection("\t.section  
> __TEXT,__picsymbolstub1,symbol_stubs,"
>                           "pure_instructions,32");
>   } else if (TM.getRelocationModel() == Reloc::DynamicNoPIC) {
> -    SwitchToTextSection(".section  
> __TEXT,__symbol_stub1,symbol_stubs,"
> +    SwitchToTextSection("\t.section  
> __TEXT,__symbol_stub1,symbol_stubs,"
>                         "pure_instructions,16");
>   }
>   SwitchToTextSection(TAI->getTextSection());
> @@ -917,8 +917,7 @@
>
>     if (C->isNullValue() && /* FIXME: Verify correct */
>         !I->hasSection() &&
> -        (I->hasInternalLinkage() || I->hasWeakLinkage() ||
> -         I->hasLinkOnceLinkage() || I->hasExternalLinkage())) {
> +        (I->hasInternalLinkage() || I->hasExternalLinkage())) {
>       if (Size == 0) Size = 1;   // .comm Foo, 0 is undefined, avoid  
> it.
>       if (I->hasExternalLinkage()) {
>         O << "\t.globl " << name << '\n';
> @@ -941,7 +940,7 @@
>       case GlobalValue::WeakLinkage:
>         O << "\t.globl " << name << '\n'
>           << "\t.weak_definition " << name << '\n';
> -        SwitchToDataSection(".section  
> __DATA,__datacoal_nt,coalesced", I);
> +        SwitchToDataSection("\t.section  
> __DATA,__datacoal_nt,coalesced", I);
>         break;
>       case GlobalValue::AppendingLinkage:
>         // FIXME: appending linkage variables should go into a  
> section of
> @@ -1008,7 +1007,7 @@
>   if (TM.getRelocationModel() == Reloc::PIC_) {
>     for (std::set<std::string>::iterator i = FnStubs.begin(), e =  
> FnStubs.end();
>          i != e; ++i) {
> -      SwitchToTextSection(".section  
> __TEXT,__picsymbolstub1,symbol_stubs,"
> +      SwitchToTextSection("\t.section  
> __TEXT,__picsymbolstub1,symbol_stubs,"
>                           "pure_instructions,32");
>       EmitAlignment(4);
>       O << "L" << *i << "$stub:\n";
> @@ -1036,7 +1035,7 @@
>   } else {
>     for (std::set<std::string>::iterator i = FnStubs.begin(), e =  
> FnStubs.end();
>          i != e; ++i) {
> -      SwitchToTextSection(".section  
> __TEXT,__symbol_stub1,symbol_stubs,"
> +      SwitchToTextSection("\t.section  
> __TEXT,__symbol_stub1,symbol_stubs,"
>                           "pure_instructions,16");
>       EmitAlignment(4);
>       O << "L" << *i << "$stub:\n";
>
> Modified: llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp?rev=45848&r1=45847&r2=45848&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp Thu Jan 10  
> 18:54:37 2008
> @@ -53,7 +53,7 @@
>   UsedDirective = "\t.no_dead_strip\t";
>   WeakDefDirective = "\t.weak_definition ";
>   WeakRefDirective = "\t.weak_reference ";
> -  HiddenDirective = "\t.private_extern\t";
> +  HiddenDirective = "\t.private_extern ";
>   SupportsExceptionHandling = true;
>   NeedsIndirectEncoding = true;
>   NeedsSet = true;
>
> Modified: llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp?rev=45848&r1=45847&r2=45848&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp Thu Jan 10 18:54:37  
> 2008
> @@ -173,7 +173,7 @@
>     if (C->isNullValue() && !I->hasSection()) {
>       if (I->hasExternalLinkage()) {
>         if (const char *Directive = TAI->getZeroFillDirective()) {
> -          O << "\t.globl\t" << name << "\n";
> +          O << "\t.globl " << name << "\n";
>           O << Directive << "__DATA__, __common, " << name << ", "
>             << Size << ", " << Align << "\n";
>           continue;
> @@ -181,8 +181,9 @@
>       }
>
>       if (!I->isThreadLocal() &&
> -          (I->hasInternalLinkage() || I->hasWeakLinkage() ||
> -           I->hasLinkOnceLinkage())) {
> +          (I->hasInternalLinkage() ||
> +           (!Subtarget->isTargetDarwin() &&
> +            (I->hasWeakLinkage() || I->hasLinkOnceLinkage())))) {
>         if (Size == 0) Size = 1;   // .comm Foo, 0 is undefined,  
> avoid it.
>         if (!NoZerosInBSS && TAI->getBSSSection())
>           SwitchToDataSection(TAI->getBSSSection(), I);
> @@ -218,9 +219,9 @@
>     case GlobalValue::LinkOnceLinkage:
>     case GlobalValue::WeakLinkage:
>       if (Subtarget->isTargetDarwin()) {
> -        O << "\t.globl\t" << name << "\n"
> +        O << "\t.globl " << name << "\n"
>           << TAI->getWeakDefDirective() << name << "\n";
> -        SwitchToDataSection(".section  
> __DATA,__const_coal,coalesced", I);
> +        SwitchToDataSection("\t.section  
> __DATA,__datacoal_nt,coalesced", I);
>       } else if (Subtarget->isTargetCygMing()) {
>         std::string SectionName(".section\t.data$linkonce." +
>                                 name +
> @@ -244,7 +245,7 @@
>       // their name or something.  For now, just emit them as  
> external.
>     case GlobalValue::ExternalLinkage:
>       // If external or appending, declare as a global symbol
> -      O << "\t.globl\t" << name << "\n";
> +      O << "\t.globl " << name << "\n";
>       // FALL THROUGH
>     case GlobalValue::InternalLinkage: {
>       if (I->isConstant()) {
> @@ -348,7 +349,7 @@
>     unsigned j = 1;
>     for (std::set<std::string>::iterator i = FnStubs.begin(), e =  
> FnStubs.end();
>          i != e; ++i, ++j) {
> -      SwitchToDataSection(".section  
> __IMPORT,__jump_table,symbol_stubs,"
> +      SwitchToDataSection("\t.section  
> __IMPORT,__jump_table,symbol_stubs,"
>                           "self_modifying_code+pure_instructions,5",  
> 0);
>       O << "L" << *i << "$stub:\n";
>       O << "\t.indirect_symbol " << *i << "\n";
> @@ -369,7 +370,7 @@
>     // Output stubs for external and common global variables.
>     if (!GVStubs.empty())
>       SwitchToDataSection(
> -                    ".section  
> __IMPORT,__pointers,non_lazy_symbol_pointers");
> +                    "\t.section  
> __IMPORT,__pointers,non_lazy_symbol_pointers");
>     for (std::set<std::string>::iterator i = GVStubs.begin(), e =  
> GVStubs.end();
>          i != e; ++i) {
>       O << "L" << *i << "$non_lazy_ptr:\n";
>
> Modified: llvm/trunk/lib/Target/X86/X86TargetAsmInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetAsmInfo.cpp?rev=45848&r1=45847&r2=45848&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/lib/Target/X86/X86TargetAsmInfo.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86TargetAsmInfo.cpp Thu Jan 10  
> 18:54:37 2008
> @@ -78,7 +78,7 @@
>     UsedDirective = "\t.no_dead_strip\t";
>     WeakDefDirective = "\t.weak_definition ";
>     WeakRefDirective = "\t.weak_reference ";
> -    HiddenDirective = "\t.private_extern\t";
> +    HiddenDirective = "\t.private_extern ";
>
>     // In non-PIC modes, emit a special label before jump tables so  
> that the
>     // linker can perform more accurate dead code stripping.
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list