summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/TargetAsmInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Honour relocation behaviour stuff for ro objectsAnton Korobeynikov2009-03-291-3/+22
| | | | llvm-svn: 68005
* Introduce new linkage types linkonce_odr, weak_odr, common_odrDuncan Sands2009-03-071-2/+2
| | | | | | | | | | | | | | | | | | | | | and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing. llvm-svn: 66339
* Treat [1 x i8] zeroinitializer as a C string, placing such stuff intoAnton Korobeynikov2009-01-271-2/+21
| | | | | | | | | | | | mergeable string section. I don't see any bad impact of such decision (rather then placing it into mergeable const section, as it was before), but at least Darwin linker won't complain anymore. The problem in LLVM is that we don't have special type for string constants (like gcc does). Even more, we have two separate types: ConstatArray for non-null strings and ConstantAggregateZero for null stuff.... It's a bit weird :) llvm-svn: 63142
* Make the Dwarf macro information section optional; CellSPU's assemblerScott Michel2009-01-261-0/+1
| | | | | | | doesn't support it. The default is set to 'true', so this should not impact any other target backends. llvm-svn: 63058
* Revert r61415 and r61484. Duncan was correct that these weren't needed.Bill Wendling2009-01-051-2/+0
| | | | llvm-svn: 61765
* squash warnings.Devang Patel2009-01-051-0/+1
| | | | llvm-svn: 61707
* Linux wants the FDE initial location and address range to be forced to 32-bit.Bill Wendling2008-12-291-0/+1
| | | | | | Darwin doesn't. Make this optional for platforms. llvm-svn: 61484
* Darwin likes for the EH frame to be non-local.Bill Wendling2008-12-241-0/+1
| | | | llvm-svn: 61420
* GCC doesn't emit DW_EH_PE_sdata4 for the FDE encoding on Darwin. I'm not sureBill Wendling2008-12-241-0/+1
| | | | | | about other platforms. llvm-svn: 61415
* Fix bug 3140.Rafael Espindola2008-12-031-0/+1
| | | | | | Print a single parameter .file directive if we have an ELF target. llvm-svn: 60480
* Refactor various TargetAsmInfo subclasses' TargetMachine members awayDan Gohman2008-11-031-5/+2
| | | | | | adding a TargetMachine member to the base TargetAsmInfo class instead. llvm-svn: 58624
* Rename isWeakForLinker to mayBeOverridden. Use itDuncan Sands2008-09-291-2/+2
| | | | | | | instead of hasWeakLinkage in a bunch of optimization passes. llvm-svn: 56782
* Reapply 56585:56589 with proper fix for some gcc versionsAnton Korobeynikov2008-09-251-90/+98
| | | | llvm-svn: 56621
* Temporarily backing out 56585:56589 to unbreak the build.Evan Cheng2008-09-251-98/+90
| | | | llvm-svn: 56607
* Use crazy template-based inheritance instead of virtual one.Anton Korobeynikov2008-09-241-90/+98
| | | | llvm-svn: 56585
* Get rid of ReadOnlySection duplicateAnton Korobeynikov2008-09-241-3/+2
| | | | llvm-svn: 56582
* Get rid of now unused {Four,Eight,Sixteen}ByteConstantSectionAnton Korobeynikov2008-09-241-6/+0
| | | | llvm-svn: 56580
* Get rid of duplicate char*/Section* stuff for TLS sectionsAnton Korobeynikov2008-09-241-4/+2
| | | | llvm-svn: 56577
* Get rid of duplicate char*/Section* DataSectionAnton Korobeynikov2008-09-241-5/+4
| | | | llvm-svn: 56575
* Get rid of duplicate char*/Section* TextSectionAnton Korobeynikov2008-09-241-4/+3
| | | | llvm-svn: 56574
* Move actual section printing stuff to AsmPrinter from TAI reducing heap traffic.Anton Korobeynikov2008-09-241-8/+2
| | | | llvm-svn: 56573
* 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
* Add interface for section override. Use this for Sparc, since it should use ↵Anton Korobeynikov2008-08-161-4/+6
| | | | | | named BSS section. llvm-svn: 54844
* Move SLEB/ULEB size calculation routines from AsmPrinter to TargetAsmInfo. ↵Anton Korobeynikov2008-08-161-0/+23
| | | | | | This makes JIT asmprinter-free. llvm-svn: 54843
* Reduce heap trashing due to std::string construction / concatenation via ↵Anton Korobeynikov2008-08-161-1/+14
| | | | | | caching of section flags string representations llvm-svn: 54842
* Undo most of r54519.Evan Cheng2008-08-081-4/+4
| | | | llvm-svn: 54534
* It's not legal to output a GV in a coalesced section if it's used in an ARM ↵Evan Cheng2008-08-081-4/+4
| | | | | | PIC relative constantpool. llvm-svn: 54519
* Provide convenient helpersAnton Korobeynikov2008-08-071-8/+2
| | | | llvm-svn: 54451
* Select section for constant pool entriesAnton Korobeynikov2008-08-071-0/+7
| | | | llvm-svn: 54448
* Provide default implementation of different small-sections related stuffAnton Korobeynikov2008-07-221-3/+21
| | | | llvm-svn: 53920
* Basic support for small sectionsBruno Cardoso Lopes2008-07-221-0/+3
| | | | llvm-svn: 53907
* TargetAsmInfo::SectionForGlobal showed up in a profile. Simplify it a little.Dan Gohman2008-07-151-5/+3
| | | | llvm-svn: 53639
* Use only 'subset' of flagsAnton Korobeynikov2008-07-091-11/+3
| | | | llvm-svn: 53323
* First sketch of special section objectsAnton Korobeynikov2008-07-091-22/+60
| | | | llvm-svn: 53320
* Use isWeakForLinker() hookAnton Korobeynikov2008-07-091-6/+2
| | | | llvm-svn: 53318
* Fix several bugs in named sections handlingAnton Korobeynikov2008-07-091-2/+2
| | | | llvm-svn: 53312
* Add hacky way to distinguish named and named sections. This will be ↵Anton Korobeynikov2008-07-091-41/+46
| | | | | | generalized in the future. llvm-svn: 53311
* Use 'gnu.linkonce', where neededAnton Korobeynikov2008-07-091-6/+9
| | | | llvm-svn: 53310
* Fix thinkoAnton Korobeynikov2008-07-091-4/+3
| | | | llvm-svn: 53309
* Provide section selection for X86 ELF targetsAnton Korobeynikov2008-07-091-0/+3
| | | | llvm-svn: 53305
* Provide general hook for section name calculationAnton Korobeynikov2008-07-091-4/+35
| | | | llvm-svn: 53304
* Properly handle linkonce stuffAnton Korobeynikov2008-07-091-0/+23
| | | | llvm-svn: 53296
* Provide skeletone code for calculation of section, where global should be ↵Anton Korobeynikov2008-07-091-1/+1
| | | | | | emitted into llvm-svn: 53295
* Use 'llvm-linkonce' consistentlyAnton Korobeynikov2008-07-091-3/+3
| | | | llvm-svn: 53294
* Add default section name resolution routineAnton Korobeynikov2008-07-091-0/+12
| | | | llvm-svn: 53292
* ConstifyAnton Korobeynikov2008-07-091-1/+1
| | | | llvm-svn: 53291
* Add code for default section falgs computationAnton Korobeynikov2008-07-091-0/+63
| | | | llvm-svn: 53290
* 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
* Start refactoring of asmprinters: provide a TAI hook, which will select a ↵Anton Korobeynikov2008-06-281-0/+49
| | | | | | 'section kind' for a global. llvm-svn: 52868
OpenPOWER on IntegriCloud