From: Rafael Espindola Date: Wed, 9 Oct 2013 02:05:08 +0000 (+0000) Subject: Add a paragraph about MCTargetStreamer. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c52566d2226aa744935c682c0073529002d4eb4d;p=oota-llvm.git Add a paragraph about MCTargetStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192265 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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 -----------------------