aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
* mcize the rest of EH emission, only one more directive missingChris Lattner2010-03-101-12/+17
| | | | | | | for darwin/x86 to be completely mcized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98130 91177308-0d34-0410-b5e6-96231b3b80d8
* add missing filename!Chris Lattner2010-03-101-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98125 91177308-0d34-0410-b5e6-96231b3b80d8
* set the temporary bit on MCSymbols correctly.Chris Lattner2010-03-103-21/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98124 91177308-0d34-0410-b5e6-96231b3b80d8
* inline away a form of IsPCRelative, eliminating the Chris Lattner2010-03-104-29/+14
| | | | | | | dead IsPCRel argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98117 91177308-0d34-0410-b5e6-96231b3b80d8
* add some fixme's for MCizing. EH still has a few things thatChris Lattner2010-03-103-13/+9
| | | | | | | | | need to be MCized, but the last debug info thing are LEB and cygwin specific (which the MC api doesn't support yet) and one specific form of EmitReference which I'll tackle next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98116 91177308-0d34-0410-b5e6-96231b3b80d8
* mcize uses of PrintRelDirective and eliminate it.Chris Lattner2010-03-103-21/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98107 91177308-0d34-0410-b5e6-96231b3b80d8
* inline the bool form of PrintRelDirective away, leaving just the unsigned form.Chris Lattner2010-03-092-9/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98106 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate EOL, adding all comments with the OutStreamer.AddComment Chris Lattner2010-03-094-131/+143
| | | | | | | | | | | | | method. With this, comments should end up on the same lines as the .byte directives (for example) and we now get no output with: $ llc CodeGen/X86/2009-02-12-DebugInfoVLA.ll -o - -filetype=null -asm-verbose woot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98105 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate a bunch of \n's that are being printed to O. Next up is to killChris Lattner2010-03-092-35/+19
| | | | | | | off "EOL". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98102 91177308-0d34-0410-b5e6-96231b3b80d8
* convert the non-"ispcrel" case of EmitReference to MC,Chris Lattner2010-03-091-0/+8
| | | | | | | | significant debug info testcases are now all going through MCStreamer, though they print a lot of extraneous newlines to "O". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98101 91177308-0d34-0410-b5e6-96231b3b80d8
* reapply r98035:Chris Lattner2010-03-094-24/+24
| | | | | | | | Now that setStartLabel takes an MCSymbol, we can de-ID'ize beginScope and RecordSourceLine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98047 91177308-0d34-0410-b5e6-96231b3b80d8
* add some extra checks. I'm not sure why, but this does unbreak aChris Lattner2010-03-091-0/+3
| | | | | | | failure remaining on mainline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98046 91177308-0d34-0410-b5e6-96231b3b80d8
* Speculatively revert r98035. It appears to have caused a set of buildbotEric Christopher2010-03-094-24/+24
| | | | | | | failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98039 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that setStartLabel takes an MCSymbol, we can de-ID'izeChris Lattner2010-03-094-24/+24
| | | | | | | | beginScope and RecordSourceLine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98035 91177308-0d34-0410-b5e6-96231b3b80d8
* change DbgScope to keep track of the start/end label as MCSymbol* Chris Lattner2010-03-091-41/+36
| | | | | | | now that the dependence on ID is removed from MMI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98034 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a useless optimization: now that label replacement neverChris Lattner2010-03-091-7/+0
| | | | | | | happens, the start/end of a scope can never be the same. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98032 91177308-0d34-0410-b5e6-96231b3b80d8
* strength reduce MMI::MappedLabel to MMI::isLabelDeleted,Chris Lattner2010-03-092-15/+19
| | | | | | | | and add a FIXME about how we are eventually going to zap this lookup table once mc world domination is complete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98031 91177308-0d34-0410-b5e6-96231b3b80d8
* mcstreamerize AsmPrinter::printLabel.Chris Lattner2010-03-092-6/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98025 91177308-0d34-0410-b5e6-96231b3b80d8
* add a EmitSymbolValue convenience method to MCStreamer.Chris Lattner2010-03-093-9/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98017 91177308-0d34-0410-b5e6-96231b3b80d8
* make InlineInfoLabels hold MCSymbol*'s, avoiding Chris Lattner2010-03-092-11/+11
| | | | | | | recomputation of the labels. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98016 91177308-0d34-0410-b5e6-96231b3b80d8
* mc'ize the last use of PrintLabelName and eliminate PrintLabelName.Chris Lattner2010-03-093-20/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98015 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate an argument from PrintRelDirective, sinkingChris Lattner2010-03-092-12/+17
| | | | | | | | the one special case into EmitSectionOffset. MCize the non-special case in EmitSectionOffset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98014 91177308-0d34-0410-b5e6-96231b3b80d8
* remove the suffix form of PrintLabelName, which was only Chris Lattner2010-03-092-10/+0
| | | | | | | used for 'flavor'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98012 91177308-0d34-0410-b5e6-96231b3b80d8
* now that the debug and eh emitters use a common .set counter,Chris Lattner2010-03-094-11/+5
| | | | | | | we can eliminate "flavor". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98011 91177308-0d34-0410-b5e6-96231b3b80d8
* move .set generation out of DwarfPrinter into AsmPrinter and Chris Lattner2010-03-083-25/+32
| | | | | | | MCize it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98010 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify EmitSectionOffset to always use .set if it isChris Lattner2010-03-087-38/+16
| | | | | | | | | | available, the only thing this affects is that we produce .set in one case we didn't before, which shouldn't harm anything. Make EmitSectionOffset call EmitDifference instead of duplicating it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98005 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a version of EmitDifference.Chris Lattner2010-03-084-51/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98002 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate a form of PrintLabelName.Chris Lattner2010-03-083-11/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97999 91177308-0d34-0410-b5e6-96231b3b80d8
* remove another form of EmitReference.Chris Lattner2010-03-083-10/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97998 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate the non-MCSymbol versions of EmitReference.Chris Lattner2010-03-083-25/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97997 91177308-0d34-0410-b5e6-96231b3b80d8
* mc'ize EmitLabel.Chris Lattner2010-03-084-69/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97996 91177308-0d34-0410-b5e6-96231b3b80d8
* merge DIEObjectLabel and DIEDwarfLabel into DIELabel.Chris Lattner2010-03-085-89/+13
| | | | | | | | Yes, DIE you fiendish labels, die all of you. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97995 91177308-0d34-0410-b5e6-96231b3b80d8
* elimiante the DWLabel class, using MCSymbol instead. Start Chris Lattner2010-03-0810-177/+138
| | | | | | | | | switching some stuff over to passing around MCSymbol* instead of stem+ID. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97993 91177308-0d34-0410-b5e6-96231b3b80d8
* Derive DIType from DIScope. This simplifies getContext() where for members ↵Devang Patel2010-03-082-39/+13
| | | | | | the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97990 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid using DIDescriptor.isNull(). Devang Patel2010-03-083-74/+53
| | | | | | | This is a first step towards eliminating checks in Descriptor constructors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97975 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r97947.Devang Patel2010-03-083-53/+74
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97963 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid using DIDescriptor.isNull().Devang Patel2010-03-083-74/+53
| | | | | | | This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97947 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r97917, which was causing Clang Debug self-host failures.Douglas Gregor2010-03-083-28/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97932 91177308-0d34-0410-b5e6-96231b3b80d8
* Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.Jeffrey Yasskin2010-03-073-29/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97917 91177308-0d34-0410-b5e6-96231b3b80d8
* _2_ gcc crashes, ah, ah, ah...Jeffrey Yasskin2010-03-072-24/+22
| | | | | | | (Rolling back r97906.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97909 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid leaking CompileUnits and DbgScopes from DwarfDebug. Leaks found by ↵Jeffrey Yasskin2010-03-072-22/+24
| | | | | | Valgrind! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97906 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammar.Devang Patel2010-03-021-1/+1
| | | | | | | Thanks Duncan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97572 91177308-0d34-0410-b5e6-96231b3b80d8
* Constructors and operators for anonymous aggregates does not names. Do not ↵Devang Patel2010-03-021-1/+3
| | | | | | force empty AT_name attribute in such cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97533 91177308-0d34-0410-b5e6-96231b3b80d8
* A much cleaner (and less code!) way of inserting the correct amount of paddingBill Wendling2010-02-261-50/+6
| | | | | | | | | for alignment into the LSDA. If the TType base offset is emitted, then put the padding there. Otherwise, put it in the call site table length. There will be no conflict between the two sites when placing the padding in one place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97277 91177308-0d34-0410-b5e6-96231b3b80d8
* Comment typo.Bill Wendling2010-02-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97269 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comments.Bill Wendling2010-02-261-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97200 91177308-0d34-0410-b5e6-96231b3b80d8
* Add another (and hopefully the last) exception case, where once we recalculateBill Wendling2010-02-261-3/+11
| | | | | | | | the alignment requirement, if it no longer makes the TType base offset overflow into extra bytes, then we need to pad to those bytes ourselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97196 91177308-0d34-0410-b5e6-96231b3b80d8
* And should use the correct variable.Bill Wendling2010-02-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97193 91177308-0d34-0410-b5e6-96231b3b80d8
* Got assertion check backwards.Bill Wendling2010-02-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97192 91177308-0d34-0410-b5e6-96231b3b80d8
* Catch a corner case where adding the padding to the "TType base offset" fieldBill Wendling2010-02-251-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | will eliminate the need for padding in the "Call site table length". E.g., if we have this: GCC_except_table1: Lexception1: .byte 0xff ## @LPStart Encoding = omit .byte 0x9b ## @TType Encoding = indirect pcrel sdata4 .byte 0x7f ## @TType base offset .byte 0x03 ## Call site Encoding = udata4 .byte 0x89 ## Call site table length with padding of 1. We want to emit the padding like this: GCC_except_table1: Lexception1: .byte 0xff ## @LPStart Encoding = omit .byte 0x9b ## @TType Encoding = indirect pcrel sdata4 .byte 0xff ## @TType base offset .space 1,0 ## Padding .byte 0x03 ## Call site Encoding = udata4 .byte 0x89 ## Call site table length and not with padding on the "Call site table length" entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97183 91177308-0d34-0410-b5e6-96231b3b80d8