summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
...
* Update MCParsedAsmOperand debug methods.Jim Grosbach2011-07-132-2/+6
| | | | | | | | | | | Update the debug output interface for MCParsedAsmOperand to have a print() method which takes an output stream argument, an << operator which invokes the print method using the given stream, and a dump() method which prints the operand to the dbgs() stream. This makes the interface more consistent with the rest of LLVM, and more convenient to use at the debugger command line. llvm-svn: 135043
* Don't emit the FDE end label if the last thing emitted was a compact unwind andBill Wendling2011-07-131-1/+3
| | | | | | not the FDE llvm-svn: 135020
* Resynchronize EDInfo.h and EDEmitter.cpp.Shantonu Sen2011-07-112-11/+29
| | | | | | | | | | | | The enum names as well as order (i.e. value) had skewed, which means that consumers of the tablegen-ed table would see different values than intended. Make both files have a superset of enums, and add classification as needed for numMCOperands. Reviewed by Owen Anderson llvm-svn: 134905
* - Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfoEvan Cheng2011-07-111-8/+11
| | | | | | | | | | | | and MCSubtargetInfo. - Added methods to update subtarget features (used when targets automatically detect subtarget features or switch modes). - Teach X86Subtarget to update MCSubtargetInfo features bits since the MCSubtargetInfo layer can be shared with other modules. - These fixes .code 16 / .code 32 support since mode switch is updated in MCSubtargetInfo so MC code emitter can do the right thing. llvm-svn: 134884
* Change createAsmParser to take a MCSubtargetInfo instead of triple,Evan Cheng2011-07-093-1/+52
| | | | | | | | | 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
* Fix comment.Evan Cheng2011-07-081-1/+1
| | | | llvm-svn: 134763
* TargetAsmParser doesn't need reference to Target.Evan Cheng2011-07-081-2/+2
| | | | llvm-svn: 134721
* Eliminate asm parser's dependency on TargetMachine:Evan Cheng2011-07-082-4/+7
| | | | | | | | | | - 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
* This patch adds a flag in MCAsmInfo that indicates whether dwarf registerAkira Hatanaka2011-07-072-1/+2
| | | | | | | | | | numbers should be printed instead of symbolic register names in MCAsmStreamer::EmitRegisterName. This is necessary because some versions of GNU assembler won't accept code in which symbolic register names are used in cfi directives. There is no change in behavior unless the flag is explicitly set to true by a backend. llvm-svn: 134635
* 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
OpenPOWER on IntegriCloud