aboutsummaryrefslogtreecommitdiffstats
path: root/tools/edis/EDDisassembler.h
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2010-04-08 00:48:21 +0000
committerSean Callanan <scallanan@apple.com>2010-04-08 00:48:21 +0000
commit7f42f72a50cf6b5e108f10c94e0c2e529a50497b (patch)
tree552595597d80db505ac9ad4dc9c6b4cf15dddfc3 /tools/edis/EDDisassembler.h
parent878bcb1edf2fd25ec5b30b71d66365248fe33e71 (diff)
downloadexternal_llvm-7f42f72a50cf6b5e108f10c94e0c2e529a50497b.zip
external_llvm-7f42f72a50cf6b5e108f10c94e0c2e529a50497b.tar.gz
external_llvm-7f42f72a50cf6b5e108f10c94e0c2e529a50497b.tar.bz2
Added support for ARM disassembly to edis.
I also added a rule to the ARM target's Makefile to build the ARM-specific instruction information table for the enhanced disassembler. I will add the test harness for all this stuff in a separate commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100735 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/edis/EDDisassembler.h')
-rw-r--r--tools/edis/EDDisassembler.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/tools/edis/EDDisassembler.h b/tools/edis/EDDisassembler.h
index 6be9152..9b27fe8 100644
--- a/tools/edis/EDDisassembler.h
+++ b/tools/edis/EDDisassembler.h
@@ -113,13 +113,13 @@ struct EDDisassembler {
// Per-object members //
////////////////////////
- /// True only if the object has been fully and successfully initialized
+ /// True only if the object has been successfully initialized
bool Valid;
+ /// True if the disassembler can provide semantic information
+ bool HasSemantics;
- /// The string that stores disassembler errors from the backend
- std::string ErrorString;
- /// The stream that wraps the ErrorString
- llvm::raw_string_ostream ErrorStream;
+ /// The stream to write errors to
+ llvm::raw_ostream &ErrorStream;
/// The architecture/syntax pair for the current architecture
CPUKey Key;
@@ -180,6 +180,12 @@ struct EDDisassembler {
return Valid;
}
+ /// hasSemantics - reports whether the disassembler can provide operands and
+ /// tokens.
+ bool hasSemantics() {
+ return HasSemantics;
+ }
+
~EDDisassembler();
/// createInst - creates and returns an instruction given a callback and