Add a paragraph about MCTargetStreamer.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 9 Oct 2013 02:05:08 +0000 (02:05 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 9 Oct 2013 02:05:08 +0000 (02:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192265 91177308-0d34-0410-b5e6-96231b3b80d8

docs/CodeGenerator.rst

index a1fec81d3cf7b2d0caa86a3a6d50abf99b0981eb..4b992888115172e43ca941b0247b9a627775b1a9 100644 (file)
@@ -636,6 +636,13 @@ file (MCObjectStreamer).  MCAsmStreamer is a straight-forward implementation
 that prints out a directive for each method (e.g. ``EmitValue -> .byte``), but
 MCObjectStreamer implements a full assembler.
 
+For target specific directives, the MCStreamer has a MCTargetStreamer instance.
+Each target that needs it defines a class that inherits from it and is a lot
+like MCStreamer itself: It has one method per directive and two classes that
+inherit from it, a target object streamer and a target asm streamer. The target
+asm streamer just prints it (``emitFnStart -> .fnstrart``), and the object
+streamer implement the assembler logic for it.
+
 The ``MCContext`` class
 -----------------------