[PATCH] Documentation: Explicitly state prohibition of inspecting	other functions in a FunctionPass
    Stephen Lin 
    swlin at post.harvard.edu
       
    Sat Jul  6 02:44:57 PDT 2013
    
    
  
Hi,
For a BasicBlockPass, the documentation in WritingAnLLVMPass.rst
states that there is an explicit prohibition against inspecting the
state of another basic block other than the one being processed. which
makes sense:
    ``BasicBlockPass``\ es are just like :ref:`FunctionPass's
    <writing-an-llvm-pass-FunctionPass>` , except that they must limit
their scope
    of inspection and modification to a single basic block at a time.  As such,
    they are **not** allowed to do any of the following:
    #. Modify or inspect any basic blocks outside of the current one.
    ...
Logically there should seem to be a similar prohibition on inspecting
the state of another function in a FunctionPass, but the documentation
for that section simply states:
    To be explicit, ``FunctionPass`` subclasses are not allowed to:
    #. Modify a ``Function`` other than the one currently being processed.
    ...
I posted a message to LLVMDev about this and it seems like no one can
think of a good reason for this discrepancy, so unless anyone
disagrees with this assessment, I am going to change the documentation
to explicitly state that inspecting other functions is disallowed.
Please let me know if you have any objections.
Stephen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: function-pass-doc-fix.patch
Type: application/octet-stream
Size: 628 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130706/564cb8d0/attachment.obj>
    
    
More information about the llvm-commits
mailing list