summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Produce a __debug_frame section on darwin ARM when appropriate.Rafael Espindola2011-05-101-6/+6
| | | | llvm-svn: 131151
* Use .cfi_sections to put the unwind info in .debug_frame when possible. WithRafael Espindola2011-05-101-8/+8
| | | | | | | | | this clang will use .debug_frame in, for example, clang -g -c -m32 test.c This matches gcc's behaviour. It looks like .debug_frame is a bit bigger than .eh_frame, but has the big advantage of not being allocated. llvm-svn: 131140
* Nothing else uses this label.Rafael Espindola2011-05-061-3/+0
| | | | llvm-svn: 130989
* Dead code elimination.Rafael Espindola2011-05-061-3/+2
| | | | llvm-svn: 130984
* Remove the DwarfTable enum.Rafael Espindola2011-05-051-3/+0
| | | | llvm-svn: 130959
* Implement a really simple DwarfSjLjException.Rafael Espindola2011-05-051-0/+2
| | | | llvm-svn: 130947
* List all exception types in a switch.Rafael Espindola2011-05-051-14/+15
| | | | llvm-svn: 130944
* Hoist MCLineEntry construction AsmPrinter so that anyone who derives from ↵Devang Patel2011-04-291-0/+3
| | | | | | | | AsmPrinter can have line number entries. PR 9810 llvm-svn: 130518
* Factor some code to needsCFIMoves. Avoid printing moves when we don't have to.Rafael Espindola2011-04-291-2/+18
| | | | llvm-svn: 130501
* Teach dwarf writer to handle complex address expression for .debug_loc entries.Devang Patel2011-04-281-17/+33
| | | | | | | This fixes clang generated blocks' variables' debug info. Radar 9279956. llvm-svn: 130373
* Revert r130178. It turned out to be not the optimal path to emit complex ↵Devang Patel2011-04-271-4/+3
| | | | | | location expressions. llvm-svn: 130326
* Print the label if we will use it in debug_frame.Rafael Espindola2011-04-261-2/+5
| | | | llvm-svn: 130232
* don't emit the symbol name twice for local bss and commonChris Lattner2011-04-261-6/+0
| | | | | | | | | | | symbols. For example, don't emit: .comm _i,4,2 ## @i ## @i instead emit: .comm _i,4,2 ## @i llvm-svn: 130192
* Print all the moves at a given label instead of just the first one.Rafael Espindola2011-04-261-5/+5
| | | | | | Remove previous DwarfCFI hack. llvm-svn: 130187
* Let dwarf writer allocate extra space in the debug location expression. This ↵Devang Patel2011-04-261-3/+4
| | | | | | space, if requested, will be used for complex addresses of the Blocks' variables. llvm-svn: 130178
* Refactor.Devang Patel2011-04-211-0/+34
| | | | llvm-svn: 129938
* Reduce clutter in asm output. Do not emit source location as comment for ↵Devang Patel2011-04-181-28/+0
| | | | | | each instruction. llvm-svn: 129715
* Some refactoring suggested by Anton Korobeynikov.Rafael Espindola2011-04-151-18/+1
| | | | llvm-svn: 129600
* Add 129518 back with a fix for when we are producing eh just because of ↵Rafael Espindola2011-04-151-0/+43
| | | | | | | | | debug info. Change ELF systems to use CFI for producing the EH tables. This reduces the size of the clang binary in Debug builds from 690MB to 679MB. llvm-svn: 129571
* Revert r129518, "Change ELF systems to use CFI for producing the EH tables. ↵NAKAMURA Takumi2011-04-151-43/+0
| | | | | | | | This reduces the" It broke several builds. llvm-svn: 129557
* Change ELF systems to use CFI for producing the EH tables. This reduces theRafael Espindola2011-04-141-0/+43
| | | | | | size of the clang binary in Debug builds from 690MB to 679MB. llvm-svn: 129518
* Print visibility info for external variables.Rafael Espindola2011-04-051-10/+12
| | | | llvm-svn: 128887
* Tidy up. 80 columns and trailing whitespace.Jim Grosbach2011-03-291-145/+146
| | | | llvm-svn: 128504
* Some first rudimentary support for ARM EHABI: print exception table in "text ↵Anton Korobeynikov2011-03-051-0/+3
| | | | | | mode". llvm-svn: 127099
* Omit private_extern declarations of extern symbols; followup toStuart Hastings2011-02-231-3/+7
| | | | | | r124468. Patch by Rafael Avila de Espindola! llvm-svn: 126297
* Spelling fix: consequtive -> consecutive.Duncan Sands2011-02-151-1/+1
| | | | llvm-svn: 125563
* Assert on bad jump tables.Jakob Stoklund Olesen2011-02-091-0/+1
| | | | llvm-svn: 125225
* Print the visibility of declarations.Rafael Espindola2011-01-281-1/+14
| | | | llvm-svn: 124468
* Add a possibility to switch between CFI directives- and table-based frame ↵Anton Korobeynikov2011-01-141-1/+9
| | | | | | description emission. Currently all the backends use table-based stuff. llvm-svn: 123476
* Split stuff as a preparation for CFI directives-based frame information emissionAnton Korobeynikov2011-01-141-2/+2
| | | | llvm-svn: 123473
* split dom frontier handling stuff out to its own DominanceFrontier header,Chris Lattner2011-01-021-0/+1
| | | | | | so that Dominators.h is *just* domtree. Also prune #includes a bit. llvm-svn: 122714
* remove the verbose-asm "constant pool double" comments that we were printingChris Lattner2010-12-131-8/+0
| | | | | | | | | | | for each constant pool entry. Using WriteTypeSymbolic here takes time proportional to the size of the module, for each constant pool entry. This speeds up -verbose-asm llc on 252.eon (a random testcase at my disposal) from 4.4s to 2.137s. llc takes 2.11s with asm-verbose off, so this is now a pretty reasonable cost for verbose comments. llvm-svn: 121691
* refactor the interface to EmitInlineAsm a bit, no functionality change.Chris Lattner2010-11-171-1/+1
| | | | llvm-svn: 119482
* s/beginScope/beginInstruction/gDevang Patel2010-10-261-2/+2
| | | | | | s/endScope/endInstruction/g llvm-svn: 117376
* the latest assembler that runs on powerpc 10.4 machines doesn'tChris Lattner2010-09-271-2/+10
| | | | | | | support aligned comm. Detect when compiling for 10.4 and don't emit an alignment for comm. THis will hopefully fix PR8198. llvm-svn: 114817
* add a comment about where this should eventually move.Chris Lattner2010-09-051-0/+7
| | | | llvm-svn: 113117
* There is no need to use .set here.Devang Patel2010-09-021-8/+1
| | | | | | Thanks Chris! llvm-svn: 112900
* Fix .debug_range for linux. Patch by Krister Wombell.Devang Patel2010-09-021-0/+23
| | | | llvm-svn: 112830
* remove unions from LLVM IR. They are severely buggy and notChris Lattner2010-08-281-18/+0
| | | | | | being actively maintained, improved, or extended. llvm-svn: 112356
* Create the new linker type "linker_private_weak_def_auto".Bill Wendling2010-08-201-2/+8
| | | | | | | | | | | It's similar to "linker_private_weak", but it's known that the address of the object is not taken. For instance, functions that had an inline definition, but the compiler decided not to inline it. Note, unlike linker_private and linker_private_weak, linker_private_weak_def_auto may have only default visibility. The symbols are removed by the linker from the final linked image (executable or dynamic library). llvm-svn: 111684
* Improve whitespace.Bill Wendling2010-08-181-1/+2
| | | | llvm-svn: 111384
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-1/+1
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* Change this llvm_unreachable to report_fatal_error, since it canDan Gohman2010-08-041-4/+11
| | | | | | be triggered by valid, if dubious, IR. llvm-svn: 110240
* Use isPrologLabel() instead of checking the opcode directly.Bill Wendling2010-07-171-1/+1
| | | | llvm-svn: 108628
* Consider this function:Bill Wendling2010-07-161-2/+12
| | | | | | | | | | | | | | | | | | | | | | void foo() { __builtin_unreachable(); } It will output the following on Darwin X86: _func1: Leh_func_begin0: pushq %rbp Ltmp0: movq %rsp, %rbp Ltmp1: Leh_func_end0: This prolog adds a new Call Frame Information (CFI) row to the FDE with an address that is not within the address range of the code it describes -- part is equal to the end of the function -- and therefore results in an invalid EH frame. If we emit a nop in this situation, then the CFI row is now within the address range. llvm-svn: 108568
* Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission andBill Wendling2010-07-161-1/+1
| | | | | | thus is a much more meaningful name. llvm-svn: 108563
* Remove many calls to TII::isMoveInstr. Targets should be producing COPY anyway.Jakob Stoklund Olesen2010-07-161-6/+2
| | | | | | TII::isMoveInstr is going tobe completely removed. llvm-svn: 108507
* a more graceful fix for test/Other/inline-asm-newline-terminator.ll,Chris Lattner2010-07-151-1/+1
| | | | | | follow on to r103765 llvm-svn: 108390
OpenPOWER on IntegriCloud