summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
* Compute feature bits at time of MCSubtargetInfo initialization.Evan Cheng2011-07-072-26/+54
| | | | llvm-svn: 134606
* Add a target hook to encode the compact unwind information.Bill Wendling2011-07-071-6/+8
| | | | llvm-svn: 134577
* Clean up the #includes.Bill Wendling2011-07-061-5/+4
| | | | llvm-svn: 134557
* createMCInstPrinter doesn't need TargetMachine anymore.Evan Cheng2011-07-062-3/+2
| | | | llvm-svn: 134525
* Add getFeatureBits to extract feature bits for a given CPU.Evan Cheng2011-07-021-0/+8
| | | | llvm-svn: 134298
* - Added MCSubtargetInfo to capture subtarget features and schedulingEvan Cheng2011-07-012-0/+45
| | | | | | | | | itineraries. - Refactor TargetSubtarget to be based on MCSubtargetInfo. - Change tablegen generated subtarget info to initialize MCSubtargetInfo and hide more details from targets. llvm-svn: 134257
* Eliminate one extra conversion.Evan Cheng2011-07-011-1/+1
| | | | llvm-svn: 134240
* Another misuse of StringRef. MSVC is very sensitive to that kind of error.Francois Pichet2011-07-011-2/+2
| | | | llvm-svn: 134236
* Fix use after free.Rafael Espindola2011-07-011-1/+1
| | | | llvm-svn: 134234
* Switch SubtargetFeatures from std::string to StringRef.Evan Cheng2011-07-011-22/+19
| | | | llvm-svn: 134219
* Remove tabs.Bill Wendling2011-06-301-6/+6
| | | | llvm-svn: 134212
* Improve comment: Show the register the DWARF label is added to.Bill Wendling2011-06-301-1/+2
| | | | llvm-svn: 134209
* Add one more comment to the FDE verbose asm output.Bill Wendling2011-06-301-0/+1
| | | | llvm-svn: 134200
* Add comments to the FDE.Bill Wendling2011-06-301-5/+13
| | | | llvm-svn: 134196
* Add more comments to the ASM output for the CIE's "moves".Bill Wendling2011-06-301-1/+20
| | | | llvm-svn: 134194
* Add comments to the ASM output to help understand the compact unwind and CIE ↵Bill Wendling2011-06-301-6/+61
| | | | | | tables. llvm-svn: 134191
* Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name toEvan Cheng2011-06-303-44/+26
| | | | | | | | | | be the first encoded as the first feature. It then uses the CPU name to look up features / scheduling itineray even though clients know full well the CPU name being used to query these properties. The fix is to just have the clients explictly pass the CPU name! llvm-svn: 134127
* * Use the proper size to output the range size.Bill Wendling2011-06-301-1/+8
| | | | | | * Rough in the compact encoding part. llvm-svn: 134119
* Stupid error: If the LSDA and Personality functions aren't there, emit 0 insteadBill Wendling2011-06-291-10/+8
| | | | | | of the encoding. llvm-svn: 134117
* We don't want to use relocations inside the compact unwind section. Just use theBill Wendling2011-06-291-4/+19
| | | | | | symbols instead. llvm-svn: 134115
* Asm parser range checking on .<size> <value> directives.Jim Grosbach2011-06-291-3/+9
| | | | | | | | | For example, ".byte 256" would previously assert() when emitting an object file. Now it generates a diagnostic that the literal value is out of range. rdar://9686950 llvm-svn: 134069
* Fix CMake build.NAKAMURA Takumi2011-06-291-0/+1
| | | | llvm-svn: 134055
* Sink SubtargetFeature and TargetInstrItineraries (renamed ↵Evan Cheng2011-06-291-0/+384
| | | | | | MCInstrItineraries) into MC. llvm-svn: 134049
* Refactor MachO relocation generaration into the Target directories.Jim Grosbach2011-06-241-985/+19
| | | | | | | | | Move the target-specific RecordRelocation logic out of the generic MC MachObjectWriter and into the target-specific object writers. This allows nuking quite a bit of target knowledge from the supposedly target-independent bits in lib/MC. llvm-svn: 133844
* tidy up whitespace.Jim Grosbach2011-06-241-1/+1
| | | | llvm-svn: 133815
* Fixup info for Thumb2 unconditional branch.Jim Grosbach2011-06-241-0/+1
| | | | | | rdar://9667872 llvm-svn: 133808
* Tidy up.Jim Grosbach2011-06-231-1/+1
| | | | llvm-svn: 133770
* Reinstate r133513 (reverted in r133700) with an additional fix for aJay Foad2011-06-231-4/+4
| | | | | | -Wshorten-64-to-32 warning in Instructions.h. llvm-svn: 133708
* Use a reference. Don't make a useless copy of the vector.Bill Wendling2011-06-231-1/+1
| | | | llvm-svn: 133707
* Formatting changes. No functionality change.Bill Wendling2011-06-231-32/+30
| | | | llvm-svn: 133706
* Revert r133513:Eric Christopher2011-06-231-4/+4
| | | | | | | | | "Reinstate r133435 and r133449 (reverted in r133499) now that the clang self-hosted build failure has been fixed (r133512)." Due to some additional warnings. llvm-svn: 133700
* Use the presence of the __compact_unwind section to indicate that a targetBill Wendling2011-06-231-1/+1
| | | | | | supports compact unwind info instead of having a separate flag indicating this. llvm-svn: 133685
* Some skeleton code to emit the compact unwind. If the information is unable toBill Wendling2011-06-231-1/+63
| | | | | | be emitted in a compact way, we then default to emitting a CIE and FDE. llvm-svn: 133676
* 80-column violations.Bill Wendling2011-06-231-12/+17
| | | | llvm-svn: 133668
* Move class methods out-of-line. This reduces the indentation, and is more inBill Wendling2011-06-221-1289/+1410
| | | | | | | line with LLVM's general coding style. No functionality change. llvm-svn: 133645
* Remove the subclassing. This will be moved to the ASM printer.Bill Wendling2011-06-201-379/+0
| | | | llvm-svn: 133473
* Directly print to a raw_ostream instead of printing to a buffer first.Benjamin Kramer2011-06-181-4/+1
| | | | llvm-svn: 133352
* MC: Allow .common as alias for .comm assembler directive. PR10116.Hans Wennborg2011-06-181-1/+1
| | | | llvm-svn: 133349
* * Override the "EmitBytes" function, since it can sneak values in that way.Bill Wendling2011-06-181-1/+18
| | | | | | * Make this used only if CFI is used. llvm-svn: 133319
* Remove false assertion.Bill Wendling2011-06-171-3/+1
| | | | llvm-svn: 133314
* Disable for another investigation.Bill Wendling2011-06-171-1/+2
| | | | llvm-svn: 133299
* Support only DwarfCFI or SjLj exception handling in LSDA decoder.Bill Wendling2011-06-171-1/+5
| | | | llvm-svn: 133297
* SjLj exception handling LSDA decoding support wasn't represented correctly. UseBill Wendling2011-06-171-17/+15
| | | | | | | the correct values, etc. In particular, the exception handling type is SjLj, not ARM. llvm-svn: 133296
* Disable to investigate ARM failure.Bill Wendling2011-06-171-1/+2
| | | | llvm-svn: 133293
* Use the verbose asm flag instead of a new flag for decoding the LSDA.Bill Wendling2011-06-171-2/+2
| | | | llvm-svn: 133292
* Add an option that allows one to "decode" the LSDA.Bill Wendling2011-06-171-3/+365
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The LSDA is a bit difficult for the non-initiated to read. Even with comments, it's not always clear what's going on. This wraps the ASM streamer in a class that retains the LSDA and then emits a human-readable description of what's going on in it. So instead of having to make sense of: Lexception1: .byte 255 .byte 155 .byte 168 .space 1 .byte 3 .byte 26 Lset0 = Ltmp7-Leh_func_begin1 .long Lset0 Lset1 = Ltmp812-Ltmp7 .long Lset1 Lset2 = Ltmp913-Leh_func_begin1 .long Lset2 .byte 3 Lset3 = Ltmp812-Leh_func_begin1 .long Lset3 Lset4 = Leh_func_end1-Ltmp812 .long Lset4 .long 0 .byte 0 .byte 1 .byte 0 .byte 2 .byte 125 .long __ZTIi@GOTPCREL+4 .long __ZTIPKc@GOTPCREL+4 you can read this instead: ## Exception Handling Table: Lexception1 ## @LPStart Encoding: omit ## @TType Encoding: indirect pcrel sdata4 ## @TType Base: 40 bytes ## @CallSite Encoding: udata4 ## @Action Table Size: 26 bytes ## Action 1: ## A throw between Ltmp7 and Ltmp812 jumps to Ltmp913 on an exception. ## For type(s): __ZTIi@GOTPCREL+4 __ZTIPKc@GOTPCREL+4 ## Action 2: ## A throw between Ltmp812 and Leh_func_end1 does not have a landing pad. llvm-svn: 133286
* Remove a useless copy of MCELFStreamer. Patch by Logan Chien!Benjamin Kramer2011-06-171-134/+0
| | | | llvm-svn: 133272
* Diagnostic for undefined assembler local symbols.Jim Grosbach2011-06-151-4/+29
| | | | | | | | | | | | | | | Re-apply 133010, with fixes for inline assembler. Original commit message: "When an assembler local symbol is used but not defined in a module, a Darwin assembler wants to issue a diagnostic to that effect." Added fix to only perform the check when finalizing, as otherwise we're not done and undefined symbols may simply not have been encountered yet. Passes "make check" and a self-host check on Darwin. llvm-svn: 133071
* Revert 133010. Self-hosted buildbot unhappy.Jim Grosbach2011-06-141-25/+4
| | | | | | | Apparently llvm itself generates undefined assembler local labels, causing self-hosting problems with this patch. Reverting until that's sorted out. llvm-svn: 133013
* Diagnostic for undefined assembler local symbols.Jim Grosbach2011-06-141-4/+25
| | | | | | | | | When an assembler local symbol is used but not defined in a module, a Darwin assembler wants to issue a diagnostic to that effect. rdar://9559714 llvm-svn: 133010
OpenPOWER on IntegriCloud