Changes in directory llvm/lib/Target/PowerPC:
PPCAsmPrinter.cpp updated: 1.210 -> 1.211 --- Log message: Prime text sections to improve branch locality in large object files. --- Diffs of the changes: (+13 -0) PPCAsmPrinter.cpp | 13 +++++++++++++ 1 files changed, 13 insertions(+) Index: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp diff -u llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.210 llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.211 --- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.210 Fri Nov 17 19:23:56 2006 +++ llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp Tue Nov 28 12:21:52 2006 @@ -543,6 +543,19 @@ // Darwin wants symbols to be quoted if they have complex names. Mang->setUseQuotes(true); + // 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," + "pure_instructions"); + if (TM.getRelocationModel() == Reloc::PIC_) { + SwitchToTextSection(".section __TEXT,__picsymbolstub1,symbol_stubs," + "pure_instructions,32"); + } else if (TM.getRelocationModel() == Reloc::DynamicNoPIC) { + SwitchToTextSection(".section __TEXT,__symbol_stub1,symbol_stubs," + "pure_instructions,16"); + } + SwitchToTextSection(TAI->getTextSection()); + // Emit initial debug information. DW.BeginModule(&M); return false; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits