summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-mc
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert accidental commit.Evan Cheng2011-07-131-2/+0
| | | | llvm-svn: 135059
* It's not safe to fold (fptrunc (sqrt (fpext x))) to (sqrtf x) if there is ↵Evan Cheng2011-07-131-0/+2
| | | | | | another use of sqrt. rdar://9763193 llvm-svn: 135058
* Disassembler doesn't need TargetMachine anymore.Evan Cheng2011-07-111-17/+0
| | | | llvm-svn: 134920
* - Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfoEvan Cheng2011-07-111-2/+5
| | | | | | | | | | | | 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-091-2/+6
| | | | | | | | | 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
* Eliminate asm parser's dependency on TargetMachine:Evan Cheng2011-07-081-1/+2
| | | | | | | | | | - 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
* createMCInstPrinter doesn't need TargetMachine anymore.Evan Cheng2011-07-063-6/+4
| | | | llvm-svn: 134525
* Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name toEvan Cheng2011-06-301-10/+2
| | | | | | | | | | 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
* Sink SubtargetFeature and TargetInstrItineraries (renamed ↵Evan Cheng2011-06-291-1/+1
| | | | | | MCInstrItineraries) into MC. llvm-svn: 134049
* Use the verbose asm flag instead of a new flag for decoding the LSDA.Bill Wendling2011-06-171-6/+1
| | | | llvm-svn: 133292
* Add an option that allows one to "decode" the LSDA.Bill Wendling2011-06-171-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Tidy up. 80-column and whitespace.Jim Grosbach2011-05-093-72/+73
| | | | llvm-svn: 131094
* Add all the plumbing needed for MC to expand cfi to the old tables inRafael Espindola2011-04-301-1/+2
| | | | | | | the final assembly. It is the same technique used when targeting assemblers that don't support .loc. llvm-svn: 130587
* Moved an access to an object past a NULL check,Sean Callanan2011-04-091-2/+2
| | | | | | making the MC disassembler tester more robust. llvm-svn: 129175
* MC: Add support for disabling "temporary label" behavior. Useful for debuggingDaniel Dunbar2011-03-281-0/+6
| | | | | | on Darwin. llvm-svn: 128430
* We need to pass the TargetMachine object to the InstPrinter if we are printingBill Wendling2011-03-213-8/+33
| | | | | | | | | the alias of an InstAlias instead of the thing being aliased. Because we need to know the features that are valid for an InstAlias. This is part of a work-in-progress. llvm-svn: 127986
* Plug some leaks in edis.Benjamin Kramer2011-02-241-5/+5
| | | | | | | - Don't leak parsed operands during tokenization. - Don't leak printed insts in llvm-mc. llvm-svn: 126381
* Fixed a bug in the enhanced disassembly tester thatSean Callanan2011-02-231-82/+86
| | | | | | caused it to only parse one line of input. llvm-svn: 126301
* Fixed llvm-mc in edis mode to use the result ofSean Callanan2011-02-221-1/+4
| | | | | | | operand.evaluate as an error code, not as the contents of the operand. llvm-svn: 126181
* Add support for the --noexecstack option.Rafael Espindola2011-01-231-1/+6
| | | | llvm-svn: 124077
* Correctly disassemble truncated asm.Rafael Espindola2011-01-061-1/+1
| | | | | | Patch by Richard Simth. llvm-svn: 122962
* MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> ↵Michael J. Spencer2010-12-161-11/+12
| | | | | | via an out parm. llvm-svn: 121958
* MC: Make TargetAsmBackend available to the AsmStreamer.Daniel Dunbar2010-12-161-2/+6
| | | | | | - Treaty talks on the non-proliferation of MC objects broke down. llvm-svn: 121949
* Fixed version of 121434 with no new memory leaks.Rafael Espindola2010-12-101-5/+12
| | | | llvm-svn: 121471
* Revert my previous patch to make the valgrind bots happy.Rafael Espindola2010-12-101-12/+5
| | | | llvm-svn: 121461
* Initial support for the cfi directives. This is just enough to getRafael Espindola2010-12-091-5/+12
| | | | | | | | | | | f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434
* Support/MemoryBuffer: Replace all uses of std::string *ErrMsg with ↵Michael J. Spencer2010-12-091-25/+10
| | | | | | error_code &ec. And fix clients. llvm-svn: 121379
* Merge System into Support.Michael J. Spencer2010-11-291-2/+2
| | | | llvm-svn: 120298
* Add registry hook for assembly text outputChe-Liang Chiou2010-11-081-3/+3
| | | | llvm-svn: 118394
* Allow specifying a CPU to llvm-mc, so that we can properly set up subtargetJim Grosbach2010-10-301-1/+20
| | | | | | feature lists for instruction pattern predicates. llvm-svn: 117788
* llvm-mc: Teach -as-lex to print the raw token string as well.Daniel Dunbar2010-10-251-42/+49
| | | | llvm-svn: 117296
* Move tool_output_file into its own file.Dan Gohman2010-10-071-1/+1
| | | | llvm-svn: 115973
* Push twines deeper into SourceMgr's error handling methods.Benjamin Kramer2010-09-271-0/+1
| | | | llvm-svn: 114847
* MC/Lexer: Add 'Real' token type for floating point literals.Daniel Dunbar2010-09-241-0/+3
| | | | llvm-svn: 114718
* llvm-mc: Teach -as-lex to print more token kinds.Daniel Dunbar2010-09-161-3/+13
| | | | llvm-svn: 114051
* Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."Michael J. Spencer2010-09-131-3/+2
| | | | | | | | | | This reverts commit r113632 Conflicts: cmake/modules/AddLLVM.cmake llvm-svn: 113819
* CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.Michael J. Spencer2010-09-101-2/+3
| | | | llvm-svn: 113632
* Make tool_output_file's raw_ostream instance a member variable insteadDan Gohman2010-09-011-43/+43
| | | | | | | | | | of a base class. This makes it possible to unregister the file from FilesToRemove when the file is done. Also, this eliminates the need for formatted_tool_output_file. llvm-svn: 112706
* tidy upChris Lattner2010-08-281-1/+2
| | | | llvm-svn: 112385
* Straighten out any triple strings passed on the command line beforeDuncan Sands2010-08-281-0/+1
| | | | | | they hit the rest of the system. llvm-svn: 112344
* Use the new tool_output_file in several tools. This fixes a varietyDan Gohman2010-08-203-99/+117
| | | | | | | | of problems with output files being left behind or output streams being left unclosed. Fix llvm-mc to respect the -o option in all modes, rather than hardcoding outs() in some cases. llvm-svn: 111603
* llvm-mc: Add -show-inst-operands, for dumping the parsed instruction ↵Daniel Dunbar2010-08-111-0/+5
| | | | | | representation before matching. llvm-svn: 110791
* Plug the remaining MC leaks by giving MCObjectStreamer/MCAsmStreamer ↵Benjamin Kramer2010-07-291-7/+6
| | | | | | ownership of the TargetAsmBackend and the MCCodeEmitter. llvm-svn: 109767
* start straightening out libedis's dependencies and make it fitChris Lattner2010-07-203-87/+59
| | | | | | | | | | | | | | | | better in the llvm world. Among other things, this changes: 1. The guts of libedis are now moved into lib/MC/MCDisassembler 2. llvm-mc now depends on lib/MC/MCDisassembler, not tools/edis, so edis and mc don't have to be built in series. 3. lib/MC/MCDisassembler no longer depends on the C api, the C API depends on it. 4. Various code cleanup changes. There is still a lot to be done to make edis fit with the llvm design, but this is an incremental step in the right direction. llvm-svn: 108869
* Target: Give the TargetAsmParser access to the TargetMachine.Daniel Dunbar2010-07-191-1/+1
| | | | | | - Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this. llvm-svn: 108664
* MC: Move several clients to using AsmParser constructor function.Daniel Dunbar2010-07-181-5/+6
| | | | llvm-svn: 108645
* llvm-mc: Fix llvm-mc -as-lex.Daniel Dunbar2010-07-181-2/+2
| | | | llvm-svn: 108644
* MC: Pass the target instance to the AsmParser constructor.Daniel Dunbar2010-07-011-1/+1
| | | | llvm-svn: 107426
* llvm-mc: Don't set NO_INSTALL on llvm-mc.Daniel Dunbar2010-06-111-1/+0
| | | | llvm-svn: 105837
* Avoid calling outs() and fouts() when the stream isn't really needed.Dan Gohman2010-05-271-2/+1
| | | | llvm-svn: 104873
OpenPOWER on IntegriCloud