[PATCH] D47736: AMDHSA Code Object v3 assembler syntax update
Konstantin Zhuravlyov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 15 07:31:46 PDT 2018
kzhuravl added inline comments.
================
Comment at: lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:237
+ auto Info = analyzeResourceUsage(*MF);
+
----------------
Use CurrentProgramInfo instead.
================
Comment at: lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:243-244
+ *getSTI(), KernelName, getAmdhsaKernelDescriptor(*MF, CurrentProgramInfo),
+ Info.NumVGPR, Info.NumExplicitSGPR, Info.UsesVCC, Info.UsesFlatScratch,
+ hasXNACK(*getSTI()));
----------------
Info.NumVGPR -> CurrentProgramInfo.NumVGPRsForWavesPerEU
Info.NumExplicitSGPR -> CurrentProgramInfo. NumSGPRsForWavesPerEU - IsaInfo::getNumExtraSGPRs...
Info.UsesVCC -> CurrentProgramInfo.VCCUsed
Info.UsesFlatScratch -> CurrentProgramInfo.FlatUsed
Otherwise you are not honoring requested waves per eu.
================
Comment at: lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp:1855
+ return !Error(getParser().getTok().getLoc(),
+ ".amdgcn.next_{v,s}gpr symbols must be variable");
+ if (!Sym->getVariableValue(false)->evaluateAsAbsolute(OldCount))
----------------
Did you mean .amdgcn.next_free_{v, s}gpr?
================
Comment at: lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp:1858
+ return !Error(getParser().getTok().getLoc(),
+ ".amdgcn.next_{v,s}gpr symbols must be absolute expressions");
+
----------------
Same as above.
================
Comment at: lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp:2679
+
+ if (Version.Major >= 8 && !Features.test(FeatureSGPRInitBug) && NumSGPRs > MaxAddressableNumSGPRs)
+ return OutOfRangeError(SGPRRange);
----------------
Make less than 80 chars.
================
Comment at: lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp:2802-2815
+ } else if (ID == ".amdhsa_user_sgpr_grid_workgroup_count_x") {
+ PARSE_BITS_ENTRY(KD.kernel_code_properties,
+ KERNEL_CODE_PROPERTY_ENABLE_SGPR_GRID_WORKGROUP_COUNT_X,
+ Val, ValRange);
+ UserSGPRCount++;
+ } else if (ID == ".amdhsa_user_sgpr_grid_workgroup_count_y") {
+ PARSE_BITS_ENTRY(KD.kernel_code_properties,
----------------
amdhsa_user_sgpr_grid_workgroup_count_x/y/z should be removed. see https://reviews.llvm.org/D48191
https://reviews.llvm.org/D47736
More information about the llvm-commits
mailing list