X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FStackMaps.rst;h=43c60c9e7850dbeba38a33bc313cf5adb3891f4e;hb=acea22925e0767807c82955ab244e4a28cfd9852;hp=9236934cf43dfc65b25a28e749d21ba374d0efb9;hpb=3b8ad82b39b945c7cb2611526ca64a53fbd05ae3;p=oota-llvm.git diff --git a/docs/StackMaps.rst b/docs/StackMaps.rst index 9236934cf43..43c60c9e785 100644 --- a/docs/StackMaps.rst +++ b/docs/StackMaps.rst @@ -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 ```` must be the actual intended target of +the indirect call. Specifically, even when compiling for the ELF V1 ABI, +```` 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: