summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-58/+0
| | | | llvm-svn: 79763
* Remove HasCrazyBSS and add a flag in TAI to indicate that '.section' Bruno Cardoso Lopes2009-08-131-0/+3
| | | | | | must be emitted for PowerPC-Linux '.bss' section llvm-svn: 78958
* Revert 78892 and 78895, these break generating working executables onDaniel Dunbar2009-08-131-9/+5
| | | | | | | | | | | | | | | | | | | | | x86_64-apple-darwin10. --- Reverse-merging r78895 into '.': U test/CodeGen/PowerPC/2008-12-12-EH.ll U lib/Target/DarwinTargetAsmInfo.cpp --- Reverse-merging r78892 into '.': U include/llvm/Target/DarwinTargetAsmInfo.h U lib/Target/X86/X86TargetAsmInfo.cpp U lib/Target/X86/X86TargetAsmInfo.h U lib/Target/ARM/ARMTargetAsmInfo.h U lib/Target/ARM/ARMTargetMachine.cpp U lib/Target/ARM/ARMTargetAsmInfo.cpp U lib/Target/PowerPC/PPCTargetAsmInfo.cpp U lib/Target/PowerPC/PPCTargetAsmInfo.h U lib/Target/PowerPC/PPCTargetMachine.cpp G lib/Target/DarwinTargetAsmInfo.cpp llvm-svn: 78919
* fix a minor fixme. When building with SL and later tools, the ".eh" symbolsChris Lattner2009-08-131-5/+9
| | | | | | don't need to be exported from the .o files. llvm-svn: 78892
* fix CodeGen/PowerPC/2007-01-15-AsmDialect.ll, fallout from r78742Chris Lattner2009-08-111-2/+2
| | | | llvm-svn: 78747
* pass "is64Bit" flag into PPC TAI ctors instead of a whole targetmachine.Chris Lattner2009-08-111-16/+5
| | | | llvm-svn: 78743
* eliminate asmflavor from subtarget, PPCTAI is the only clientChris Lattner2009-08-111-3/+3
| | | | | | and each callee knows that it returns. llvm-svn: 78742
* Change the asmprinter to print the comment character before theChris Lattner2009-08-111-4/+0
| | | | | | | | | | "inlineasmstart/end" strings so that the contents of the directive are separate from the comment character. This lets elf targets get #APP/#NOAPP for free even if they don't use "#" as the comment character. This also allows hoisting the darwin stuff up to the shared TAI class. llvm-svn: 78737
* factorize more darwin TAI stuff. Note that this givesChris Lattner2009-08-111-6/+0
| | | | | | darwin/arm support for .no_dead_strip llvm-svn: 78734
* factorize darwin ProtectedDirective and SetDirective.Chris Lattner2009-08-111-2/+2
| | | | llvm-svn: 78732
* all darwin targets have .space and .zerofill, pull up.Chris Lattner2009-08-111-1/+0
| | | | llvm-svn: 78730
* move LCOMMDirective = "\t.lcomm\t" up to DarwinTAI, eliminateChris Lattner2009-08-111-8/+27
| | | | | | template in PPC backend for TAI. llvm-svn: 78727
* SjLj based exception handling unwinding support. This patch is nasty, brutishJim Grosbach2009-08-111-3/+3
| | | | | | | | | | | | | and short. Well, it's kinda short. Definitely nasty and brutish. The front-end generates the register/unregister calls into the SjLj runtime, call-site indices and landing pad dispatch. The back end fills in the LSDA with the call-site information provided by the front end. Catch blocks are not yet implemented. Built on Darwin and verified no llvm-core "make check" regressions. llvm-svn: 78625
* move dwarf debug info section selection stuff from TAI toChris Lattner2009-08-021-11/+0
| | | | | | TLOF, unifying all the dwarf targets at the same time. llvm-svn: 77889
* convert EHFrameSection to be managed by TLOF instead of TAI.Chris Lattner2009-08-021-3/+0
| | | | llvm-svn: 77888
* remove TargetAsmInfo::TM, which is now dead. The basic TAI class now Chris Lattner2009-08-021-1/+1
| | | | | | no longer depends on TM! llvm-svn: 77863
* remove the x86/ppc impls of getEHGlobalPrefix, which is already dead.Chris Lattner2009-08-021-7/+0
| | | | llvm-svn: 77861
* move getDwarfExceptionSection from TAI to TLOF and rename it to Chris Lattner2009-08-021-2/+0
| | | | | | | | | | | 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. llvm-svn: 77847
* don't override the default of this, the only difference is \t instead of ' '.Chris Lattner2009-08-021-2/+0
| | | | llvm-svn: 77838
* REmove dead fields of TAI.Chris Lattner2009-08-011-5/+0
| | | | llvm-svn: 77820
* remove the PPCLinuxTargetAsmInfo implementation of PreferredEHDataFormat,Chris Lattner2009-07-311-31/+0
| | | | | | | | | | because it just calls the default impl. Remove the PPCDarwinTargetAsmInfo version of PreferredEHDataFormat because it just returns DW_EH_PE_absptr unless on 10.6. However, 10.6 doesn't support PPC, so the default impl is just fine. llvm-svn: 77724
* Change the "PreferredEHDataFormat" from "absptr" if we're on a Darwin system >Bill Wendling2009-07-291-5/+9
| | | | | | Leopard. llvm-svn: 77414
* Output the correct format for Darwin.Bill Wendling2009-07-281-5/+7
| | | | llvm-svn: 77376
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-281-3/+0
| | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 77294
* Eliminate getNamed/getUnnamedSection, adding a new and unified ↵Chris Lattner2009-07-271-1/+1
| | | | | | | | getOrCreateSection instead. llvm-svn: 77186
* Eliminate SectionFlags, just embed a SectionKind into SectionChris Lattner2009-07-271-4/+2
| | | | | | instead and drive things based off of that. llvm-svn: 77184
* untangle a TargetAsmInfo hack where ELFTargetAsmInfo would create aChris Lattner2009-07-261-7/+4
| | | | | | | | | 'unnamed' bss section, but some impls would want a named one. Since they don't have consistent behavior, just make each target do their own thing, instead of doing something "sortof common" then having targets change immutable objects later. llvm-svn: 77165
* this is (unfortunately) several changes mixed together:Chris Lattner2009-07-251-1/+1
| | | | | | | | | | | | | | 1. Spell SectionFlags::Writeable as "Writable". 2. Add predicates for deriving SectionFlags from SectionKinds. 3. Sink ELF-specific getSectionPrefixForUniqueGlobal impl into ELFTargetAsmInfo. 4. Fix SectionFlagsForGlobal to know that BSS/ThreadBSS has the BSS bit set (the real fix for PR4619). 5. Fix isSuitableForBSS to not put globals with explicit sections set in BSS (which was the reason #4 wasn't fixed earlier). 6. Remove my previous hack for PR4619. llvm-svn: 77085
* merge the common darwin settings from the X86/PPC/ARM targetsChris Lattner2009-06-191-42/+2
| | | | | | | | into DarwinTargetAsmInfo.cpp. The remaining differences should be evaluated. It seems strange that x86/arm has .zerofill but ppc doesn't, etc. llvm-svn: 73742
* move mangler quote handling from asm printers to TargetAsmInfo.Chris Lattner2009-06-181-0/+1
| | | | llvm-svn: 73738
* simplify macro debug info directive handling.Chris Lattner2009-06-181-2/+2
| | | | llvm-svn: 73736
* On Darwin, ams printer should output a second label before a jump table so ↵Evan Cheng2009-06-181-4/+3
| | | | | | the linker knows it's a new atom. But this is only needed if the jump table is put in a separate section from the function body. llvm-svn: 73720
* Fix bug 3202.Rafael Espindola2008-12-191-1/+10
| | | | | | | The EH_frame and .eh symbols are now private, except for darwin9 and earlier. The patch also fixes the definition of PrivateGlobalPrefix on pcc linux. llvm-svn: 61242
* Fix bug 3140.Rafael Espindola2008-12-031-0/+1
| | | | | | Print a single parameter .file directive if we have an ELF target. llvm-svn: 60480
* Fix weird think-o and unbreak build on all gcc-3.4.x-based platforms (e.g. ↵Anton Korobeynikov2008-10-051-2/+3
| | | | | | mingw) llvm-svn: 57106
* Reapply 56585:56589 with proper fix for some gcc versionsAnton Korobeynikov2008-09-251-14/+3
| | | | llvm-svn: 56621
* Temporarily backing out 56585:56589 to unbreak the build.Evan Cheng2008-09-251-3/+14
| | | | llvm-svn: 56607
* Minor cleanupAnton Korobeynikov2008-09-241-0/+2
| | | | llvm-svn: 56588
* Get rid of virtual inheritance for PPC TAIAnton Korobeynikov2008-09-241-15/+2
| | | | llvm-svn: 56586
* Get rid of ReadOnlySection duplicateAnton Korobeynikov2008-09-241-2/+0
| | | | llvm-svn: 56582
* Get rid of now unused {Four,Eight,Sixteen}ByteConstantSectionAnton Korobeynikov2008-09-241-5/+0
| | | | llvm-svn: 56580
* Fix logic for not emitting no-dead-strip for someDale Johannesen2008-09-091-0/+1
| | | | | | | | | | objects in llvm.used (thanks Anton). Makes visible the magic 'l' prefix for symbols on Darwin which are to be passed through the assembler, then removed at linktime (previously all references to this had been hidden in the ObjC FE code, oh well). llvm-svn: 55973
* PPC/Linux normally uses named section for bssAnton Korobeynikov2008-08-161-0/+5
| | | | llvm-svn: 54847
* Use proper strings section name for PPCAnton Korobeynikov2008-08-161-1/+1
| | | | llvm-svn: 54846
* Convert PPC/Linux to new section printing stuffAnton Korobeynikov2008-08-081-3/+2
| | | | llvm-svn: 54538
* Switch PPC/Darwin to new section handling stuffAnton Korobeynikov2008-08-081-4/+3
| | | | llvm-svn: 54537
* Unbreak build: 'DarwinTargetAsmInfo' was already taken as PPC TAI flavour.Anton Korobeynikov2008-07-191-6/+8
| | | | llvm-svn: 53801
* Linux also does not require exception handlingDuncan Sands2008-07-041-1/+0
| | | | | | | | | moves in order to get correct debug info. Since I can't imagine how any target could possibly be any different, I've just stripped out the option: now all the world's like Darwin! llvm-svn: 53134
* Darwin doesn't need exception handling information for the "move" info whenBill Wendling2008-07-011-0/+1
| | | | | | debug information is being output, because it's leet! llvm-svn: 52994
* Add StringConstantPrefix to control what theDale Johannesen2008-06-031-0/+1
| | | | | | assembler names of string constants look like. llvm-svn: 51909
OpenPOWER on IntegriCloud