summaryrefslogtreecommitdiffstats
path: root/llvm/docs
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2015-02-25 23:22:43 +0000
committerPhilip Reames <listmail@philipreames.com>2015-02-25 23:22:43 +0000
commite66255016d4b0c7b8c868c5abccd20056cc0899b (patch)
tree9f0918a93b2a21822417837b559d15e059cd085a /llvm/docs
parent69b004d9874254127c4dccaee52ad45b227804fd (diff)
downloadbcm5719-llvm-e66255016d4b0c7b8c868c5abccd20056cc0899b.tar.gz
bcm5719-llvm-e66255016d4b0c7b8c868c5abccd20056cc0899b.zip
[GC docs] Fill in description of the statepoint-example GC strategy
llvm-svn: 230572
Diffstat (limited to 'llvm/docs')
-rw-r--r--llvm/docs/GarbageCollection.rst18
-rw-r--r--llvm/docs/Statepoints.rst1
2 files changed, 16 insertions, 3 deletions
diff --git a/llvm/docs/GarbageCollection.rst b/llvm/docs/GarbageCollection.rst
index d9ae6c1b505..5d1588a7fe4 100644
--- a/llvm/docs/GarbageCollection.rst
+++ b/llvm/docs/GarbageCollection.rst
@@ -386,8 +386,8 @@ greater performance impact since pointer reads are more frequent than writes.
.. _plugin:
-Built In Collectors
-====================
+Built In GC Strategies
+======================
LLVM includes built in support for several varieties of garbage collectors.
@@ -501,7 +501,19 @@ The Statepoint Example GC
F.setGC("statepoint-example");
This GC provides an example of how one might use the infrastructure provided
-by ``gc.statepoint``.
+by ``gc.statepoint``. This example GC is compatible with the
+:ref:`PlaceSafepoints` and :ref:`RewriteStatepointsForGC` utility passes
+which simplify ``gc.statepoint`` sequence insertion. If you need to build a
+custom GC strategy around the ``gc.statepoints`` mechanisms, it is recommended
+that you use this one as a starting point.
+
+This GC strategy does not support read or write barriers. As a result, these
+intrinsics are lowered to normal loads and stores.
+
+The stack map format generated by this GC strategy can be found in the
+:ref:`stackmap-section` using a format documented :ref:`here
+<statepoint-stackmap-format>`. This format is intended to be the standard
+format supported by LLVM going forward.
Custom GC Strategies
diff --git a/llvm/docs/Statepoints.rst b/llvm/docs/Statepoints.rst
index 5b584690cdd..e1e7d9b7d7a 100644
--- a/llvm/docs/Statepoints.rst
+++ b/llvm/docs/Statepoints.rst
@@ -322,6 +322,7 @@ A ``gc.relocate`` is modeled as a ``readnone`` pure function. It has no
side effects since it is just a way to extract information about work
done during the actual call modeled by the ``gc.statepoint``.
+.. _statepoint-stackmap-format:
Stack Map Format
================
OpenPOWER on IntegriCloud