summaryrefslogtreecommitdiffstats
path: root/llvm/docs
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/docs')
-rw-r--r--llvm/docs/AMDGPUUsage.rst14
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/docs/AMDGPUUsage.rst b/llvm/docs/AMDGPUUsage.rst
index 7e4179fea8c..54904d21f7a 100644
--- a/llvm/docs/AMDGPUUsage.rst
+++ b/llvm/docs/AMDGPUUsage.rst
@@ -262,11 +262,12 @@ VOP_SDWA examples:
For full list of supported instructions, refer to "Vector ALU instructions".
Trap Handler ABI
---------------------------
+----------------
The Trap Handler suppored is implemented differently based on the host OS. OS
is obtained from the appropriate element of the target triple HSA OS:
.. code-block:: c++
+
enum TrapHandlerAbi {
TrapHandlerAbiNone = 0,
TrapHandlerAbiHsa = 1
@@ -276,10 +277,11 @@ is obtained from the appropriate element of the target triple HSA OS:
return isAmdHsaOS() ? TrapHandlerAbiHsa : TrapHandlerAbiNone;
}
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For HSA OS, a trap handler is always enabled and that the following S_TRAP immediate
operand codes are supported:
+
.. code-block:: c++
+
enum TrapCode {
TrapCodeBreakPoint = 0,
TrapCodeLLVMTrap = 1,
@@ -288,15 +290,15 @@ operand codes are supported:
};
- 0: Used for debugger breakpoint. If debugger is not installed causes dispatch
-to be terminated and its associated queue put into the error state.
+ to be terminated and its associated queue put into the error state.
- 1: Used for llvm.trap..queue_ptr is in SGPR0-1. Causes dispatch to be
-terminated and its associated queue put into the error state.
+ terminated and its associated queue put into the error state.
- 2: Used for llvm.debugtrap. queue_ptr is in SGPR0-1. If debugger not installed
-handled same as llvm.trap.
+ handled same as llvm.trap.
- 3: Used for HSA DEBUGTRAP. queue_ptr is in SGPR0-1, the user code is in VGPR0.
Graphics
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+^^^^^^^^
For Graphics, S_ENDPGM is generated for llvm.trap. S_NOP is generated for
llvm.debugtrap together with a warning that there is no trap handler installed.
OpenPOWER on IntegriCloud