[x86] Replace the long spelling of getting a bitcast with the *much*
[oota-llvm.git] / docs / StackMaps.rst
index 9236934cf43dfc65b25a28e749d21ba374d0efb9..43c60c9e7850dbeba38a33bc313cf5adb3891f4e 100644 (file)
@@ -221,6 +221,13 @@ lowered according to the calling convention specified at the
 intrinsic's callsite. Variants of the intrinsic with non-void return
 type also return a value according to calling convention.
 
+On PowerPC, note that ``<target>`` must be the actual intended target of
+the indirect call. Specifically, even when compiling for the ELF V1 ABI,
+``<target>`` is not the function-descriptor address normally used as the C/C++
+function-pointer representation. As a result, the call target must be local
+because no adjustment or restoration of the TOC pointer (in register r2) will
+be performed.
+
 Requesting zero patch point arguments is valid. In this case, all
 variable operands are handled just like
 ``llvm.experimental.stackmap.*``. The difference is that space will
@@ -400,10 +407,9 @@ immediately after compiling a module and encode the information in its
 own format. Since the runtime controls the allocation of sections, it
 can reuse the same stack map space for multiple modules.
 
-..
-   Stackmap support is currently only implemented for 64-bit
-   platforms. However, a 32-bit implementation should be able to use
-   the same format with an insignificant amount of wasted space.
+Stackmap support is currently only implemented for 64-bit
+platforms. However, a 32-bit implementation should be able to use the
+same format with an insignificant amount of wasted space.
 
 .. _stackmap-section: