diff options
author | Artem Tamazov <artem.tamazov@amd.com> | 2016-12-27 16:00:11 +0000 |
---|---|---|
committer | Artem Tamazov <artem.tamazov@amd.com> | 2016-12-27 16:00:11 +0000 |
commit | a01cce888704873f1c9b8c6f370711c99867a2ac (patch) | |
tree | 745d9d75b473fe4650311782bfac13e0d2b5abdb /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | |
parent | 2202aa97653bcfe8d21504d22652a0bf39d4031e (diff) | |
download | llvm-a01cce888704873f1c9b8c6f370711c99867a2ac.zip llvm-a01cce888704873f1c9b8c6f370711c99867a2ac.tar.gz llvm-a01cce888704873f1c9b8c6f370711c99867a2ac.tar.bz2 |
[AMDGPU][llvm-mc] Predefined symbols to access register counts (.kernel.{v|s}gpr_count)
The feature allows for conditional assembly, filling the entries
of .amd_kernel_code_t etc.
Symbols are defined with value 0 at the beginning of each kernel scope.
After each register usage, the respective symbol is set to:
value = max( value, ( register index + 1 ) )
Thus, at the end of scope the value represents a count of used registers.
Kernel scopes begin at .amdgpu_hsa_kernel directive, end at the
next .amdgpu_hsa_kernel (or EOF, whichever comes first). There is also
dummy scope that lies from the beginning of source file til the
first .amdgpu_hsa_kernel.
Test added.
Differential Revision: https://reviews.llvm.org/D27859
llvm-svn: 290608
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions