summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* wire up support for emitting "special" values from inline asmChris Lattner2009-03-101-1/+20
| | | | | | format strings with the standard ${:foo} syntax. llvm-svn: 66527
* just remove the use_empty() check entirely, the only reason itChris Lattner2009-03-091-14/+8
| | | | | | | existed was for llvm-gcc 3.4 (which used the __main hack) which is really really long dead. llvm-svn: 66417
* Make the code generator rip of dead constant expr uses before decidingChris Lattner2009-03-091-10/+16
| | | | | | | | whether a global is dead or not. This should fix PR3749 - linker adds spurious use to appending globals. I can't reasonably add a testcase for this, because the bc writer/reader strip dead constant users. llvm-svn: 66404
* Overhaul my earlier submission due to feedback. It's a large patch, but most ofBill Wendling2009-02-241-2/+2
| | | | | | | | | | | | them are generic changes. - Use the "fast" flag that's already being passed into the asm printers instead of shoving it into the DwarfWriter. - Instead of calling "MI->getParent()->getParent()" for every MI, set the machine function when calling "runOnMachineFunction" in the asm printers. llvm-svn: 65379
* Drop bunch of half-working stuff in the ext_weak linkage support.Anton Korobeynikov2009-02-211-10/+0
| | | | | | | | | | | Now we're using one gross, but quite robust hack :) (previous ones did not work, for example, when ext_weak symbol was used deep inside constant expression in the initializer). The proper fix of this problem will require some quite huge asmprinter changes and that's why was postponed. This fixes PR3629 by the way :) llvm-svn: 65230
* if we have a large GEP offset on a 32-bit or other target, makeChris Lattner2009-02-051-0/+6
| | | | | | | sure to print the value properly sext'd to the right pointer size. This fixes PR3481. llvm-svn: 63843
* Enable emitting of constant values in non-default address space as well. The ↵Sanjiv Gupta2009-01-301-56/+59
| | | | | | APIs emitting constants now take an additional parameter signifying the address space in which to emit. The APIs like getData8BitsDirective() etc are made virtual enabling targets to be able to define appropirate directivers for various sizes and address spaces. llvm-svn: 63377
* Rename getAnalysisToUpdate to getAnalysisIfAvailable.Duncan Sands2009-01-281-4/+4
| | | | llvm-svn: 63198
* do not sign extend characters input to isprint. This improvesChris Lattner2009-01-221-1/+1
| | | | | | compatibility with VC++. Patch by Max Burke! llvm-svn: 62813
* Few targets like the tiny little PIC16 have only 16-bit pointers.Sanjiv Gupta2009-01-221-0/+4
| | | | llvm-svn: 62763
* Add the private linkage.Rafael Espindola2009-01-151-2/+2
| | | | llvm-svn: 62279
* Use DwarfWriter to record dbg variables.Devang Patel2009-01-131-4/+5
| | | | llvm-svn: 62185
* Rename getABITypeSize to getTypePaddedSize, asDuncan Sands2009-01-121-7/+7
| | | | | | suggested by Chris. llvm-svn: 62099
* Refactor a bunch of code out of AsmPrinter::EmitGlobalConstant into separateDan Gohman2008-12-221-182/+207
| | | | | | functions. llvm-svn: 61345
* Fix bug 3202.Rafael Espindola2008-12-191-1/+2
| | | | | | | The EH_frame and .eh symbols are now private, except for darwin9 and earlier. The patch also fixes the definition of PrivateGlobalPrefix on pcc linux. llvm-svn: 61242
* Fix bug 3140.Rafael Espindola2008-12-031-0/+8
| | | | | | Print a single parameter .file directive if we have an ELF target. llvm-svn: 60480
* Make a convenient helper for printing offsets.Anton Korobeynikov2008-11-221-0/+7
| | | | llvm-svn: 59872
* eliminate a couple more uses of utohexstr.Chris Lattner2008-11-101-6/+10
| | | | llvm-svn: 58963
* Use utohex_buffer instead of utohexstr to avoid creating a temporaryChris Lattner2008-11-101-1/+3
| | | | | | string in the .ll and .s printers. llvm-svn: 58962
* Temporary revert my last commit: it seems it's triggering some subtle bug in ↵Anton Korobeynikov2008-11-081-7/+0
| | | | | | | | backend and breaks llvm-gcc llvm-svn: 58926
* Factor out offset printing code into generic AsmPrinter.Anton Korobeynikov2008-11-081-0/+7
| | | | | | | FIXME: it seems, that most of targets don't support offsets wrt CPI/GlobalAddress', was it intentional? llvm-svn: 58917
* Remove some overzealous checks that were rejectingDale Johannesen2008-10-101-12/+8
| | | | | | | valid comments in inline assembly. gcc.target/i386/20011009-1.c llvm-svn: 57365
* Add a "loses information" return value to APFloat::convertDale Johannesen2008-10-091-1/+4
| | | | | | | and APFloat::convertToInteger. Restore return value to IEEE754. Adjust all users accordingly. llvm-svn: 57329
* Rename APFloat::convertToAPInt to bitcastToAPInt toDale Johannesen2008-10-091-4/+4
| | | | | | | make it clearer what the function does. No functional change. llvm-svn: 57325
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-031-2/+2
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* Use helperAnton Korobeynikov2008-09-241-8/+2
| | | | llvm-svn: 56584
* SmallPtrSet will be betterAnton Korobeynikov2008-09-241-3/+2
| | | | llvm-svn: 56583
* Use generic section-handling stuff to emit constant pool entriesAnton Korobeynikov2008-09-241-45/+36
| | | | llvm-svn: 56579
* Get rid of duplicate char*/Section* TextSectionAnton Korobeynikov2008-09-241-1/+2
| | | | llvm-svn: 56574
* Move actual section printing stuff to AsmPrinter from TAI reducing heap traffic.Anton Korobeynikov2008-09-241-3/+13
| | | | llvm-svn: 56573
* Drop obsolete hook and change all usage to new interfaceAnton Korobeynikov2008-09-241-6/+1
| | | | llvm-svn: 56572
* Provide direct function to switch to SectionAnton Korobeynikov2008-09-241-0/+20
| | | | llvm-svn: 56571
* Next round of earlyclobber handling. Approach theDale Johannesen2008-09-241-2/+1
| | | | | | | | | | RA problem by expanding the live interval of an earlyclobber def back one slot. Remove overlap-earlyclobber throughout. Remove earlyclobber bits and their handling from live internals. llvm-svn: 56539
* Add a bit to mark operands of asm's that conflictDale Johannesen2008-09-171-1/+2
| | | | | | | | | with an earlyclobber operand elsewhere. Propagate this bit and the earlyclobber bit through SDISel. Change linear-scan RA not to allocate regs in a way that conflicts with an earlyclobber. See also comments. llvm-svn: 56290
* Move the uglier parts of deciding not to emit aDale Johannesen2008-09-091-15/+4
| | | | | | | | | 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
* Fix logic for not emitting no-dead-strip for someDale Johannesen2008-09-091-2/+14
| | | | | | | | | | 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
* Don't suppress no-dead-strip for used static functions.Dale Johannesen2008-09-081-1/+1
| | | | llvm-svn: 55962
* Add AsmPrinter support for i128 and larger static initializer data.Dan Gohman2008-09-081-19/+36
| | | | llvm-svn: 55919
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* Do not emit a UsedDirective for things in the llvm.usedDale Johannesen2008-09-031-3/+32
| | | | | | | | | list that have internal linkage; the linker doesn't need or want this. (These objects must still be preserved at compile time, so just removing them from the llvm.used list doesn't work.) Should affect only Darwin. llvm-svn: 55722
* Remove unneeded #include.Owen Anderson2008-08-211-1/+0
| | | | llvm-svn: 55134
* Use raw_ostream throughout the AsmPrinter.Owen Anderson2008-08-211-10/+12
| | | | llvm-svn: 55092
* don't use the result of WriteTypeSymbolic or WriteAsOperand.Chris Lattner2008-08-191-1/+2
| | | | llvm-svn: 54978
* Rename some GC classes so that their roll will hopefully be clearer.Gordon Henriksen2008-08-171-25/+21
| | | | | | | | | | | | | | | | | | In particular, Collector was confusing to implementors. Several thought that this compile-time class was the place to implement their runtime GC heap. Of course, it doesn't even exist at runtime. Specifically, the renames are: Collector -> GCStrategy CollectorMetadata -> GCFunctionInfo CollectorModuleMetadata -> GCModuleInfo CollectorRegistry -> GCRegistry Function::getCollector -> getGC (setGC, hasGC, clearGC) Several accessors and nested types have also been renamed to be consistent. These changes should be obvious. llvm-svn: 54899
* Fix merge errorAnton Korobeynikov2008-08-171-18/+0
| | | | llvm-svn: 54891
* Move all assembler printing related stuff into new libAsmPrinterAnton Korobeynikov2008-08-171-0/+1509
llvm-svn: 54885
OpenPOWER on IntegriCloud