6c01492ac40bed9529a2f7c8d40da34b8f04365e |
|
25-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Prune some includes and forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153414 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
057d521e3d91a894f6c38fcbc21ee5950fbdf7b1 |
|
15-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
Modify the code that emits the module flags to use the new module flags accessor method. This allows the target lowering code to not have to deal with MDNodes. Also, avoid leaking memory like a sieve by not creating a global variable for the image info section, but just emitting the code directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
b464d3ff72790260e8c2068afe856fd7299a6834 |
|
14-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
Add code to the target lowering object file module to handle module flags. The MachO back-end needs to emit the garbage collection flags specified in the module flags. This is a WIP, so the front-end hasn't been modified to emit these flags just yet. Documentation and front-end switching to occur soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
4a99f59aef358fb93eac180e49f6dcef03822046 |
|
25-Jan-2012 |
Anton Korobeynikov <asl@math.spbu.ru> |
Properly emit ctors / dtors with priorities into desired sections and let linker handle the rest. This finally fixes PR5329 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
203576aa0cb9d8bf2d2e4d910ebab4b7a63262ae |
|
20-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc. There is still a bit more refactoring left to do in Targets. But we are now very close to fixing all the layering issues in MC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
e76a33b9567d78a5744dc52fcec3a6056d6fb576 |
|
20-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Add MCObjectFileInfo and sink the MCSections initialization code from TargetLoweringObjectFileImpl down to MCObjectFileInfo. TargetAsmInfo is done to one last method. It's *almost* gone! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
4c0c446d7458ffcfbe108ea71f1915f387e150e7 |
|
23-Jun-2011 |
Bill Wendling <isanbard@gmail.com> |
Use the presence of the __compact_unwind section to indicate that a target supports compact unwind info instead of having a separate flag indicating this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
1a3ab63cb59d7f7726b47cdda3b9509e999d1653 |
|
23-Jun-2011 |
Bill Wendling <isanbard@gmail.com> |
Add a flag that indicates whether a target supports compact unwind info or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
aa0a8f317791b4de07a6c7a2b9705c4183052b54 |
|
23-Jun-2011 |
Bill Wendling <isanbard@gmail.com> |
Add a __LD,__compact_unwind section. If the linker supports it, this will hold the CIE and FDE information in a compact format. The implementation of the compact unwinding emission is coming soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
7b06b7357aa5a7cbdd769edbf6edb10fa055ea09 |
|
27-May-2011 |
Charles Davis <cdavis@mines.edu> |
Add a parameter to the Win64 EH section getters to get a section with a suffix (e.g. .xdata$myfunc). The suffix part isn't implemented yet, but I'll get to it in the next patch. Fix up all callers of the affected functions. Make them pass said suffix to the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
f3ffc2cd76267b7901088ec5e46e875a2701bda9 |
|
21-May-2011 |
Charles Davis <cdavis@mines.edu> |
Add .pdata and .xdata sections to the COFF TLOF implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
087aad44cb37b361e8ed84f197138b366c764f9a |
|
05-May-2011 |
Bill Wendling <isanbard@gmail.com> |
Remove a flag that would set the ".eh" symbol as .globl. MachO was the only one who used this flag, and it now emits CFI and doesn't emit this anymore. All other targets left this flag "false". <rdar://problem/8486371> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
5426a9ee37667660935d80841c5392d78e254318 |
|
01-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
GCC uses a different encoding of pointers in the FDE when using -fno-dwarf2-cfi-asm. Implement the same behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
60246a96224c8b790177253bf25433b93b335d2b |
|
28-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove unnecessary argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
7afec9cc0ff1654619d30b6f30e2a4d13369c8bf |
|
28-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Rename getPersonalityPICSymbol to getCFIPersonalitySymbol, document it, and give it a bit more responsibility. Also implement it for MachO. If hacked to use cfi, 32 bit MachO will produce .cfi_personality 155, L___gxx_personality_v0$non_lazy_ptr and 64 bit will produce .cfi_presonality ___gxx_personality_v0 The general idea is that .cfi_personality gets passed the final symbol. It is up to codegen to produce it if using indirect representation (like 32 bit MachO), but it is up to MC to decide which relocations to create. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
4788c3e839203dc75ba9fe2026f315095677715c |
|
20-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove unused arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
30deafc84adf88f643cdc39dc97a37537155347f |
|
16-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Put each personality function in a section. This fixes the gnu ld warning: error in foo.o; no .eh_frame_hdr table will be created. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
0cf5e3d51dd455a174a8f00cfa6b63c11e535434 |
|
23-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Delay the creation of eh_frame so that the user can change the defaults. Add support for SHT_X86_64_UNWIND. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
8048ebe91d76f5ee58f5c2c7535151d782af4b29 |
|
27-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
the latest assembler that runs on powerpc 10.4 machines doesn't support aligned comm. Detect when compiling for 10.4 and don't emit an alignment for comm. THis will hopefully fix PR8198. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
46099f14dca0f72c53984f1562c1fc5f5082e748 |
|
22-May-2010 |
Eric Christopher <echristo@apple.com> |
Add a new section and accessor for TLS data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
42263e2e407ab7d1d805e7b41cffd7217134d3b6 |
|
11-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
fix a fixme in TargetLoweringObjectFile::getExprForDwarfReference where we used ot create an MCSymbol for ".". Now emit an assembler temporary label and reference it instead of "." textually. rdar://7739457 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
3192d14076dbe5724ce85b9d48644bb3c081f0e5 |
|
11-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
rename getSymbolForDwarf* to getExprForDwarf* since it returns an MCExpr and not an MCSymbol. Change it to take an MCStreamer, which is currently unused. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
09d53fecfcc93377627b6ee7b4d92f8a6ff152e9 |
|
10-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
move three lowering hooks from MAI to TLOF and make one of them semantic instead of syntactic. This completes MCization of darwin/x86[-64]! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
362dd0bef5437f85586c046bc53287b6fbe9c099 |
|
15-Feb-2010 |
Anton Korobeynikov <asl@math.spbu.ru> |
Move TLOF implementations to libCodegen to resolve layering violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
9184b25fa543a900463215c11635c2c014ddb623 |
|
15-Feb-2010 |
Anton Korobeynikov <asl@math.spbu.ru> |
Preliminary patch to improve dwarf EH generation - Hooks to return Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
814819f6ea7fb0638fe73920299fda0da941a59e |
|
19-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
stop using the .lcomm pseudoop on darwin, instead, directly use the .zerofill directive. Streamerize its generation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
c1ef06ac5264cb43f148590091606f0ed90a72e9 |
|
19-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
use BSSLocal classifier to identify 'lcomm' data instead of duplicating the logic (differently) in lots of different targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
6e3be14be4eadd9aefea654611c808eea9eb8aea |
|
19-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
change an accessor to a predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
aac138e84dee1cb3ffc1035b2a1e4361fe0b4f80 |
|
19-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
Cleanup handling of .zerofill on darwin: 1. TargetLoweringObjectFileMachO should decide if something goes in zerofill instead of having every target do it. 2. TargetLoweringObjectFileMachO should assign said symbols to the right MCSection, the asmprinters should just emit to the right section. 3. Since all zerofill stuff goes through mcstreamer anymore, MAI can have a bool "haszerofill" instead of having the textual directive to emit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
4813035b726e7f0a3fd17bec437185fc72a50988 |
|
13-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
change Mangler::makeNameProper to return its result in a SmallVector instead of returning it in an std::string. Based on this change: 1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef 2. Change a bunch of targets to call makeNameProper with a smallstring, making several of them *much* more efficient. 3. Rewrite Mangler::makeNameProper to not build names and then prepend prefixes, not use temporary std::strings, and to avoid other crimes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
2928c83b010f7cfdb0f819199d806f6942a7d995 |
|
06-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Pass StringRef by value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
29e066965fb84b3aad2840815c6d0602dafb0b17 |
|
01-Oct-2009 |
Bob Wilson <bob.wilson@apple.com> |
Use OutStreamer.SwitchSection instead of writing out textual section directives. Add a new TargetLoweringObjectFileMachO::getConstTextCoalSection method to get access to that section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
8609c7c931c0213d6d29f665df2110cf3c709e4c |
|
17-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
pass machinemoduleinfo down into getSymbolForDwarfGlobalReference, currently unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
8c6ed05157e9c97ff8f3ccb211dd797e53228da1 |
|
16-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
Big change #1 for personality function references: Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding fields from MAI: they aren't part of the asm syntax, they are related to the structure of the object file. To replace their functionality, add a new TLOF::getSymbolForDwarfGlobalReference method which asks targets to decide how to reference a global from EH in a pc-relative way. The default implementation just returns the symbol. The default darwin implementation references the symbol through an indirect $non_lazy_ptr stub. The bizarro x86-64 darwin specialization handles the weird "foo@GOTPCREL+4" hack. DwarfException.cpp now uses this to emit the reference to the symbol in the right way, and this also eliminates another horrible hack from DwarfException.cpp: - if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL")) - O << "-" << MAI->getPCSymbol(); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
af76e592c7f9deff0e55c13dbb4a34f07f1c7f64 |
|
22-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
fdf229eda95a542fc34d5182e1a91a22789ba122 |
|
14-Aug-2009 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Remove HasCrazyBSS and add a flag in TAI to indicate that '.section' must be emitted for PowerPC-Linux '.bss' section git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
b8e1055f41526a852dec2c9565ba1afd2706eee8 |
|
13-Aug-2009 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add a method to return BSSSection from TargetLoweringObjectFile git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
b808588a3a5febe931896b3779d159ba90d836f7 |
|
13-Aug-2009 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Change MCSectionELF to represent a section semantically instead of syntactically as a string, very similiar to what Chris did with MachO. The parsing support and validation is not introduced yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
38cff389af1d78bd80df0479ef258493e0c5897e |
|
13-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
sink uniquing of sections out of MCContext into the ELF and PECOFF TLOF implementations. MCContext no longer maintains a string -> section map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
e309cfa0d8945af47dd798357549c815164d53d6 |
|
13-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
reject invalid code like: int x __attribute__((section("_foo, _bar"))) = 4; int y __attribute__((section("_foo, _bar, 4byte_literals"))) = 1; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
5dc47ff03975b9adde9dd833db2b646eb4295710 |
|
13-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
implement support for uniquing MachO sections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
d3c4486f46226fb328ceb16d55927472fb3e0f6d |
|
13-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
reduce #includage git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
ff4bc460c52c1f285d8a56da173641bf92d49e3f |
|
10-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Make the big switch: Change MCSectionMachO to represent a section *semantically* instead of syntactically as a string. This means that it keeps track of the segment, section, flags, etc directly and asmprints them in the right format. This also includes parsing and validation support for llvm-mc and "attribute(section)", so we should now start getting errors about invalid section attributes from the compiler instead of the assembler on darwin. Still todo: 1) Uniquing of darwin mcsections 2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h] 3) there are a few FIXMEs, for example what is the syntax to get the S_GB_ZEROFILL segment type? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
892e18239308f8a02a4c83758616be84a459c19d |
|
09-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
1. Make MCSection an abstract class. 2. Move section switch printing to MCSection virtual method which takes a TAI. This eliminates textual formatting stuff from TLOF. 3. Eliminate SwitchToSectionDirective, getSectionFlagsAsString, and TLOFELF::AtIsCommentChar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
5277b22687d3513dd29d5a9c8510cac740f933f6 |
|
08-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate TargetLoweringObjectFileSparc in favor of a TAI hook. A TAI hook is appropriate in this case because this is just an asm syntax issue, not a semantic difference. TLOF should model the semantics of the section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
0c0cb7123346beab4e0d3ad6ce9570560b14971e |
|
08-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
now that getOrCreateSection is all object-file specific, give the impls an object-file-specific name. In the future they can take different arguments etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
fbf1d271e6a7157c1b5432e84d5633f63869b5a8 |
|
08-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
sink getOrCreateSection down into all the object file implementations, now that they create *all* the sections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
24f654c8a4d14066233480f683d3b0dececf374a |
|
06-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Fix several fixmes and clean up code by sinking *all* section creation activity into the target-specific subclasses of TLOF. Before this, globals with explicit sections could be created by the base class. 1. make getOrCreateSection protected, add a new getExplicitSectionGlobal pure virtual method to assign sections to globals with a specified section. 2. eliminate getSpecialCasedSectionGlobals, which is now PIC specific. 3. eliminate the getKindForNamedSection virtual method, which is now just a static method for ELF. 4. Add implementions of getExplicitSectionGlobal for ELF/PECOFF/Darwin/PIC16. They are now all detangled and understandable, woo! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
58bed8fc29b6e55e7014dcb537808043c946cd73 |
|
05-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
expose SectionKindForGlobal to curious clients, named as getKindForGlobal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
ec409759e94cc395e4896ba6ade3fa77200c5cfd |
|
04-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
enhance codegen to put 16-bit character strings into the __TEXT,__ustring section on darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
7e88a50428377813606c66ac47111d9c3ea44feb |
|
04-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
fix a fixme: don't create an explicit "CStringSection" for ELF, it is just being used as a prefix, so forward substitute it directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
11e9657eeb76dff6baaab1cbac0b1fb7e1abb439 |
|
03-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Eliminate textual section switching from the x86 backend, one more step towards "semantics sections" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
18a4c16726db2b8874c7b84d04650dda80746074 |
|
02-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
move dwarf debug info section selection stuff from TAI to TLOF, unifying all the dwarf targets at the same time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
35039ac24163e99cfab161620a9fb41f944a63d5 |
|
02-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
convert EHFrameSection to be managed by TLOF instead of TAI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
d5bbb07ec806e6fa1e804afd7073987fdacc83e4 |
|
02-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
move getDwarfExceptionSection from TAI to TLOF and rename it to getLSDASection() to be more specific. This makes it pretty obvious that the ELF LSDA section is being specified wrong in PIC mode. We're probably getting a lot of startup-time relocations to a readonly page, which is expensive and bad. Someone who cares about ELF C++ should investigate this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
80ec2792b2b271eca55743a3cc4c8bca214fa705 |
|
02-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
convert ctors/dtors section to be in TLOF instead of TAI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
83d77faf6e8fc2c1c2377d037283dc162d8667a1 |
|
02-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Remove "JumpTableDataSection" from TAI, instead, have AsmPrinter compute it based on what it knows. As part of this, rename getSectionForMergeableConstant to getSectionForConstant because it works for non-mergable constants also. The only functionality change from this is that Xcore will start dropping its jump tables into readonly section instead of data section in -static mode. This should be fine as the linker resolves the relocations. If this is a problem, let me know and we'll come up with another solution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
824583844a8f334dd261894a3fac7ad476531667 |
|
01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
fix a fixme by sinking various target-specific directives down into the appropriate subclasses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
f9650c061ee89ac55740555530ca5c2842c28738 |
|
01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
it turns out that isWeak() was basically dead anyway. Kill off SectionInfo :-/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
0064e85050e3a324aa66ee29af56546e0c31f6cc |
|
01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
fix a layering violation by moving SectionKind out to its own header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
423d190dbe04d14782bbf9aa1e8ecb896870adb7 |
|
01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
with the previous refactoring, fixme fixed! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
968ff1196768c0b6dbcc5508025a2923bfa73fab |
|
01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Change SectionKind to be a property that is true of a *section*, it should have no state that is specific to particular globals in the section. In this case, it means the removal of the "isWeak" and "ExplicitSection" bits. MCSection uses the new form of SectionKind. To handle isWeak, I introduced a new SectionInfo class, which is SectionKind + isWeak, and it is used by the part of the code generator that does classification of a specific global. The ExplicitSection disappears. It is moved onto MCSection as a new "IsDirective" bit. Since the Name of a section is either a section or directive, it makes sense to keep this bit in MCSection. Ultimately the creator of MCSection should canonicalize (e.g.) .text to whatever the actual section is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
26630c1180502d07c9b2b4a9a4ba06bc5ddf180b |
|
31-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
move emitUsedDirectiveFor to TargetLoweringObjectFile and rename it to indicate that it is a predicate, not an emitter. This eliminates TAI dependencies on Mangler and GlobalValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
a87dea4f8c546ca748f1777a8d1cabcc06515d91 |
|
31-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
switch off of 'Section' onto MCSection. We're not properly using MCSection subclasses yet, but this is a step in the right direction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
f26e03bc7e30162197641406e37e662a15d80f7e |
|
31-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
refactor section construction in TLOF to be through an explicit initialize method, which can be called when an MCContext is available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
23b6ecffe1ee5992cc1e057850bb1f36bc237ac0 |
|
31-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
move the sectionkind and section classes to TargetLoweringObjectFile.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
e53a600f065075731d0aeb9dc8f4f3d75f5a05f8 |
|
29-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
pass the mangler down into the various SectionForGlobal methods. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
4bb253c60f895131371aa2ad1bfa5a2bea213f78 |
|
28-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
the apple "ld_classic" linker doesn't support .literal16 in 32-bit mode, and "ld64" (the default linker) falls back to it in -static mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|
f0144127b98425d214e59e4a1a4b342b78e3642b |
|
28-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
Rip all of the global variable lowering logic out of TargetAsmInfo. Since it is highly specific to the object file that will be generated in the end, this introduces a new TargetLoweringObjectFile interface that is implemented for each of ELF/MachO/COFF/Alpha/PIC16 and XCore. Though still is still a brutal and ugly refactoring, this is a major step towards goodness. This patch also: 1. fixes a bunch of dangling pointer problems in the PIC16 backend. 2. disables the TargetLowering copy ctor which PIC16 was accidentally using. 3. gets us closer to xcore having its own crazy target section flags and pic16 not having to shadow sections with its own objects. 4. fixes wierdness where ELF targets would set CStringSection but not CStringSection_. Factor the code better. 5. fixes some bugs in string lowering on ELF targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Target/TargetLoweringObjectFile.h
|