aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/MC
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-02-10 00:10:18 +0000
committerChris Lattner <sabre@nondot.org>2010-02-10 00:10:18 +0000
commit5d672cfab096390690a1a5f33b0057c4cf252c55 (patch)
tree8b302847f85f74e88fce57840961a054fae60ae3 /include/llvm/MC
parent51898d7a8948f7d9b1b498cf22609241945e994e (diff)
downloadexternal_llvm-5d672cfab096390690a1a5f33b0057c4cf252c55.zip
external_llvm-5d672cfab096390690a1a5f33b0057c4cf252c55.tar.gz
external_llvm-5d672cfab096390690a1a5f33b0057c4cf252c55.tar.bz2
Add ability for MCInstPrinters to add comments for instructions.
Enhance the x86 backend to show the hex values of immediates in comments when they are large. For example: movl $1072693248, 4(%esp) ## imm = 0x3FF00000 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95728 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC')
-rw-r--r--include/llvm/MC/MCFixup.h2
-rw-r--r--include/llvm/MC/MCInstPrinter.h12
2 files changed, 12 insertions, 2 deletions
diff --git a/include/llvm/MC/MCFixup.h b/include/llvm/MC/MCFixup.h
index da8e92e..3c2edfb 100644
--- a/include/llvm/MC/MCFixup.h
+++ b/include/llvm/MC/MCFixup.h
@@ -16,7 +16,7 @@ namespace llvm {
// Private constants, do not use.
//
-// This is currently layed out so that the MCFixup fields can be efficiently
+// This is currently laid out so that the MCFixup fields can be efficiently
// accessed, while keeping the offset field large enought that the assembler
// backend can reasonably use the MCFixup representation for an entire fragment
// (splitting any overly large fragments).
diff --git a/include/llvm/MC/MCInstPrinter.h b/include/llvm/MC/MCInstPrinter.h
index d62a9da..8829518 100644
--- a/include/llvm/MC/MCInstPrinter.h
+++ b/include/llvm/MC/MCInstPrinter.h
@@ -20,12 +20,22 @@ class MCAsmInfo;
/// that converts an MCInst to valid target assembly syntax.
class MCInstPrinter {
protected:
+ /// O - The main stream to emit instruction text to.
raw_ostream &O;
+
+ /// CommentStream - a stream that comments can be emitted to if desired.
+ /// Each comment must end with a newline. This will be null if verbose
+ /// assembly emission is disable.
+ raw_ostream *CommentStream;
const MCAsmInfo &MAI;
public:
- MCInstPrinter(raw_ostream &o, const MCAsmInfo &mai) : O(o), MAI(mai) {}
+ MCInstPrinter(raw_ostream &o, const MCAsmInfo &mai)
+ : O(o), CommentStream(0), MAI(mai) {}
virtual ~MCInstPrinter();
+
+ /// setCommentStream - Specify a stream to emit comments to.
+ void setCommentStream(raw_ostream &OS) { CommentStream = &OS; }
/// printInst - Print the specified MCInst to the current raw_ostream.
///