Documentation: convert WritingAnLLVMPass.html to reST.

Patch by Anthony Mykhailenko with small fixes by me.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169992 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dmitri Gribenko 2012-12-12 17:02:44 +00:00
parent 44581afacc
commit b64f020a30
8 changed files with 1456 additions and 1967 deletions

View File

@ -355,6 +355,8 @@ an equivalent variant of snippet shown above:
target_link_libraries(mycompiler ${REQ_LLVM_LIBRARIES}) target_link_libraries(mycompiler ${REQ_LLVM_LIBRARIES})
.. _cmake-out-of-source-pass:
Developing LLVM pass out of source Developing LLVM pass out of source
---------------------------------- ----------------------------------

View File

@ -758,10 +758,10 @@ If ``CustomReadBarriers`` or ``CustomWriteBarriers`` are specified, then
``performCustomLowering`` **must** eliminate the corresponding barriers. ``performCustomLowering`` **must** eliminate the corresponding barriers.
``performCustomLowering`` must comply with the same restrictions as ``performCustomLowering`` must comply with the same restrictions as
`FunctionPass::runOnFunction <WritingAnLLVMPass.html#runOnFunction>`__ :ref:`FunctionPass::runOnFunction <writing-an-llvm-pass-runOnFunction>`
Likewise, ``initializeCustomLowering`` has the same semantics as Likewise, ``initializeCustomLowering`` has the same semantics as
`Pass::doInitialization(Module&) :ref:`Pass::doInitialization(Module&)
<WritingAnLLVMPass.html#doInitialization_mod>`__ <writing-an-llvm-pass-doInitialization-mod>`
The following can be used as a template: The following can be used as a template:

View File

@ -170,9 +170,9 @@ openable with the ``dlopen`` function and searchable with the ``dlsym`` function
(or your operating system's equivalents). While this isn't strictly necessary on (or your operating system's equivalents). While this isn't strictly necessary on
Linux and a few other platforms, it is required on systems like HP-UX and Linux and a few other platforms, it is required on systems like HP-UX and
Darwin. You should use ``LOADABLE_MODULE`` for any shared library that you Darwin. You should use ``LOADABLE_MODULE`` for any shared library that you
intend to be loaded into an tool via the ``-load`` option. See the intend to be loaded into an tool via the ``-load`` option. `Pass documentation
`WritingAnLLVMPass.html <WritingAnLLVMPass.html#makefile>`_ document for an <writing-an-llvm-pass-makefile>`_ has an example of why you might want to do
example of why you might want to do this. this.
Bitcode Modules Bitcode Modules
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^

View File

@ -54,8 +54,8 @@ These essential documents must be read before reading this document:
file (``.td`` suffix) and generates C++ code that can be used for code file (``.td`` suffix) and generates C++ code that can be used for code
generation. generation.
* `Writing an LLVM Pass <WritingAnLLVMPass.html>`_ --- The assembly printer is * :doc:`WritingAnLLVMPass` --- The assembly printer is a ``FunctionPass``, as
a ``FunctionPass``, as are several SelectionDAG processing steps. are several ``SelectionDAG`` processing steps.
To follow the SPARC examples in this document, have a copy of `The SPARC To follow the SPARC examples in this document, have a copy of `The SPARC
Architecture Manual, Version 8 <http://www.sparc.org/standards/V8.pdf>`_ for Architecture Manual, Version 8 <http://www.sparc.org/standards/V8.pdf>`_ for

File diff suppressed because it is too large Load Diff

1439
docs/WritingAnLLVMPass.rst Normal file

File diff suppressed because it is too large Load Diff

View File

@ -23,14 +23,15 @@ Subsystem Documentation
SourceLevelDebugging SourceLevelDebugging
WritingAnLLVMBackend WritingAnLLVMBackend
GarbageCollection GarbageCollection
WritingAnLLVMPass
.. FIXME: once LangRef is Sphinxified, HowToUseInstrMappings should be put .. FIXME: once LangRef is Sphinxified, HowToUseInstrMappings should be put
under LangRef's toctree instead of this page's toctree. under LangRef's toctree instead of this page's toctree.
* `Writing an LLVM Pass <WritingAnLLVMPass.html>`_ * :doc:`WritingAnLLVMPass`
Information on how to write LLVM transformations and analyses. Information on how to write LLVM transformations and analyses.
* :doc:`WritingAnLLVMBackend` * :doc:`WritingAnLLVMBackend`
Information on how to write LLVM backends for machine targets. Information on how to write LLVM backends for machine targets.

View File

@ -23,6 +23,7 @@ User Guides
TestingGuide TestingGuide
tutorial/index tutorial/index
ReleaseNotes ReleaseNotes
Passes
* :ref:`getting_started` * :ref:`getting_started`
@ -58,10 +59,10 @@ User Guides
A reference manual for the LLVM command line utilities ("man" pages for LLVM A reference manual for the LLVM command line utilities ("man" pages for LLVM
tools). tools).
* `LLVM's Analysis and Transform Passes <Passes.html>`_ * :doc:`Passes`
A list of optimizations and analyses implemented in LLVM. A list of optimizations and analyses implemented in LLVM.
* :ref:`faq` * :ref:`faq`
A list of common questions and problems and their solutions. A list of common questions and problems and their solutions.