P4 to Git Change 1077370 by emankov@em-hsa-amd on 2014/09/16 12:02:36

ECR #333753 - HSA RT: avoiding superfluous recompilations on ORCA RT/HSA path

	Next compilation stage determination based on binary sections and options (while linkImpl).

	If current HSAILProgram options are equal to binary’s ones:
	- Do not generate BRIG if BRIG sections are already presented in binary.
	- Do not finalize BRIG->ISA if ISA is already presented in binary.
	- Perform only CG phase if HSAIL is absent in binary.

	Always perform only brig loading (even in case of ISA presented).

	Testing: pre check-in, compile & basic ocl conformance 2.0 tests

	Reviewer: German Andryeyev

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpucompiler.cpp#150 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#264 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#101 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#177 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#55 edit


[ROCm/clr commit: ff7ab4a0b2]
This commit is contained in:
foreman
2014-09-16 12:21:42 -04:00
parent 8c5bc4a9ca
commit 942888ab4a
5 changed files with 151 additions and 99 deletions
@@ -423,10 +423,14 @@ protected:
amd::option::Options* options //!< compile options's object
);
/* \brief Return the next stage to compile from, based on sections in binary,
* also return completed stages in vector, which contains at least ACL_TYPE_DEFAULT
/* \brief Returns the next stage to compile from, based on sections in binary,
* also returns completed stages in vector, which contains at least ACL_TYPE_DEFAULT
*/
aclType getNextCompilationStageFromBinary(std::vector<aclType>& complete_stages);
aclType getCompilationStagesFromBinary(std::vector<aclType>& complete_stages);
/* \brief Returns the next stage to compile from, based on sections and options in binary
*/
aclType getNextCompilationStageFromBinary(amd::option::Options* options);
/*! \brief Compiles LLVM binary to FSAIL code (compiler backend: link+opt+codegen)
*