aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
diff options
context:
space:
mode:
authorArtem Tamazov <artem.tamazov@amd.com>2016-12-27 16:00:11 +0000
committerArtem Tamazov <artem.tamazov@amd.com>2016-12-27 16:00:11 +0000
commita01cce888704873f1c9b8c6f370711c99867a2ac (patch)
tree745d9d75b473fe4650311782bfac13e0d2b5abdb /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
parent2202aa97653bcfe8d21504d22652a0bf39d4031e (diff)
downloadllvm-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