summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
* Remove dead code.Devang Patel2010-05-262-11/+1
| | | | llvm-svn: 104706
* Do not construct location list backword!Devang Patel2010-05-261-13/+17
| | | | llvm-svn: 104705
* First cut at supporting .debug_loc section. Devang Patel2010-05-253-87/+253
| | | | | | This is used to track variable information. llvm-svn: 104649
* Move the verbose asm output up a bit so it can be used in the special casesEric Christopher2010-05-251-5/+6
| | | | | | as well. llvm-svn: 104642
* Add support for initialized global data for darwin tls. Update commentsEric Christopher2010-05-251-4/+17
| | | | | | and testcases accordingly. llvm-svn: 104635
* Do not emit line number entries for unknown debug values.Devang Patel2010-05-241-0/+3
| | | | | | This fixes recent regression in store.exp from gdb testsuite. llvm-svn: 104524
* Encode the Caml frametable by following what the comment says: the number of ↵Nicolas Geoffray2010-05-241-5/+22
| | | | | | | | descriptors is first emitted, and StackOffsets are emitted in 16 bits. llvm-svn: 104488
* Add full bss data support for darwin tls variables.Eric Christopher2010-05-221-1/+26
| | | | llvm-svn: 104414
* Collect variable information during endFunction() instead of beginFunction().Devang Patel2010-05-221-12/+12
| | | | llvm-svn: 104412
* SimplifyDevang Patel2010-05-211-44/+23
| | | | llvm-svn: 104338
* Simplify.Devang Patel2010-05-211-16/+8
| | | | llvm-svn: 104302
* Refactor.Devang Patel2010-05-202-37/+76
| | | | llvm-svn: 104265
* Split DbgVariable. Eventually, variable info will be communicated through ↵Devang Patel2010-05-202-94/+111
| | | | | | frame index, or DBG_VALUE instruction, or collection of DBG_VALUE instructions. Plus each DbgVariable may not need a label. llvm-svn: 104233
* Partial code for emitting thread local bss data.Eric Christopher2010-05-201-0/+7
| | | | llvm-svn: 104197
* Revert r104165.Devang Patel2010-05-192-5/+13
| | | | llvm-svn: 104172
* There is no need to maintain InsnsBeginScopeSet separately. Devang Patel2010-05-192-13/+5
| | | | llvm-svn: 104165
* Do not forget to mark prcessed arguments.Devang Patel2010-05-141-0/+1
| | | | llvm-svn: 103822
* Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe whatBill Wendling2010-05-142-10/+11
| | | | | | | | | the variable actually tracks. N.B., several back-ends are using "HasCalls" as being synonymous for something that adjusts the stack. This isn't 100% correct and should be looked into. llvm-svn: 103802
* Add support to preserve type info for the variables that are removed by the ↵Devang Patel2010-05-142-14/+35
| | | | | | optimizer. llvm-svn: 103798
* Inline Asm: Ensure buffer is newline terminated to match how the text is ↵Daniel Dunbar2010-05-141-0/+14
| | | | | | | | printed. - This is a hack, but I can't decide the best place to handle this. Chris? llvm-svn: 103765
* Remove unused variable. Tweak a comment while there.Duncan Sands2010-05-121-2/+2
| | | | llvm-svn: 103586
* updated support for the COFF .linkonceNathan Jeffords2010-05-121-7/+1
| | | | | | Now, the .linkonce directive is emitted as part of MCSectionCOFF::PrintSwitchToSection instead of AsmPrinter::EmitLinkage since it is an attribute of the section the symbol was placed into not the symbol itself. llvm-svn: 103568
* Enable multiple Compile Units in one module.Devang Patel2010-05-102-162/+228
| | | | | | This means now 'llvm-ld a.bc b.bc' will preserve debug info appropriately. llvm-svn: 103439
* Instead of just verifying compile unit, verify entire type, variable, ↵Devang Patel2010-05-071-11/+10
| | | | | | namespace etc.. llvm-svn: 103327
* Remove DIGlobal.Devang Patel2010-05-072-2/+2
| | | | llvm-svn: 103325
* Verify entire type descriptor not just tag.Devang Patel2010-05-071-2/+2
| | | | llvm-svn: 103303
* Wrap const MDNode * inside DIDescriptor.Devang Patel2010-05-072-55/+55
| | | | llvm-svn: 103295
* Avoid DIDescriptor::getNode(). Use overloaded operators instead.Devang Patel2010-05-072-66/+66
| | | | llvm-svn: 103272
* Disable the new unknown-location code for now. It causes a majorDan Gohman2010-05-071-14/+20
| | | | | | | increase in the debug line info section, and it's causing regressions in a gdb testsuite. llvm-svn: 103226
* Update LabelsBeforeInsn also, when creating unknown-position labels.Dan Gohman2010-05-061-0/+5
| | | | llvm-svn: 103145
* Fix PR7054 - Assertion `Symbol->isUndefined() && "Cannot define a symbol ↵Chris Lattner2010-05-061-1/+7
| | | | | | | | | twice!"' failed. Users can write broken code that emits the same label twice with asm renaming, detect this and emit a fatal backend error instead of aborting. llvm-svn: 103140
* Emit debug info for MachineInstrs with unknown debug locations, insteadDan Gohman2010-05-051-19/+34
| | | | | | | | of just letting them inherit the debug locations of adjacent instructions. Debug info should aim to be either accurate or absent. llvm-svn: 103135
* Set DW_AT_APPLE_omit_frame_ptr in endFunction() where MachineFunction is ↵Devang Patel2010-05-041-4/+6
| | | | | | available all the time. llvm-svn: 103001
* Don't count debug info as instructions. This wasDale Johannesen2010-05-011-1/+2
| | | | | | | | preventing the emission of the NOP on Darwin for a function with no actual code. From timberwolfmc with TEST=optllcdbg. llvm-svn: 102843
* Attach AT_APPLE_optimized attribute to optimized function's debug info.Devang Patel2010-04-301-5/+8
| | | | llvm-svn: 102743
* Print variable scope name in DEBUG_VALUE comment. Useful in some cases. e.g.Devang Patel2010-04-291-0/+2
| | | | | | | | | | ##DEBUG_VALUE: runOnMachineFunction:this <- RDI+0 ##DEBUG_VALUE: runOnMachineFunction:fn <- RSI+0 ##DEBUG_VALUE: DeadDefs <- undef ## SimpleRegisterCoalescing.cpp:2706 ##DEBUG_VALUE: getRegInfo:this <- [%rsp+$56]+$0 ##DEBUG_VALUE: getTarget:this <- [%rsp+$56]+$0 llvm-svn: 102655
* Rework global alignment computation again. Now we do round upChris Lattner2010-04-281-19/+37
| | | | | | | | alignment of globals to the preferred alignment, but only when there is no section specified on the global (by far the common case). llvm-svn: 102515
* Emit debug info for byval parameters.Devang Patel2010-04-282-4/+15
| | | | llvm-svn: 102486
* further simplify EmitAlignment by eliminating the Chris Lattner2010-04-281-5/+2
| | | | | | ForcedAlignBits argument, tweaking the single client of it. llvm-svn: 102484
* remove a dead argument to EmitAlignment.Chris Lattner2010-04-281-2/+1
| | | | llvm-svn: 102483
* remove some default arguments to EmitAlignment.Chris Lattner2010-04-282-8/+6
| | | | llvm-svn: 102482
* Refactor. Devang Patel2010-04-282-50/+87
| | | | llvm-svn: 102481
* Use isReg(), isImm() and isFPImm().Devang Patel2010-04-271-9/+5
| | | | llvm-svn: 102470
* Check operand type first.Devang Patel2010-04-271-1/+2
| | | | llvm-svn: 102468
* Ignore DBG_VALUE instructions that points to undef values.Devang Patel2010-04-271-0/+5
| | | | llvm-svn: 102463
* Identify when a lexical scope is split in to multiple instruction ranges. ↵Devang Patel2010-04-272-214/+350
| | | | | | | | Emit such ranges using DW_AT_ranges. This patch fixes bug (PR6894) introduced by previous version of this patch. llvm-svn: 102454
* Do not count kill, implicit_def instructions as printed instructions.Evan Cheng2010-04-271-4/+4
| | | | llvm-svn: 102453
* round zero-byte .zerofill directives up to 1 byte. ThisChris Lattner2010-04-271-0/+2
| | | | | | | should fix some "g++.dg-struct-layout-1" failures, rdar://7886017 llvm-svn: 102421
* add a comment in verbose-asm mode indicating why a noop is being generated.Chris Lattner2010-04-261-2/+3
| | | | llvm-svn: 102401
* on darwin empty functions need to codegen into something of non-zero length,Chris Lattner2010-04-261-3/+9
| | | | | | | | | | | otherwise labels get incorrectly merged. We handled this by emitting a ".byte 0", but this isn't correct on thumb/arm targets where the text segment needs to be a multiple of 2/4 bytes. Handle this by emitting a noop. This is more gross than it should be because arm/ppc are not fully mc'ized yet. This fixes rdar://7908505 llvm-svn: 102400
OpenPOWER on IntegriCloud