Add a paragraph about MCTargetStreamer.
[oota-llvm.git] / 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
 -----------------------