summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/DarwinTargetAsmInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove StringConstantPrefix now that the only userDuncan Sands2009-07-151-1/+0
| | | | | | (llvm-gcc) has gone. llvm-svn: 75781
* Reapply my previous asmprinter changes now with more testing and two Chris Lattner2009-07-141-3/+6
| | | | | | | | | | | | | | | | | | | | additional bug fixes: 1. The bug that everyone hit was a problem in the asmprinter where it would remove $stub but keep the L prefix on a name when emitting the indirect symbol. This is easy to fix by keeping the name of the stub and the name of the symbol in a StringMap instead of just keeping a StringSet and trying to reconstruct it late. 2. There was a problem printing the personality function. The current logic to print out the personality function from the DWARF information is a bit of a cesspool right now that duplicates a bunch of other logic in the asm printer. The short version of it is that it depends on emitting both the L and _ prefix for symbols (at least on darwin) and until I can untangle it, it is best to switch the mangler back to emitting both prefixes. llvm-svn: 75646
* llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin2009-07-141-2/+2
| | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
* Revert r7561{9,8,7,6}, which depend on r75610. Daniel Dunbar2009-07-141-6/+3
| | | | | | | | | | | | | | | | | | --- Reverse-merging r75619 into '.': U lib/Target/DarwinTargetAsmInfo.cpp U lib/CodeGen/AsmPrinter/AsmPrinter.cpp --- Reverse-merging r75618 into '.': U lib/CodeGen/ELFWriter.cpp U lib/CodeGen/MachOCodeEmitter.cpp U lib/CodeGen/MachOWriter.cpp --- Reverse-merging r75617 into '.': U lib/Target/CBackend/CBackend.cpp --- Reverse-merging r75616 into '.': U tools/bugpoint/Miscompilation.cpp U tools/lto/LTOCodeGenerator.cpp U tools/lto/LTOModule.cpp llvm-svn: 75638
* rename getValueName -> getMangledName. These two files have veryChris Lattner2009-07-141-3/+6
| | | | | | dubious looking things that I need to investigate in more detail. llvm-svn: 75619
* assert(0) -> LLVM_UNREACHABLE.Torok Edwin2009-07-111-2/+3
| | | | | | | | | Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
* merge the common darwin settings from the X86/PPC/ARM targetsChris Lattner2009-06-191-0/+47
| | | | | | | | 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
* Rename PaddedSize to AllocSize, in the hope that thisDuncan Sands2009-05-091-2/+2
| | | | | | | will make it more obvious what it represents, and stop it being confused with the StoreSize. llvm-svn: 71349
* Do not propagate ELF-specific stuff (data.rel) into other targets. This ↵Anton Korobeynikov2009-03-301-3/+0
| | | | | | simplifies code and also ensures correctness. llvm-svn: 68032
* Add data.rel stuffAnton Korobeynikov2009-03-301-0/+3
| | | | llvm-svn: 68031
* Introduce new linkage types linkonce_odr, weak_odr, common_odrDuncan Sands2009-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | 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/+2
| | | | | | | | | | | | 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
* Add the private linkage.Rafael Espindola2009-01-151-1/+1
| | | | llvm-svn: 62279
* Rename getABITypeSize to getTypePaddedSize, asDuncan Sands2009-01-121-2/+2
| | | | | | suggested by Chris. llvm-svn: 62099
* squash warnings.Devang Patel2009-01-051-0/+1
| | | | llvm-svn: 61707
* Refactor various TargetAsmInfo subclasses' TargetMachine members awayDan Gohman2008-11-031-7/+6
| | | | | | adding a TargetMachine member to the base TargetAsmInfo class instead. llvm-svn: 58624
* (re)Put const weak strings in appropriate section on Darwin.Dale Johannesen2008-10-081-1/+3
| | | | | | g++dg/abi/key2.C llvm-svn: 57309
* Rename isWeakForLinker to mayBeOverridden. Use itDuncan Sands2008-09-291-1/+1
| | | | | | | instead of hasWeakLinkage in a bunch of optimization passes. llvm-svn: 56782
* Get rid of ReadOnlySection duplicateAnton Korobeynikov2008-09-241-6/+6
| | | | llvm-svn: 56582
* Use named sections, where they should beAnton Korobeynikov2008-09-241-7/+5
| | | | llvm-svn: 56581
* Get rid of now unused {Four,Eight,Sixteen}ByteConstantSectionAnton Korobeynikov2008-09-241-8/+9
| | | | llvm-svn: 56580
* CleanupAnton Korobeynikov2008-09-241-1/+1
| | | | llvm-svn: 56578
* Cleanup, no functionality changeAnton Korobeynikov2008-09-241-2/+2
| | | | llvm-svn: 56576
* Get rid of duplicate char*/Section* DataSectionAnton Korobeynikov2008-09-241-1/+1
| | | | llvm-svn: 56575
* Get rid of duplicate char*/Section* TextSectionAnton Korobeynikov2008-09-241-1/+1
| | | | llvm-svn: 56574
* Move the uglier parts of deciding not to emit aDale Johannesen2008-09-091-0/+21
| | | | | | | | | UsedDirective for some symbols in llvm.used into Darwin-specific code. I've decided LessPrivateGlobal is potentially a useful abstraction and left it in the target-independent area, with improved comment. llvm-svn: 56024
* Undo most of r54519.Evan Cheng2008-08-081-9/+8
| | | | 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-8/+9
| | | | | | PIC relative constantpool. llvm-svn: 54519
* Add hook for constant pool section selection for darwin.Anton Korobeynikov2008-08-071-2/+20
| | | | llvm-svn: 54449
* Switch MIPS to new ELFTargetAsmInfo. Add few FIXMEs.Anton Korobeynikov2008-07-191-0/+1
| | | | llvm-svn: 53790
* Fix a FIXME :)Anton Korobeynikov2008-07-191-6/+5
| | | | llvm-svn: 53789
* Use generic ELFTargetAsmInfo and DarwinTargetAsmInfo for X86 codeAnton Korobeynikov2008-07-191-6/+6
| | | | llvm-svn: 53788
* Add TargetAsmInfo stuff for all darwin-based targetsAnton Korobeynikov2008-07-191-0/+129
llvm-svn: 53787
OpenPOWER on IntegriCloud