summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Don't flush the raw_ostream between each MachineFunction. These flushDan Gohman2009-08-051-2/+0
| | | | | | | | | | | calls were originally put in place because errs() at one time was not unbuffered, and these print routines are commonly used with errs() for debugging. However, errs() is now properly unbuffered, so the flush calls are no longer needed. This significantly reduces the number of write(2) calls for regular asm printing when there are many small functions. llvm-svn: 78137
* pass the mangler down into the various SectionForGlobal methods.Chris Lattner2009-07-291-1/+1
| | | | | | No functionality change. llvm-svn: 77432
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-281-1/+2
| | | | | | | | | | | | | | | | | | | | 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
* Add new helpers for registering targets.Daniel Dunbar2009-07-251-12/+8
| | | | | | - Less boilerplate == good. llvm-svn: 77052
* make AsmPrinter::doFinalization iterate over the global variablesChris Lattner2009-07-211-0/+4
| | | | | | | and call PrintGlobalVariable, allowing elimination and simplification of various targets. llvm-svn: 76604
* fix Sparc, SystemZ, and MSP430 to not override AsmPrinter::doInitialization.Chris Lattner2009-07-211-7/+0
| | | | | | | This eliminates redundancy setting up the mangler and adds support to them for module-level inline asm and a .file directive. llvm-svn: 76592
* Rename LessPrivateGlobalPrefix -> LinkerPrivateGlobalPrefix to match theChris Lattner2009-07-211-1/+1
| | | | | | LLVM IR concept. llvm-svn: 76590
* remove an unneeded override.Chris Lattner2009-07-211-5/+0
| | | | llvm-svn: 76586
* 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
* Add plumbing for the `linker_private' linkage type. This type is meant forBill Wendling2009-07-201-0/+1
| | | | | | | | | "private" symbols which the assember shouldn't strip, but which the linker may remove after evaluation. This is mostly useful for Objective-C metadata. This is plumbing, so we don't have a use of it yet. More to come, etc. llvm-svn: 76385
* Register AsmPrinter for XCore, MSP430, and PIC16 targets.Daniel Dunbar2009-07-151-2/+2
| | | | | | - Switch to standard addAssemblyEmitter logic. llvm-svn: 75854
* Have asm printers use formatted_raw_ostream directly to avoid aDavid Greene2009-07-141-3/+3
| | | | | | dynamic_cast<>. llvm-svn: 75670
* Reapply my previous asmprinter changes now with more testing and two Chris Lattner2009-07-141-1/+1
| | | | | | | | | | | | | | | | | | | | 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-5/+5
| | | | | | | | | 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 r75615, which depended on 75610.Daniel Dunbar2009-07-141-1/+1
| | | | | | | | | | | | | | | | | | --- Reverse-merging r75615 into '.': U lib/Target/XCore/XCoreAsmPrinter.cpp U lib/Target/PIC16/PIC16AsmPrinter.cpp U lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp U lib/Target/MSP430/MSP430AsmPrinter.cpp U lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp U lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp U lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp U lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp U lib/Target/MSIL/MSILWriter.cpp U lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp U lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp llvm-svn: 75637
* Rename getValueName -> getMangledName.Chris Lattner2009-07-141-1/+1
| | | | llvm-svn: 75615
* assert(0) -> LLVM_UNREACHABLE.Torok Edwin2009-07-111-5/+6
| | | | | | | | | 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
* Remove unused AsmPrinter OptLevel argument, and propogate.Daniel Dunbar2009-07-011-5/+3
| | | | | | | - 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
* Add an "alignment" field to the MachineFunction object. It makes more sense toBill Wendling2009-06-301-4/+1
| | | | | | | | | | have the alignment be calculated up front, and have the back-ends obey whatever alignment is decided upon. This allows for future work that would allow for precise no-op placement and the like. llvm-svn: 74564
* Update due to mainline API changeAnton Korobeynikov2009-05-031-4/+6
| | | | llvm-svn: 70769
* Some eye-candyAnton Korobeynikov2009-05-031-8/+7
| | | | llvm-svn: 70762
* Print function header / footerAnton Korobeynikov2009-05-031-0/+45
| | | | llvm-svn: 70761
* Fix printing: je => jeqAnton Korobeynikov2009-05-031-1/+1
| | | | llvm-svn: 70760
* Properly handle ExternalSymbol'sAnton Korobeynikov2009-05-031-0/+9
| | | | llvm-svn: 70752
* Lower select with custom inserted and make condjumps genericAnton Korobeynikov2009-05-031-0/+28
| | | | llvm-svn: 70744
* Reverse order of memory argumentsAnton Korobeynikov2009-05-031-6/+6
| | | | llvm-svn: 70734
* Correct asmprinting of memory operandsAnton Korobeynikov2009-05-031-12/+18
| | | | llvm-svn: 70732
* Some early full call lowering draft for direct callsAnton Korobeynikov2009-05-031-7/+21
| | | | llvm-svn: 70729
* Basic support for mem=>reg movesAnton Korobeynikov2009-05-031-3/+27
| | | | llvm-svn: 70723
* Add code enough for emission of reg-reg and reg-imm moves. This allows us to ↵Anton Korobeynikov2009-05-031-1/+22
| | | | | | compile "ret i16 0" properly! llvm-svn: 70710
* Add function body printing routineAnton Korobeynikov2009-05-031-1/+21
| | | | llvm-svn: 70709
* Dummy MSP430 backendAnton Korobeynikov2009-05-031-0/+99
llvm-svn: 70694
OpenPOWER on IntegriCloud