Commit Graph

12 Commits

Author SHA1 Message Date
foreman 10e99fa6f5 P4 to Git Change 1265097 by smekhano@stas-rampitec-hsa on 2016/05/04 12:59:20
SWDEV-90709 - Complib: unquote command line arguments for -I and -D before passing to clang
	Testing: smoke, precheckin
	Reviewed by Evgeny Mankov

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#36 edit


[ROCm/clr commit: 88638b2b49]
2016-05-04 13:08:59 -04:00
foreman 71dc1ef253 P4 to Git Change 1264269 by smekhano@stas-nova-hsa on 2016/05/02 16:32:25
SWDEV-77584 - HSA HLC: refactoring of min/max processing and folding

	1. Fixed correctness bug: if a source contains code like (x > y) ? x : y, HLC was folding
	this and similar patterns to min and max instructions. The problem is with NaN handling.
	Such a pattern may return NaN if one of two arguments is a NaN. All our instructions return
	a number in this case, except for gcn instruction returning a qNaN if input is sNaN.
	For a qNaN a number is retuned in any way. Therefor such folding is only correct if NaN handling
	is disabled. Patterns are predicated to work with -cl-finite-math-only or -cl-fast-relaxed-math
	which includes the former option.

	NB: Performance regressions are expected in programs which do not use either of these options.

	2. Compiler lib did hot handle -cl-finite-math-only. Also added handling of -cl-no-signed-zeros,
	even though it does not affect code generation because there is no llvm counterpart for it.

	3. Patterns for NaN agnostic comparison codes are added. We are getting these in case if finite
	only math is requested.

	4. Removed patterns for __hsail_min_f* and __hsail_max_f*. Instead these intrinsics are lowered
	to fminnum and fmaxnum llvm operations with the same semantics. This allows to decrease the number
	of patterns and simplify handling.

	5. For f32 we were only producing gcn versions min and max with source patterns if gcn is enabled.
	Added similar lowering to standard min/max HSAIL operations if gcn is disabled.

	6. Added lowering of fmaxnum/fminnum to more efficient gcn operations if gcn is enabled.
	Neither OpenCL nor LLVM IR semantics are violated by this.

	7. Moved GCN media intrinsics definitions into the GCN directory.

	8. Added folding of gcn f32 instructions min(max), min(min), max(max) into corresponding gcn
	instructions med3, min3 and max3. This should have been helpful for color clamping.
	Performance testing showed these are slow, however. T-Rex test from compubench has slowed down
	by 50 times for no obvious reason. Therefor folding is disabled by default. The option -enable-gcn-mm3
	is added to enable the folding for testing purposes.

	Testing: smoke, precheckin, luxmark, compubench, BasemarkCL,
	conformance: commonfns, bruteforce -w, relationals, select
	Reviewed by Brian Sumner

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/codegen.cpp#68 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/opt_level.cpp#29 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#35 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/GCN/HSAILArithmetic.td#3 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/GCN/HSAILFusion.td#3 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/GCN/HSAILIntrinsics.td#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILArithmetic.td#45 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILFusion.td#28 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILISelDAGToDAG.cpp#68 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILISelLowering.cpp#113 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILInstrInfo.td#21 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILIntrinsics.td#70 edit
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/llc/opt/minmax/minmaxf3pat.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/tlst/llc_opt.tlst#93 edit


[ROCm/clr commit: efa52f77ef]
2016-05-02 16:43:00 -04:00
foreman d47f79a117 P4 to Git Change 1195790 by johtaylo@johtaylo-JTBUILDER03-increment on 2015/09/30 03:00:11
SWDEV-2 - Change OpenCL version number from 1898 to 1899.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1645 edit


[ROCm/clr commit: af1f393ed0]
2015-09-30 10:03:05 -04:00
foreman f0b198a471 P4 to Git Change 1195643 by lnguyen@P4_LN on 2015/09/29 16:07:33
SWDEV-5 - Updated power strip table.

Affected files ...

... //depot/stg/opencl/drivers/opencl/tools/teamcity/server/scripts/teamcity.xml#49 edit


[ROCm/clr commit: 4f8410dbdb]
2015-09-30 00:26:52 -04:00
foreman 1dfcf47f9d P4 to Git Change 1195730 by smekhano@stas-rampitec-hsa on 2015/09/29 20:53:01
SWDEV-77584 - HSA HLC: fixed reflection metadata generation on HSAIL OCL 1.2 path
	We are producing 6 extra arguments, but metadata was produced only for 3.
	Removed KE_OCL12_NUM_ARGS define to avoid confusion.

	Testing: smoke, precheckin
	Reviewed by Yaxun Liu

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/AMDOpenCLKernenv.h#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/Scalar/AMDInsertOpenCLKernenv.cpp#10 edit


[ROCm/clr commit: fa3fd90fb0]
2015-09-30 00:10:02 -04:00
foreman 439e3dde3b P4 to Git Change 1191624 by emankov@em-hsa-amd on 2015/09/17 08:40:13
ECR #333753 - Compiler Lib: Bug 10998 - Add a way to pass options to finalizer (-Wh,-finalizer-option)

	Works only for HSAIL path.

	Testing: complib -Wh, pre check-in

	Reviewer: Nikolay Haustov

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#52 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#131 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#33 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.hpp#18 edit
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/options/-Wh/HelloWorld_Kernel_cl.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/tlst/complib.tlst#15 edit


[ROCm/clr commit: 087722ed49]
2015-09-17 08:46:23 -04:00
foreman 7df266a7aa P4 to Git Change 1133953 by smekhano@stas-solstice-HSA on 2015/03/24 16:29:11
ECR #333753 - part of the changes to use llvm 3.6
	Testing: smoke, precheckin
	Reviewed by Brian Sumner

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/compiler_stage.cpp#15 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/compiler_stage.hpp#11 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/linker.cpp#123 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/optimizer.hpp#5 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDTypes.h#3 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/lex.yy.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/jit/src/jit.hpp#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#32 edit


[ROCm/clr commit: e3449fb988]
2015-03-24 16:59:45 -04:00
foreman 133d3d0928 P4 to Git Change 1129634 by jsjodin@jsjodin_linux_avx_hsa2 on 2015/03/11 12:04:50
ECR #304775 - Fix failure in TC. Allocation and deallocation cannot be done by different DLLs.

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/frontend.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#31 edit


[ROCm/clr commit: 99d43c3313]
2015-03-11 12:22:24 -04:00
foreman 2fe29882fa P4 to Git Change 1077270 by emankov@em-hsa-amd on 2014/09/16 09:26:09
ECR #333753 - Compiler Lib: Bug fix in string options comparison

	Tests: smoke, precheck-in

	Reviewer: Brian Sumner, Artem Tamazov

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#30 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.hpp#15 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpucompiler.cpp#149 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#176 edit


[ROCm/clr commit: 9c02c73c2f]
2014-09-16 09:39:53 -04:00
foreman 3623685db8 P4 to Git Change 1074077 by jatang@jatang-ocl-lnx1 on 2014/09/05 16:58:30
EPR #405458 - clinfo segfaults when ENABLE_CAL_SHUTDOWN=1.

	For the global variables of:

	std::map <std::string, int> OptionNameMap[2];
	std::map <std::string, int> NoneSeparatorOptionMap[2];
	std::map <std::string, int> FOptionMap;
	std::map <std::string, int> MOptionMap;

	We don't need to call the clear() method explicitly, since the std::map destructor will clean things up (valgrind mem-check doesn't report any leak related to these global variables after this change). Besides, on Linux amd::option::teardown() is called after the global variables' destructors are called, and it will cause segfault.

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#29 edit


[ROCm/clr commit: b9e695d254]
2014-09-05 20:58:50 -04:00
foreman 6cf55651a5 P4 to Git Change 1062532 by shivara@shivaram_llvmmerge_dt on 2014/08/04 09:50:20
ECR #333753 - Fix for 1.2 conformance compiler options_include_directory test. Added code to pass -I<include_path> option to clang.

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#28 edit


[ROCm/clr commit: fe4d2c12a1]
2014-08-04 09:55:45 -04:00
foreman f80f2f233c initial commit
[ROCm/clr commit: 3694ab2ce8]
2014-07-04 16:17:05 -04:00