Add a llvm.copysign intrinsic
[oota-llvm.git] / docs / WritingAnLLVMPass.rst
index db47fefd9300257b13c0b6b6b5c618359f0ce956..1114fa0f21173bfc7e2f0a40778703374c7b15a3 100644 (file)
@@ -5,9 +5,6 @@ Writing an LLVM Pass
 .. contents::
     :local:
 
-Written by `Chris Lattner <mailto:sabre@nondot.org>`_ and
-`Jim Laskey <mailto:jlaskey@mac.com>`_
-
 Introduction --- What is a pass?
 ================================
 
@@ -99,7 +96,7 @@ Start out with:
 .. code-block:: c++
 
   #include "llvm/Pass.h"
-  #include "llvm/Function.h"
+  #include "llvm/IR/Function.h"
   #include "llvm/Support/raw_ostream.h"
 
 Which are needed because we are writing a `Pass
@@ -187,7 +184,7 @@ As a whole, the ``.cpp`` file looks like:
 .. code-block:: c++
 
     #include "llvm/Pass.h"
-    #include "llvm/Function.h"
+    #include "llvm/IR/Function.h"
     #include "llvm/Support/raw_ostream.h"
 
     using namespace llvm;
@@ -457,7 +454,7 @@ external functions.
 
 To be explicit, ``FunctionPass`` subclasses are not allowed to:
 
-#. Modify a ``Function`` other than the one currently being processed.
+#. Inspect or modify a ``Function`` other than the one currently being processed.
 #. Add or remove ``Function``\ s from the current ``Module``.
 #. Add or remove global variables from the current ``Module``.
 #. Maintain state across invocations of:ref:`runOnFunction