summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
* Forgot to output the base offset.Bill Wendling2009-07-291-4/+8
| | | | llvm-svn: 77505
* pass the mangler down into the various SectionForGlobal methods.Chris Lattner2009-07-291-2/+3
| | | | | | No functionality change. llvm-svn: 77432
* Move comment to above method.Bill Wendling2009-07-291-21/+21
| | | | llvm-svn: 77412
* - Temporarily unbreak the build by forcing the TType "absptr", which isn'tBill Wendling2009-07-292-50/+75
| | | | | | | correct. But what are you going to do? I'll fix this in the future. - Move another large loop into its own method. llvm-svn: 77408
* Cleanup code to use iterators instead of ".size()".Bill Wendling2009-07-281-21/+25
| | | | | | Does any one else hate the name "const_reverse_iterator" as much as I do? llvm-svn: 77399
* Doxygenify comments.Bill Wendling2009-07-282-2/+4
| | | | llvm-svn: 77394
* Split out large loop into it's very own method. No intended functionality ↵Bill Wendling2009-07-282-42/+62
| | | | | | change. llvm-svn: 77393
* Output the EH TType format and base offset only if there are types that we'reBill Wendling2009-07-281-6/+15
| | | | | | going to emit. llvm-svn: 77382
* Use the preferred EH data format for the preferred EH data format.Bill Wendling2009-07-281-2/+2
| | | | llvm-svn: 77373
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-283-18/+24
| | | | | | | | | | | | | | | | | | | | 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
* hoist MCContext/MCStreamer up to AsmPrinter since we're going to start creatingChris Lattner2009-07-271-0/+11
| | | | | | | MCSections soon instead of Section for all targets, and we need something to own them. llvm-svn: 77252
* Eliminate SectionFlags, just embed a SectionKind into SectionChris Lattner2009-07-271-10/+10
| | | | | | instead and drive things based off of that. llvm-svn: 77184
* Remove Value::getName{Start,End}, the last of the old Name APIs.Daniel Dunbar2009-07-263-6/+5
| | | | llvm-svn: 77152
* remove a densemap from TargetAsmInfo that was uniquing the targetflags strings,Chris Lattner2009-07-261-4/+8
| | | | | | just use a smallstring instead. llvm-svn: 77144
* make SectionKind know whether a symbol is weak or not in additionChris Lattner2009-07-261-8/+10
| | | | | | to its classification. llvm-svn: 77140
* rename Mergable -> Mergeable and Writable -> WriteableChris Lattner2009-07-261-5/+5
| | | | llvm-svn: 77138
* two files I missed in the last commit.Chris Lattner2009-07-261-6/+6
| | | | llvm-svn: 77137
* simplify getSectionForMergableConstant to take a SectionKind.Chris Lattner2009-07-261-5/+16
| | | | llvm-svn: 77134
* Remove Value::{isName, getNameRef}.Daniel Dunbar2009-07-251-1/+1
| | | | | | Also, change MDString to use a StringRef. llvm-svn: 77098
* remove a use of SectionFlagsForGlobal.Chris Lattner2009-07-241-3/+4
| | | | llvm-svn: 76970
* document SectionFlags::Named better and make it more easily greppable byChris Lattner2009-07-241-1/+1
| | | | | | eliminating isNamed. llvm-svn: 76946
* Put comment printing under asm-verbose.David Greene2009-07-221-13/+36
| | | | llvm-svn: 76780
* remove the SelectSectionForMachineConst hook, replacing it withChris Lattner2009-07-221-2/+7
| | | | | | | | a new getSectionForMergableConstant hook. This removes one dependence of TAI on Type, and provides the hook with enough info to make the right decision based on whether the global has relocations etc. llvm-svn: 76705
* make AsmPrinter::doFinalization iterate over the global variablesChris Lattner2009-07-211-0/+5
| | | | | | | and call PrintGlobalVariable, allowing elimination and simplification of various targets. llvm-svn: 76604
* Rename LessPrivateGlobalPrefix -> LinkerPrivateGlobalPrefix to match theChris Lattner2009-07-211-1/+1
| | | | | | LLVM IR concept. llvm-svn: 76590
* Pass in the unfortunately named "LessPrivatePrefix" for theBill Wendling2009-07-201-1/+2
| | | | | | | | "LinkerPrivatePrefix". It seems to have been used in only one place before I started this "linker_private" business. I'm thinking that a rename is in order... llvm-svn: 76479
* implement a new magic global "llvm.compiler.used" which is like llvm.used, butChris Lattner2009-07-202-3/+3
| | | | | | doesn't cause ".no_dead_strip" to be emitted on darwin. llvm-svn: 76399
* remove AsmPrinter::findGlobalValue, just use Value::stripPointerCasts instead.Chris Lattner2009-07-171-28/+3
| | | | llvm-svn: 76246
* Use more terse and precise linkage checks.Chris Lattner2009-07-171-15/+6
| | | | llvm-svn: 76237
* these two pieces of code are the same because we alwaysChris Lattner2009-07-171-12/+3
| | | | | | | emit the EHFrame label next to the section_eh_frame and eh_frame_common labels. llvm-svn: 76234
* Untangle a snarl that I discovered when updating the mangler,Chris Lattner2009-07-172-15/+9
| | | | | | | | | | | | | | starting in getCurrentFunctionEHName. Among other problems, we would try to privative a "foo.eh" label, but end up emitting the label as _Lfoo.eh instead of L_foo.eh on darwin. This is really bad, and the linker has always tolerated these labels existing. For now, just emit them as _foo.eh. This patch also fixes problems with ".eh" labels on unnamed functions and eliminates two strangely defined TargetAsmInfo hooks. llvm-svn: 76231
* fix include guard.Chris Lattner2009-07-171-2/+2
| | | | llvm-svn: 76228
* Emit line numbers in asm comments when available.David Greene2009-07-161-2/+15
| | | | llvm-svn: 76117
* Skip special LLVM prefix '1' while emitting linknage name.Devang Patel2009-07-161-4/+25
| | | | | | This prefix is used by LLVM to inform the asm printer to not emit usual global symbol prefix before the symbol name. llvm-svn: 75875
* remove printSuffixedName.Chris Lattner2009-07-151-27/+5
| | | | llvm-svn: 75742
* Have asm printers use formatted_raw_ostream directly to avoid aDavid Greene2009-07-141-4/+4
| | | | | | dynamic_cast<>. llvm-svn: 75670
* Reapply my previous asmprinter changes now with more testing and two Chris Lattner2009-07-141-11/+11
| | | | | | | | | | | | | | | | | | | | 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-143-14/+14
| | | | | | | | | 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-11/+11
| | | | | | | | | | | | | | | | | | --- 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-11/+11
| | | | | | dubious looking things that I need to investigate in more detail. llvm-svn: 75619
* Change the internal interface to makeNameProper to take a bool thatChris Lattner2009-07-142-4/+4
| | | | | | | | | | | | indicates whether the label is private or not, instead of taking prefix stuff. One effect of this is that symbols will be generated with *just* the private prefix, instead of both the private prefix *and* the user-label-prefix, but this doesn't matter as long as it is consistent. For example we'll now get "Lfoo" instead of "L_foo". These are just assembler temporary labels anyway, so they never even make it into the .o file. llvm-svn: 75607
* Do not use Mangler to remove '1' from linkage name.Devang Patel2009-07-141-13/+4
| | | | llvm-svn: 75574
* Use assertion.Devang Patel2009-07-131-2/+4
| | | | llvm-svn: 75540
* Use AsmPrinter's Mangler to remove leading '1' from linkage names.Devang Patel2009-07-131-4/+9
| | | | llvm-svn: 75515
* revert rev. 75503 for now.Devang Patel2009-07-132-19/+4
| | | | llvm-svn: 75507
* Use Mangler to remove leading '1' from linkage names.Devang Patel2009-07-132-4/+19
| | | | llvm-svn: 75503
* Add infrastructure to allow post instruction printing action triggers.David Greene2009-07-131-0/+13
| | | | | | | | | | | We'll eventually use this to print comments in asm files and do other fun things. This adds interfaces to the AsmPrinter and changes TableGen to invoke the postInstructionAction when appropriate. It also add parameters to TargetAsmInfo to control comment layout. llvm-svn: 75490
* assert(0) -> LLVM_UNREACHABLE.Torok Edwin2009-07-113-12/+14
| | | | | | | | | 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
* Convert more assert(0)+abort() -> LLVM_UNREACHABLE,Torok Edwin2009-07-112-31/+35
| | | | | | and abort()/exit() -> llvm_report_error(). llvm-svn: 75363
* Accidently dropped this while removing dead code in previous commit.Devang Patel2009-07-071-0/+1
| | | | llvm-svn: 74953
OpenPOWER on IntegriCloud