summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/SIISelLowering.h
diff options
context:
space:
mode:
authorKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2016-06-25 03:11:28 +0000
committerKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2016-06-25 03:11:28 +0000
commitf2f3d14774e6019048dccd1ecbca340ae5bbfca1 (patch)
tree65f692e2c2223031bede6426b5f4d1e6646d5655 /llvm/lib/Target/AMDGPU/SIISelLowering.h
parent92d33bd2af3452b7272f8d27a75c0e344ae20f38 (diff)
downloadbcm5719-llvm-f2f3d14774e6019048dccd1ecbca340ae5bbfca1.tar.gz
bcm5719-llvm-f2f3d14774e6019048dccd1ecbca340ae5bbfca1.zip
[AMDGPU] Emit debugger prologue and emit the rest of the debugger fields in the kernel code header
Debugger prologue is emitted if -mattr=+amdgpu-debugger-emit-prologue. Debugger prologue writes work group IDs and work item IDs to scratch memory at fixed location in the following format: - offset 0: work group ID x - offset 4: work group ID y - offset 8: work group ID z - offset 16: work item ID x - offset 20: work item ID y - offset 24: work item ID z Set - amd_kernel_code_t::debug_wavefront_private_segment_offset_sgpr to scratch wave offset reg - amd_kernel_code_t::debug_private_segment_buffer_sgpr to scratch rsrc reg - amd_kernel_code_t::is_debug_supported to true if all debugger features are enabled Differential Revision: http://reviews.llvm.org/D20335 llvm-svn: 273769
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SIISelLowering.h')
-rw-r--r--llvm/lib/Target/AMDGPU/SIISelLowering.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.h b/llvm/lib/Target/AMDGPU/SIISelLowering.h
index 032372b7b17..3806e95dff3 100644
--- a/llvm/lib/Target/AMDGPU/SIISelLowering.h
+++ b/llvm/lib/Target/AMDGPU/SIISelLowering.h
@@ -70,6 +70,8 @@ class SITargetLowering final : public AMDGPUTargetLowering {
bool isLegalMUBUFAddressingMode(const AddrMode &AM) const;
bool isCFIntrinsic(const SDNode *Intr) const;
+
+ void createDebuggerPrologueStackObjects(MachineFunction &MF) const;
public:
SITargetLowering(const TargetMachine &tm, const SISubtarget &STI);
OpenPOWER on IntegriCloud