Files
rocm-systems/projects
foreman 3d866ee5df P4 to Git Change 1095445 by emankov@em-hsa-amd on 2014/11/10 13:48:06
ECR #333753 - hsa_foundation RT/Compiler Lib: recompilation algorithm rework

	1. Recompilation algorithm rework in order to avoid superfluous recompilations.
	2. Replace aclExtractSymbol/Section with aclQueryInfo for symbol/section detection.

	The replaced calls in RT previously performed actual extraction of the sections from the BIF with memory allocation and copying. But what is needed in fact is only to determine whether the section exists in BIF or not to make a further decision on needed recompilations. With aclQueryInfo and new added enums RT_CONTAINS_LLVMIR, RT_CONTAINS_OPTIONS, RT_CONTAINS_BRIG, RT_CONTAINS_HSAIL, RT_CONTAINS_ISA Runtime starts querying not the whole sections but the bool flag which indicates the existence of the corresponding section(s) without any memory allocations. Every compilation on RT starting from LLVMIR is affected by the change including compilation of blit kernels.

	3. Fix in Compiler Lib for correct ACL_INVALID_ARG detection (for wrong/unsupported compilations).

	[Side Effects] performance improvement, memory consumption reduction

	[ToDo] Do not finalize program if ISA is already provided in BIF and options are unchanged.

	[Testing] pre check-in, ocltst complib, ocl conformance 2.0 compiler & api

	[Reviewers] German Andryeyev, Brian Sumner

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#56 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaprogram.cpp#8 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaprogram.hpp#3 edit


[ROCm/clr commit: 9c4a22118e]
2014-11-10 13:55:17 -05:00
..