summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* AnalyzeBranch doesn't change which successors a bb has, just the orderRafael Espindola2011-06-121-4/+11
| | | | | | | | | | | | | | | | | | we try to branch to them. Before we were creating successor lists with duplicated entries. Fixing that found a bug in isBlockOnlyReachableByFallthrough that would causes it to return the wrong answer for ----------- ... jne foo jmp bar foo: ---------- llvm-svn: 132882
* Ensure that EmitGlobalVariable is correctly differentiating between declarationsChad Rosier2011-06-101-1/+1
| | | | | | | | and definitions when emitting global variables. This was causing global declarations to be emitted as if they were definitions. Fixes <rdar://problem/9429892>. llvm-svn: 132825
* When generating code for Win64 EH, emit StartProc and EndProc directives.Charles Davis2011-05-281-0/+5
| | | | llvm-svn: 132250
* Fix the root cause of the bootstrap failure:Rafael Espindola2011-05-281-1/+1
| | | | | | | | There was no way to check if a given register/mode pair was valid. We now return an error code (-2) instead of asserting. If anyone thinks that an assert at this point is really needed, we can autogen a hasValidDwarfRegNum instead. llvm-svn: 132236
* Stub out support for Win64-style exceptions. Note that this is merely usingCharles Davis2011-05-271-0/+3
| | | | | | | the Win64 EH mechanism to implement GCC-style exceptions. LLVM supports hardly anything else at this point! llvm-svn: 132234
* Fix a regression I recently introduced by removing DwarfRegNum ofRafael Espindola2011-05-271-1/+18
| | | | | | | | | | subregisters: When a value is in a subregister, at least report the location as being the superregister. We should extend the .td files to encode the bit range so that we can produce a DW_OP_bit_piece. llvm-svn: 132224
* Make size computation less brittle.Rafael Espindola2011-05-271-20/+0
| | | | llvm-svn: 132222
* Replace the -unwind-tables option with a per function flag. This is moreRafael Espindola2011-05-251-7/+3
| | | | | | | LTO friendly as we can now correctly merge files compiled with or without -fasynchronous-unwind-tables. llvm-svn: 132033
* 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
OpenPOWER on IntegriCloud