summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
* Fix grammar.Devang Patel2010-03-021-1/+1
| | | | | | Thanks Duncan! llvm-svn: 97572
* 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. llvm-svn: 97533
* 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. llvm-svn: 97277
* Comment typo.Bill Wendling2010-02-261-1/+1
| | | | llvm-svn: 97269
* Fix comments.Bill Wendling2010-02-261-3/+3
| | | | llvm-svn: 97200
* 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. llvm-svn: 97196
* And should use the correct variable.Bill Wendling2010-02-261-1/+1
| | | | llvm-svn: 97193
* Got assertion check backwards.Bill Wendling2010-02-261-1/+1
| | | | llvm-svn: 97192
* 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. llvm-svn: 97183
* Make comment more meaningful.Bill Wendling2010-02-251-1/+2
| | | | llvm-svn: 97169
* MC'ize padding when padding the ULEB128 value.Bill Wendling2010-02-251-7/+5
| | | | llvm-svn: 97087
* LLVM puts padding bytes in the __gcc_except_tab section after theBill Wendling2010-02-243-41/+52
| | | | | | | | | | GCC_except_table label but before the Lexception, which the FDE references. This causes problems as the FDE does not point to the start of an LSDA chunk. Use an unnormalized uleb128 for the call-site table length that includes the padding. llvm-svn: 97078
* use OutStreamer.EmitCodeAlignment for alignment in the textChris Lattner2010-02-231-4/+3
| | | | | | segment. llvm-svn: 96967
* move isOnlyReachableByFallthrough out of MachineBasicBlock into AsmPrinter,Chris Lattner2010-02-171-1/+34
| | | | | | | and add a sparc implementation that knows about delay slots. Patch by Nathan Keynes! llvm-svn: 96492
* Before setting scope end marker, pay attention to scope begin marker and ↵Devang Patel2010-02-171-1/+12
| | | | | | existing scope end marker, if any. Scope must begin before it ends and nested inlined scope do not truncate surrounding scope. llvm-svn: 96445
* Use ttype encoding consistentlyAnton Korobeynikov2010-02-151-1/+1
| | | | llvm-svn: 96290
* It turns out that we emitted completely wrong common EH frame since the ↵Anton Korobeynikov2010-02-151-7/+9
| | | | | | early beginning! The "z" CIE augmentation mark indicates that there is an extra word containing the size of augmentation section. However, even for frames w/o any augmentation data we emitted size uleb! (this is the case of "unwinding through C code"). Thus frame moves information was emitterd completely wrong. llvm-svn: 96287
* Preliminary patch to improve dwarf EH generation - Hooks to return ↵Anton Korobeynikov2010-02-154-88/+103
| | | | | | Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there llvm-svn: 96285
* Use .empty() instead of .size().Bill Wendling2010-02-111-2/+2
| | | | llvm-svn: 95871
* Fix to get it to compile.Bill Wendling2010-02-111-1/+1
| | | | llvm-svn: 95840
* Don't print out a default newline when emitting the section offset. There areBill Wendling2010-02-112-2/+1
| | | | | | almost always comments afterwards that need printing. llvm-svn: 95839
* Use an index instead of pointers into the vector. If the vector resizes, thenBill Wendling2010-02-102-12/+13
| | | | | | the pointer values could be invalid. llvm-svn: 95813
* Fix "the the" and similar typos.Dan Gohman2010-02-104-4/+4
| | | | llvm-svn: 95781
* fix a layering violation: VirtRegRewriter.cpp shouldn't use AsmPrinter.h.Chris Lattner2010-02-101-1/+1
| | | | llvm-svn: 95748
* Improve comments a even more.Bill Wendling2010-02-101-3/+3
| | | | llvm-svn: 95740
* Move verbose asm instruction comments to using MCStreamer.Chris Lattner2010-02-101-74/+61
| | | | | | | | | | | | The major win of this is that the code is simpler and they print on the same line as the instruction again: movl %eax, 96(%esp) ## 4-byte Spill movl 96(%esp), %eax ## 4-byte Reload cmpl 92(%esp), %eax ## 4-byte Folded Reload jl LBB7_86 llvm-svn: 95738
* Improve comments a bit more.Bill Wendling2010-02-101-4/+4
| | | | llvm-svn: 95737
* print all the newlines at the end of instructions withChris Lattner2010-02-101-4/+6
| | | | | | OutStreamer.AddBlankLine instead of textually. llvm-svn: 95734
* Improve comments in the LSDA somewhat. They can be improved much more.Bill Wendling2010-02-091-10/+17
| | | | llvm-svn: 95707
* move target-independent opcodes out of TargetInstrInfoChris Lattner2010-02-091-6/+6
| | | | | | | | | into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
* Add declaration attribute to a variable DIE, if there is a separate DIE for ↵Devang Patel2010-02-091-0/+1
| | | | | | the definition. llvm-svn: 95646
* Implement AsmPrinter support for several more operators which haveDan Gohman2010-02-091-0/+10
| | | | | | | direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't consistent between targets. llvm-svn: 95620
* now that @GOTOFF is no longer represented as a suffix on aChris Lattner2010-02-081-6/+4
| | | | | | | MCSymbol, we can remove the 'suffix' argument of GetBlockAddressSymbol. Do so. llvm-svn: 95601
* ConstantFoldConstantExpression can theoretically return the originalDan Gohman2010-02-081-2/+4
| | | | | | expression; don't go into an infinite loop if it does. llvm-svn: 95591
* When CodeGen'ing unoptimized code, there may be unfolded constant expressionsDan Gohman2010-02-081-9/+11
| | | | | | | | | in global initializers. Instead of aborting, attempt to fold them on the spot. If folding succeeds, emit the folded expression instead. This fixes PR6255. llvm-svn: 95583
* Give DwarfPrinter a protected (but not virtual) destructor. CppcheckDuncan Sands2010-02-071-0/+2
| | | | | | | | | warns about this base class not having a virtual destructor, but since this class has no virtual methods and neither it or the types derived from it has a destructor, a protected trivial destructor will do (and shuts cppcheck up) the trick without the cost of introducing a vtable. llvm-svn: 95526
* Set DW_AT_artificial only if argument is marked as artificial.Devang Patel2010-02-061-5/+12
| | | | llvm-svn: 95461
* Do not generate specification DIE for nested functions.Devang Patel2010-02-051-1/+7
| | | | llvm-svn: 95452
* An empty global constant (one of size 0) may have a section immediatelyBill Wendling2010-02-051-0/+1
| | | | | | | | | | | following it. However, the EmitGlobalConstant method wasn't emitting a body for the constant. The assembler doesn't like that. Before, we were generating this: .zerofill __DATA, __common, __cmd, 1, 3 This fix puts us back to that semantic. llvm-svn: 95336
* Emit appropriate expression to find virtual base offset.Devang Patel2010-02-031-1/+20
| | | | llvm-svn: 95242
* Provide interface to identifiy artificial methods.Devang Patel2010-02-031-0/+3
| | | | llvm-svn: 95240
* don't emit \n's at the start of X86AsmPrinter::runOnMachineFunction,Chris Lattner2010-02-031-0/+2
| | | | | | .o files don't like that. llvm-svn: 95187
* privatize a bunch of methods and move \n printing into them.Chris Lattner2010-02-031-8/+6
| | | | llvm-svn: 95186
* rejigger the world so that EmitInstruction prints the \n atChris Lattner2010-02-031-19/+11
| | | | | | | | the end of the instruction instead of expecting the caller to do it. This currently causes the asm-verbose instruction comments to be on the next line. llvm-svn: 95178
* sink handling of target-independent machine instrs (otherChris Lattner2010-02-031-2/+19
| | | | | | | | than DEBUG_VALUE :( ) into the target indep AsmPrinter.cpp file. This allows elimination of the NO_ASM_WRITER_BOILERPLATE hack among other things. llvm-svn: 95177
* refactor code so that LLVMTargetMachine creates the asmstreamer and Chris Lattner2010-02-021-9/+4
| | | | | | | mccontext instead of having AsmPrinter do it. This allows other types of MCStreamer's to be passed in. llvm-svn: 95155
* move handling of asm-verbose out of AsmPrinter.cpp into ↵Chris Lattner2010-02-021-16/+3
| | | | | | LLVMTargetMachine.cpp with the rest of the command line options. llvm-svn: 95152
* Apparently gdb is not amused by empty lines in pubtypes section.Devang Patel2010-02-021-2/+4
| | | | llvm-svn: 95064
* NULL terminate name in pubtypes sections.Devang Patel2010-02-021-1/+1
| | | | llvm-svn: 95062
* Emit declaration DIE for the class static variables.Devang Patel2010-01-301-1/+10
| | | | llvm-svn: 94870
OpenPOWER on IntegriCloud