summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
* Change createAsmParser to take a MCSubtargetInfo instead of triple,Evan Cheng2011-07-091-5/+10
| | | | | | | | | CPU, and feature string. Parsing some asm directives can change subtarget state (e.g. .code 16) and it must be reflected in other modules (e.g. MCCodeEmitter). That is, the MCSubtargetInfo instance must be shared. llvm-svn: 134795
* Refactor.Devang Patel2011-07-081-28/+29
| | | | llvm-svn: 134703
* Make provision to have floating point constants in .debug_loc expressions.Devang Patel2011-07-082-43/+80
| | | | llvm-svn: 134702
* Eliminate asm parser's dependency on TargetMachine:Evan Cheng2011-07-081-1/+6
| | | | | | | | | | - Each target asm parser now creates its own MCSubtatgetInfo (if needed). - Changed AssemblerPredicate to take subtarget features which tablegen uses to generate asm matcher subtarget feature queries. e.g. "ModeThumb,FeatureThumb2" is translated to "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0". llvm-svn: 134678
* Add DEBUG message.Devang Patel2011-07-071-0/+2
| | | | llvm-svn: 134643
* Add DEBUG messages.Devang Patel2011-07-071-2/+9
| | | | llvm-svn: 134572
* Remove dead code.Devang Patel2011-07-061-2/+0
| | | | llvm-svn: 134561
* Handle debug info for i128 constants.Devang Patel2011-06-244-19/+25
| | | | 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
* Add verbose EH table printing to SjLj exception tables.Bill Wendling2011-06-211-2/+19
| | | | llvm-svn: 133561
* Improve the comment printing for the EH table. This gives a much more detailedBill Wendling2011-06-211-23/+69
| | | | | | explanation of what the EH table describes. llvm-svn: 133559
* 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
* Use path API for path concatenation.Benjamin Kramer2011-06-051-5/+3
| | | | llvm-svn: 132668
* A DBG_VALUE that truncates a range does not start another dbg value range.Devang Patel2011-06-011-0/+5
| | | | llvm-svn: 132433
* Do not drop constant values when a variable's content is described using ↵Devang Patel2011-06-012-14/+47
| | | | | | .debug_loc entries. llvm-svn: 132427
* Incomplete type may not have corresponding DIE, so do not check DIEEntry ↵Devang Patel2011-06-012-5/+6
| | | | | | eagerly. llvm-svn: 132377
* Refactor.Devang Patel2011-05-312-10/+9
| | | | llvm-svn: 132373
* Include global types, that are referenced through local variables, in ↵Devang Patel2011-05-312-7/+8
| | | | | | debug_pubtypes list. llvm-svn: 132371
* Emit the handler's data area. For GCC-style exceptions under Win64, theCharles Davis2011-05-301-0/+21
| | | | | | | handler's data area starts with a 4-byte reference to the personality function, followed by the DWARF LSDA. llvm-svn: 132302
* When generating against the Win64 EH scheme, set the handler to the GCC-specificCharles Davis2011-05-291-0/+7
| | | | | | | | | | | | | | | | handler. At this moment, only GCC-style exceptions are supported. Other kinds of exceptions, including "traditional" SEH and Microsoft Visual C++ exceptions, need more work--and an compiler exception model that isn't specific to GCC-style exceptions! In particular, I imagine that it would be possible to mix "traditional" SEH with GCC-style EH or Microsoft C++ EH. Currently LLVM has no way (beyond some target-specific defaults and whole-module compiler switches) of knowing which scheme to use when. llvm-svn: 132283
* When generating code for Win64 EH, emit StartProc and EndProc directives.Charles Davis2011-05-282-0/+31
| | | | llvm-svn: 132250
* Select DW_AT_const_value size based on global variable size.Devang Patel2011-05-281-5/+13
| | | | llvm-svn: 132239
* 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-274-0/+98
| | | | | | | 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-272-30/+6
| | | | llvm-svn: 132222
* Keep this simple. Use DIType to get signness and size of a type. Based on ↵Devang Patel2011-05-271-18/+13
| | | | | | size, select appropraite form. llvm-svn: 132206
* Handle signed types gracefully.Devang Patel2011-05-271-9/+21
| | | | | | This fixes regressions reported by buildbots as a fallout of r132193. llvm-svn: 132197
* Select DW_AT_const_value size based on variable size.Devang Patel2011-05-273-5/+15
| | | | llvm-svn: 132193
* Replace the -unwind-tables option with a per function flag. This is moreRafael Espindola2011-05-252-9/+5
| | | | | | | LTO friendly as we can now correctly merge files compiled with or without -fasynchronous-unwind-tables. llvm-svn: 132033
* Fix debug info for blocks' variable.Devang Patel2011-05-241-6/+21
| | | | llvm-svn: 131940
* Remove unnecessary comment.Devang Patel2011-05-231-1/+0
| | | | llvm-svn: 131936
* No reason not to allow defining the CFA as a reg w/ offset zero.Jim Grosbach2011-05-201-2/+0
| | | | llvm-svn: 131760
* Fix typo.Jim Grosbach2011-05-201-1/+1
| | | | llvm-svn: 131757
* Add support for frame info use of the .cfi_def_cfa directive.Jim Grosbach2011-05-201-1/+2
| | | | llvm-svn: 131756
* Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.Devang Patel2011-05-121-2/+2
| | | | | | s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g llvm-svn: 131244
* Let Objective-C front-end identify class extension, in dwarf output, using ↵Devang Patel2011-05-121-0/+4
| | | | | | an attribute DW_AT_APPLE_objc_class_extension. llvm-svn: 131238
* Identify end of prologue (and beginning of function body) using ↵Devang Patel2011-05-112-44/+40
| | | | | | DW_LNS_set_prologue_end line table opcode. llvm-svn: 131194
* Initialize moveTypeModule.Rafael Espindola2011-05-101-2/+2
| | | | llvm-svn: 131157
* Produce a __debug_frame section on darwin ARM when appropriate.Rafael Espindola2011-05-104-73/+6
| | | | llvm-svn: 131151
* Rename DwarfRequiresRelocationForStmtList toRafael Espindola2011-05-101-1/+1
| | | | | | DwarfRequiresRelocationForSectionOffset as this is not specific to StmtList. llvm-svn: 131148
* Use .cfi_sections to put the unwind info in .debug_frame when possible. WithRafael Espindola2011-05-103-9/+21
| | | | | | | | | 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
OpenPOWER on IntegriCloud