P4 to Git Change 1068366 by emankov@em-hsa-amd on 2014/08/20 07:59:20

ECR #333753 - Compiler Lib & RT: Fix for Compiler's build log printing on RT.

	+ RT now asks correctly Compiler's build log by aclGetCompilerLog().
	+ BuildLog is added for HSAILKernel by moving it from NullKernel class to Kernel class.
	+ Compiler's Lib appendLogToCL() is fixed.
	+ Usage of API's aclExtractSection/aclExtractSymbol/aclInsertSection/aclInsertSymbol in Compiler Lib itself replaced by it's inner realizations extSec/extSym/insSec/insSym due to unneded build log clearing in first case.
	+ Phase info is added to build log even if CallBack function is not presented for aclCompiler.

	How to verify:
	set AMD_OCL_BUILD_OPTIONS_APPEND="-print-compile-phases -buildlog=stdout"
	test_integer_ops integer_ctz
	test_integer_ops integer_ctz cpu

	Testing: make smoke_clang, selective OCL conf. tests, pre check-in

	Reviewer: Brian Sumner, German Andryeyev
	Review board:	http://ocltc.amd.com/reviews/r/5582/

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#46 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/brig_loader.cpp#13 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#228 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#262 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#100 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#174 edit


[ROCm/clr commit: 96c74ba5fd]
Bu işleme şunda yer alıyor:
foreman
2014-08-20 08:05:49 -04:00
ebeveyn 027210c487
işleme 1a9d5cb944
5 değiştirilmiş dosya ile 16 ekleme ve 11 silme
+1
Dosyayı Görüntüle
@@ -3524,6 +3524,7 @@ HSAILKernel::init()
void* shader_isa = NULL;
error = aclCompile(dev().hsaCompiler(), prog().binaryElf(),
options.c_str(), ACL_TYPE_CG, ACL_TYPE_ISA, NULL);
buildLog_ += aclGetCompilerLog(dev().hsaCompiler());
if (error != ACL_SUCCESS) {
LogError("Failed to finalize");
return false;
-4
Dosyayı Görüntüle
@@ -424,9 +424,6 @@ public:
//! Returns GPU device object, associated with this kernel
const NullProgram& nullProg() const { return prog_; }
//! Returns the kernel's build log
const std::string& buildLog() const { return buildLog_; }
//! Returns the kernel's build error
const cl_int buildError() const { return buildError_; }
@@ -477,7 +474,6 @@ protected:
//! Returns UAV arena index for this kernel
uint uavArena() const { return uavArena_; }
std::string buildLog_; //!< Kernel's build log
cl_int buildError_; //!< Kernel's build error
std::string ilSource_; //!< IL source code of this kernel
+2
Dosyayı Görüntüle
@@ -2049,6 +2049,7 @@ HSAILProgram::linkImpl(amd::option::Options* options)
std::string curOptions = options->origOptionStr + hsailOptions();
errorCode = aclCompile(dev().hsaCompiler(), binaryElf_,
curOptions.c_str(), continueCompileFrom, ACL_TYPE_CG, NULL);
buildLog_ += aclGetCompilerLog(dev().hsaCompiler());
break;
}
}
@@ -2108,6 +2109,7 @@ HSAILProgram::linkImpl(amd::option::Options* options)
if (!aKernel->init() ) {
return false;
}
buildLog_ += aKernel->buildLog();
aKernel->setUniformWorkGroupSize(options
->oVariables->UniformWorkGroupSize);
kernels()[kernelName] = aKernel;