[llvm] 9b3c5cb - Update the ProgrammersManual explanation for ilist and iplist
Nathan Lanza via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 7 19:51:40 PDT 2022
Author: Nathan Lanza
Date: 2022-06-07T22:50:04-04:00
New Revision: 9b3c5cba9f71e0d7d81feec9260ce7aafec858a0
URL: https://github.com/llvm/llvm-project/commit/9b3c5cba9f71e0d7d81feec9260ce7aafec858a0
DIFF: https://github.com/llvm/llvm-project/commit/9b3c5cba9f71e0d7d81feec9260ce7aafec858a0.diff
LOG: Update the ProgrammersManual explanation for ilist and iplist
They are now `using` aliases and thus the comments about iplist are now
incorrect. Remove them here.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D95210
Added:
Modified:
llvm/docs/ProgrammersManual.rst
Removed:
################################################################################
diff --git a/llvm/docs/ProgrammersManual.rst b/llvm/docs/ProgrammersManual.rst
index f56a3a4aa4567..39219ad1d2b64 100644
--- a/llvm/docs/ProgrammersManual.rst
+++ b/llvm/docs/ProgrammersManual.rst
@@ -1705,6 +1705,9 @@ the traits class is informed when an element is inserted or removed from the
list, and ``ilist``\ s are guaranteed to support a constant-time splice
operation.
+An ``ilist`` and an ``iplist`` are ``using`` aliases to one another and the
+latter only currently exists for historical purposes.
+
These properties are exactly what we want for things like ``Instruction``\ s and
basic blocks, which is why these are implemented with ``ilist``\ s.
@@ -1712,8 +1715,6 @@ Related classes of interest are explained in the following subsections:
* :ref:`ilist_traits <dss_ilist_traits>`
-* :ref:`iplist <dss_iplist>`
-
* :ref:`llvm/ADT/ilist_node.h <dss_ilist_node>`
* :ref:`Sentinels <dss_ilist_sentinel>`
@@ -1754,19 +1755,8 @@ For example:
ilist_traits
^^^^^^^^^^^^
-``ilist_traits<T>`` is ``ilist<T>``'s customization mechanism. ``iplist<T>``
-(and consequently ``ilist<T>``) publicly derive from this traits class.
-
-.. _dss_iplist:
-
-iplist
-^^^^^^
-
-``iplist<T>`` is ``ilist<T>``'s base and as such supports a slightly narrower
-interface. Notably, inserters from ``T&`` are absent.
-
-``ilist_traits<T>`` is a public base of this class and can be used for a wide
-variety of customizations.
+``ilist_traits<T>`` is ``ilist<T>``'s customization mechanism. ``ilist<T>``
+publicly derives from this traits class.
.. _dss_ilist_node:
More information about the llvm-commits
mailing list