summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-mc/Disassembler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Clients are responsible for initializing the targets, remove it from the ↵Benjamin Kramer2011-11-111-1/+0
| | | | | | | | | | disassembler API. This will break users of the LLVMCreateDisasm API (not that I know of any). They have to call the LLVMInitializeAll* functions from llvm-c/Target.h themselves now. edis' C API in all its horribleness should be unaffected. llvm-svn: 144385
* Make SMDiagnostic a little more sane. Instead of passing around ↵Chris Lattner2011-10-161-4/+6
| | | | | | | | note/warning/error as a string, pass it around as an enum. llvm-svn: 142107
* Don't attach annotations to MCInst's. Instead, have the disassembler ↵Owen Anderson2011-09-151-2/+2
| | | | | | return, and the printer accept, an annotation string which can be passed through if the client cares about annotations. llvm-svn: 139876
* Refactor instprinter and mcdisassembler to take a SubtargetInfo. Add -mattr= ↵James Molloy2011-09-071-2/+11
| | | | | | handling to llvm-mc. Reviewed by Owen Anderson. llvm-svn: 139237
* Move TargetRegistry and TargetSelect from Target to Support where they belong.Evan Cheng2011-08-241-2/+2
| | | | | | These are strictly utilities for registering targets and components. llvm-svn: 138450
* Allow the MCDisassembler to return a "soft fail" status code, indicating an ↵Owen Anderson2011-08-171-5/+16
| | | | | | | | instruction that is disassemblable, but invalid. Only used for ARM UNPREDICTABLE instructions at the moment. Patch by James Molloy. llvm-svn: 137830
* Rename createAsmInfo to createMCAsmInfo and move registration code to ↵Evan Cheng2011-07-141-1/+1
| | | | | | MCTargetDesc to prepare for next round of changes. llvm-svn: 135219
* createMCInstPrinter doesn't need TargetMachine anymore.Evan Cheng2011-07-061-2/+2
| | | | llvm-svn: 134525
* Tidy up. 80-column and whitespace.Jim Grosbach2011-05-091-57/+58
| | | | llvm-svn: 131094
* 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
* We need to pass the TargetMachine object to the InstPrinter if we are printingBill Wendling2011-03-211-2/+3
| | | | | | | | | 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
* Correctly disassemble truncated asm.Rafael Espindola2011-01-061-1/+1
| | | | | | Patch by Richard Simth. llvm-svn: 122962
* Push twines deeper into SourceMgr's error handling methods.Benjamin Kramer2010-09-271-0/+1
| | | | llvm-svn: 114847
* Use the new tool_output_file in several tools. This fixes a varietyDan Gohman2010-08-201-33/+36
| | | | | | | | 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
* start straightening out libedis's dependencies and make it fitChris Lattner2010-07-201-82/+57
| | | | | | | | | | | | | | | | 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
* Extended the edis "IsBranch" property to callSean Callanan2010-05-111-0/+5
| | | | | | | instructions as well. Added support for checking this to the llvm-mc tester as well. llvm-svn: 103454
* Fixed a sign-extension bug in the X86 disassemblerSean Callanan2010-05-051-0/+2
| | | | | | | | that was causing PC-relative branch targets to be evaluated incorrectly. Also added support for checking operand values to the llvm-mc tester. llvm-svn: 103128
* Make the disassembler respect the assembler dialect when printing instructions,Chris Lattner2010-04-131-1/+3
| | | | | | patch by Marius Wachtler! llvm-svn: 101160
* Second try at integrating the edis tester. ThisSean Callanan2010-04-121-37/+232
| | | | | | | | | | | time I use the LIBS variable, which is not subject to a %.a -> -l% transformation, to link llvm-mc against libEnhancedDisassembly. llvm-mc -edis works the same as llvm-mc -disassemble, but outputs tokens and operands. llvm-svn: 101058
* revert r100842 which broke several of the build bots.Chris Lattner2010-04-091-232/+37
| | | | llvm-svn: 100848
* Added a tester for the enhanced disassembler,Sean Callanan2010-04-091-37/+232
| | | | | | integrated into the llvm-mc testing tool. llvm-svn: 100842
* fix an ugly wart in the MCInstPrinter api where theChris Lattner2010-04-041-4/+4
| | | | | | | | raw_ostream to print an instruction to had to be specified at MCInstPrinter construction time instead of being able to pick at each call to printInstruction. llvm-svn: 100307
* llvm-mc: Fix MCInstPrinter memory leaks.Daniel Dunbar2010-03-201-9/+8
| | | | llvm-svn: 99101
* Fixed the disassembler so it accepts multipleSean Callanan2010-02-031-28/+20
| | | | | | | instructions on a single line. Also made it a bit more forgiving when it reports errors. llvm-svn: 95197
* rename HexDisassembler -> Disassembler, it works on any inputChris Lattner2009-12-221-0/+165
integer encoding (0123, 0b10101, 42, etc). llvm-svn: 91934
OpenPOWER on IntegriCloud