From c52566d2226aa744935c682c0073529002d4eb4d Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Wed, 9 Oct 2013 02:05:08 +0000 Subject: [PATCH] Add a paragraph about MCTargetStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192265 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/CodeGenerator.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/CodeGenerator.rst b/docs/CodeGenerator.rst index a1fec81d3cf..4b992888115 100644 --- a/docs/CodeGenerator.rst +++ b/docs/CodeGenerator.rst @@ -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 -----------------------