Commit Graph

64357 Commits

Author SHA1 Message Date
Maneesh Gupta ab671b729d bit_extract reports PASSED when passed 2016-05-03 14:19:25 +05:30
Maneesh Gupta d253806e64 bit_extract reports PASSED when passed
[ROCm/hip commit: cb6a5d9421]
2016-05-03 14:19:25 +05:30
Maneesh Gupta cb6a5d9421 bit_extract reports PASSED when passed 2016-05-03 14:19:25 +05:30
Ben Sander 18635995af add fallback to libc++
[ROCm/clr commit: 6a960aff38]
2016-05-02 23:50:39 -05:00
Ben Sander 6a960aff38 add fallback to libc++ 2016-05-02 23:50:39 -05:00
Ben Sander 9617816c93 add fallback to libc++
[ROCm/hip commit: d5537f9f95]
2016-05-02 23:50:39 -05:00
Ben Sander d5537f9f95 add fallback to libc++ 2016-05-02 23:50:39 -05:00
Ben Sander e6ec2439ec Link test with libc++
[ROCm/clr commit: 8cce8dbe61]
2016-05-02 23:38:43 -05:00
Ben Sander 8cce8dbe61 Link test with libc++ 2016-05-02 23:38:43 -05:00
Ben Sander 1078bebe81 Link test with libc++
[ROCm/hip commit: 993ca9cee3]
2016-05-02 23:38:43 -05:00
Ben Sander 993ca9cee3 Link test with libc++ 2016-05-02 23:38:43 -05:00
Ben Sander ef3273c1b1 add make_hip_executable_libcpp
[ROCm/clr commit: c79dad8000]
2016-05-02 23:32:52 -05:00
Ben Sander c79dad8000 add make_hip_executable_libcpp 2016-05-02 23:32:52 -05:00
Ben Sander acb73fdbd4 add make_hip_executable_libcpp
[ROCm/hip commit: 6e332a9c9c]
2016-05-02 23:32:52 -05:00
Ben Sander 6e332a9c9c add make_hip_executable_libcpp 2016-05-02 23:32:52 -05:00
Ben Sander 41c57d1e00 Merge branch 'privatestaging' into grid_launch
[ROCm/clr commit: 20043d602e]
2016-05-02 18:38:20 -05:00
Ben Sander 20043d602e Merge branch 'privatestaging' into grid_launch 2016-05-02 18:38:20 -05:00
Ben Sander 0d8b15274c Merge branch 'privatestaging' into grid_launch
[ROCm/hip commit: 89df2f4e2f]
2016-05-02 18:38:20 -05:00
Ben Sander 89df2f4e2f Merge branch 'privatestaging' into grid_launch 2016-05-02 18:38:20 -05: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 efa52f77ef 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
2016-05-02 16:43:00 -04:00
Ben Sander b578915e89 Merge branch 'p2p' into privatestaging
[ROCm/clr commit: caadac1005]
2016-05-02 13:48:06 -05:00
Ben Sander caadac1005 Merge branch 'p2p' into privatestaging 2016-05-02 13:48:06 -05:00
Ben Sander b25ee563dc Merge branch 'p2p' into privatestaging
[ROCm/hip commit: 0488897bb4]
2016-05-02 13:48:06 -05:00
Ben Sander 0488897bb4 Merge branch 'p2p' into privatestaging 2016-05-02 13:48:06 -05:00
Ben Sander 183aaa5888 Merge branch 'privatestaging' into p2p
[ROCm/clr commit: 230b6546b5]
2016-05-02 13:38:01 -05:00
Ben Sander 230b6546b5 Merge branch 'privatestaging' into p2p 2016-05-02 13:38:01 -05:00
Ben Sander 854e6d239c Merge branch 'privatestaging' into p2p
[ROCm/hip commit: 0f00474dad]
2016-05-02 13:38:01 -05:00
Ben Sander 0f00474dad Merge branch 'privatestaging' into p2p 2016-05-02 13:38:01 -05:00
Ben Sander eaf4e4a0ee PASS with warning if not enough GPUs detected.
[ROCm/clr commit: a398cd4cda]
2016-05-02 13:37:14 -05:00
Ben Sander a398cd4cda PASS with warning if not enough GPUs detected. 2016-05-02 13:37:14 -05:00
Ben Sander 5ce2ddd5bd PASS with warning if not enough GPUs detected.
[ROCm/hip commit: c7f583dcfb]
2016-05-02 13:37:14 -05:00
Ben Sander c7f583dcfb PASS with warning if not enough GPUs detected. 2016-05-02 13:37:14 -05:00
Ben Sander 7f90e11724 Explicitly include <string>
[ROCm/clr commit: aea31ad4e1]
2016-05-02 12:49:53 -05:00
Ben Sander aea31ad4e1 Explicitly include <string> 2016-05-02 12:49:53 -05:00
Ben Sander 556b04b364 Explicitly include <string>
[ROCm/hip commit: 1ccc900649]
2016-05-02 12:49:53 -05:00
Ben Sander 1ccc900649 Explicitly include <string> 2016-05-02 12:49:53 -05:00
Ben Sander d7933df2d3 Use hipconfig to determine platform
[ROCm/clr commit: c5bec313ee]
2016-05-02 11:33:22 -05:00
Ben Sander c5bec313ee Use hipconfig to determine platform 2016-05-02 11:33:22 -05:00
Ben Sander 82cdf1b35a Use hipconfig to determine platform
[ROCm/hip commit: aeb9556dba]
2016-05-02 11:33:22 -05:00
Ben Sander aeb9556dba Use hipconfig to determine platform 2016-05-02 11:33:22 -05:00
Ben Sander 070b88766f Merge branch 'privatestaging' into p2p
[ROCm/clr commit: 79983a1f4b]
2016-05-02 11:10:10 -05:00
Ben Sander 79983a1f4b Merge branch 'privatestaging' into p2p 2016-05-02 11:10:10 -05:00
Ben Sander ef89f7119d Merge branch 'privatestaging' into p2p
[ROCm/hip commit: d30ad55160]
2016-05-02 11:10:10 -05:00
Ben Sander d30ad55160 Merge branch 'privatestaging' into p2p 2016-05-02 11:10:10 -05:00
Ben Sander e6832413fb Add clang-hipify as optional make step
[ROCm/clr commit: 83cf3ed2b5]
2016-05-02 10:20:00 -05:00
Ben Sander 83cf3ed2b5 Add clang-hipify as optional make step 2016-05-02 10:20:00 -05:00
Ben Sander 7421aa54a8 Add clang-hipify as optional make step
[ROCm/hip commit: 357491edd1]
2016-05-02 10:20:00 -05:00
Ben Sander 357491edd1 Add clang-hipify as optional make step 2016-05-02 10:20:00 -05:00
Ben Sander fb2a9f66fc split INSTALL.md into separate file
[ROCm/clr commit: 5d7f1682f4]
2016-05-02 10:19:46 -05:00