summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Teach the MC to output code/data region marker labels in MachO and ELF ↵Owen Anderson2011-10-041-1/+12
| | | | | | modes. These are used by disassemblers to provide better disassembly, particularly on targets like ARM Thumb that like to intermingle data in the TEXT segment. llvm-svn: 141135
* Place this bracket according to the LLVM style.Duncan Sands2011-09-291-2/+1
| | | | llvm-svn: 140784
* Darwin wants ctors/dtors to be ordered the other way round to linux.Duncan Sands2011-09-021-1/+10
| | | | llvm-svn: 139015
* Don't drop alignment info on local common symbols.Benjamin Kramer2011-09-011-5/+5
| | | | | | | | | | | - On COFF the .lcomm directive has an alignment argument. - On ELF we fall back to .local + .comm Based on a patch by NAKAMURA Takumi. Fixes PR9337, PR9483 and PR10128. llvm-svn: 138976
* Fix Size TypingDavid Greene2011-08-311-1/+1
| | | | | | Stores sizes as uint64_t to avoid possible truncation. llvm-svn: 138901
* Compress Repeated Byte OutputDavid Greene2011-08-311-3/+59
| | | | | | | Emit a repeated sequence of bytes using .zero. This saves an enormous amount of asm file space for certain programs. llvm-svn: 138864
* Fix PR5329: pay attention to constructor/destructor priorityDuncan Sands2011-08-281-13/+36
| | | | | | | when outputting them. With this, the entire LLVM testsuite passes when built with dragonegg. llvm-svn: 138724
* Remove an unnecessary cast.Jay Foad2011-08-011-1/+1
| | | | llvm-svn: 136609
* Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.Evan Cheng2011-07-201-1/+0
| | | | | | | There is still a bit more refactoring left to do in Targets. But we are now very close to fixing all the layering issues in MC. llvm-svn: 135611
* Convert TargetData::getIndexedOffset to use ArrayRef.Jay Foad2011-07-191-2/+1
| | | | llvm-svn: 135478
* Add a frame with the compact unwind encoding if it exists.Bill Wendling2011-07-191-0/+3
| | | | llvm-svn: 135450
* land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner2011-07-181-2/+2
| | | | llvm-svn: 135375
* Handle debug info for i128 constants.Devang Patel2011-06-241-0/+2
| | | | llvm-svn: 133821
* Emit trailing padding on constant vectors when TargetData says that the vectorNick Lewycky2011-06-221-0/+7
| | | | | | is larger than the sum of the elements (including per-element padding). llvm-svn: 133631
* Fix a FIXME by making GlobalVariable::getInitializer() return aJay Foad2011-06-191-4/+4
| | | | | | const Constant *. llvm-svn: 133400
* Handle jump tables. Test to follow soon.Rafael Espindola2011-06-151-0/+2
| | | | llvm-svn: 133083
* Revert r133004 ; it's breaking nightly tests.Eli Friedman2011-06-141-4/+21
| | | | llvm-svn: 133007
* Partial revert of 132882.Rafael Espindola2011-06-141-21/+4
| | | | | | | | | | | | | | | | Dan noted that this would work on the case shown on the commit message. I think the case that was failing was a bb ending with a redundant conditional jump: ... jne foo foo: ... I was unable to find any such case in the tests or in a debug build of clang, so I will revert this part of the patch and watch the bots. llvm-svn: 133004
* Implement Jakob's suggestion on how to detect fall thought without callingRafael Espindola2011-06-141-12/+19
| | | | | | AnalyzeBranch. llvm-svn: 132981
* Really fix the fall-through logic.Rafael Espindola2011-06-121-0/+3
| | | | | | Add a triple to the tests. llvm-svn: 132885
* Fix silly bug I introduce in the previous commit. Fixes debug builds.Rafael Espindola2011-06-121-3/+3
| | | | llvm-svn: 132883
* 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
OpenPOWER on IntegriCloud