P4 to Git Change 1092096 by yaxunl@yaxunl_stg_win50 on 2014/10/29 22:49:51

EPR #408439 - Add heuristics for setting SC register allocation strategy.

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/amdil_be.cpp#40 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/SI/scCompileSI.cpp#47 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/SI/scCompileSI.h#18 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/SI/scStateSI.cpp#26 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/scState.cpp#33 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#120 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/amdilUtils.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/amdilUtils.hpp#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/InitializePasses.h#73 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/Transforms/IPO.h#29 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/Transforms/IPO/AMDKernelPerfHint.h#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/AMDILKernelManager.cpp#453 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/IPO/AMDKernelPerfHint.cpp#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/IPO/AMDPassManagerBuilder.cpp#46 edit
Tento commit je obsažen v:
foreman
2014-10-29 22:56:55 -04:00
rodič 8cac43ef6c
revize a5d50f6926
3 změnil soubory, kde provedl 19 přidání a 5 odebrání
+12
Zobrazit soubor
@@ -12,3 +12,15 @@ void amdilUtils::changePrivateUAVLength(std::string& kernel, unsigned length) {
")_access(private)";
kernel = std::regex_replace(kernel, pattern, ss.str());
}
bool amdilUtils::isKernelMemoryBound(const std::string& kernel) {
std::istringstream is(kernel);
std::regex pattern("\\s*;\\s*membound\\s*:\\s*1\\s*");
while (is) {
std::string line;
is >> line;
if (std::regex_match(line, pattern))
return true;
}
return false;
}