summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Remove dead code.Devang Patel2009-07-072-32/+2
| | | | llvm-svn: 74949
* Remove unused AsmPrinter OptLevel argument, and propogate.Daniel Dunbar2009-07-011-2/+2
| | | | | | | - This more or less amounts to a revert of r65379. I'm curious to know what happened that caused this variable to become unused. llvm-svn: 74579
* Struct types are described using field types only.Devang Patel2009-06-291-3/+0
| | | | llvm-svn: 74477
* s/MainCU/ModuleCU/gDevang Patel2009-06-292-30/+29
| | | | llvm-svn: 74452
* Multiple DW_TAG_compile_unit is not used, afaict, on any target.Devang Patel2009-06-291-103/+41
| | | | | | Update dwarf writer to only emit one DW_TAG_compile_unit per .o file. llvm-svn: 74449
* Remove debug info anchors - llvm.dbg.compile_units, llvm.dbg.subprogramsDevang Patel2009-06-262-94/+28
| | | | | | and llvm.dbg.global_variables. llvm-svn: 74251
* Simplify.Devang Patel2009-06-254-22/+12
| | | | llvm-svn: 74215
* Privatize some more debug-related static data.Owen Anderson2009-06-251-2/+2
| | | | llvm-svn: 74179
* Down with _even more_ statics!Owen Anderson2009-06-242-2/+5
| | | | llvm-svn: 74137
* Down with statics!Owen Anderson2009-06-241-2/+4
| | | | llvm-svn: 74134
* Move local statics to per-instance variables.Owen Anderson2009-06-241-9/+4
| | | | llvm-svn: 74132
* sink management of DwarfWriter & MachineModuleInfo into the AsmPrinter base ↵Chris Lattner2009-06-241-10/+10
| | | | | | class. llvm-svn: 74101
* sink dwarf finalization out of each target into AsmPrinter::doFinalizationChris Lattner2009-06-241-0/+4
| | | | llvm-svn: 74097
* eliminate the ExtWeakSymbols set from AsmPrinter. This eliminatesChris Lattner2009-06-241-8/+21
| | | | | | | a bunch of code from all the targets, and eliminates nondeterministic ordering of directives being emitted in the output. llvm-svn: 74096
* remove dead makefile flags.Chris Lattner2009-06-241-2/+0
| | | | llvm-svn: 74065
* Move up dwarf writer initialization in common AsmPrinter class.Devang Patel2009-06-191-3/+11
| | | | llvm-svn: 73784
* move mangler quote handling from asm printers to TargetAsmInfo.Chris Lattner2009-06-181-0/+3
| | | | llvm-svn: 73738
* simplify macro debug info directive handling.Chris Lattner2009-06-181-4/+4
| | | | llvm-svn: 73736
* On Darwin, ams printer should output a second label before a jump table so ↵Evan Cheng2009-06-181-3/+7
| | | | | | 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 typos.Bill Wendling2009-06-161-2/+2
| | | | llvm-svn: 73464
* Use MainCU if it is available.Devang Patel2009-06-161-2/+3
| | | | llvm-svn: 73457
* Gracefully handle imbalanced inline function begin and end markers.Devang Patel2009-06-151-1/+8
| | | | llvm-svn: 73426
* Fix old-style type names in comments.Dan Gohman2009-06-141-1/+1
| | | | llvm-svn: 73362
OpenPOWER on IntegriCloud