Skip to content

Commit 6971081

Browse files
[Docs] Remove future extensions section from writing a pass docs (#69286)
This section is quite outdated at this point and no longer relevant given LLVM (and CPUs) has evolved significantly over the past 20+ years. This is also aimed at serving as a test of the llvm docs CI that was recently added in.
1 parent bd0fc48 commit 6971081

File tree

1 file changed

+1
-28
lines changed

1 file changed

+1
-28
lines changed

llvm/docs/WritingAnLLVMPass.rst

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,8 +1020,7 @@ series of passes:
10201020
instead of traversing the entire program. It reduces the memory consumption
10211021
of compiler, because, for example, only one `DominatorSet
10221022
<https://llvm.org/doxygen/classllvm_1_1DominatorSet.html>`_ needs to be
1023-
calculated at a time. This also makes it possible to implement some
1024-
:ref:`interesting enhancements <writing-an-llvm-pass-SMP>` in the future.
1023+
calculated at a time.
10251024

10261025
The effectiveness of the ``PassManager`` is influenced directly by how much
10271026
information it has about the behaviors of the passes it is scheduling. For
@@ -1350,29 +1349,3 @@ some with solutions, some without.
13501349
Hopefully these tips will help with common case debugging situations. If you'd
13511350
like to contribute some tips of your own, just contact `Chris
13521351
<mailto:[email protected]>`_.
1353-
1354-
Future extensions planned
1355-
-------------------------
1356-
1357-
Although the LLVM Pass Infrastructure is very capable as it stands, and does
1358-
some nifty stuff, there are things we'd like to add in the future. Here is
1359-
where we are going:
1360-
1361-
.. _writing-an-llvm-pass-SMP:
1362-
1363-
Multithreaded LLVM
1364-
^^^^^^^^^^^^^^^^^^
1365-
1366-
Multiple CPU machines are becoming more common and compilation can never be
1367-
fast enough: obviously we should allow for a multithreaded compiler. Because
1368-
of the semantics defined for passes above (specifically they cannot maintain
1369-
state across invocations of their ``run*`` methods), a nice clean way to
1370-
implement a multithreaded compiler would be for the ``PassManager`` class to
1371-
create multiple instances of each pass object, and allow the separate instances
1372-
to be hacking on different parts of the program at the same time.
1373-
1374-
This implementation would prevent each of the passes from having to implement
1375-
multithreaded constructs, requiring only the LLVM core to have locking in a few
1376-
places (for global resources). Although this is a simple extension, we simply
1377-
haven't had time (or multiprocessor machines, thus a reason) to implement this.
1378-
Despite that, we have kept the LLVM passes SMP ready, and you should too.

0 commit comments

Comments
 (0)