Commit Graph

12234 Commits

Author SHA1 Message Date
foreman c8c4813e17 P4 to Git Change 1473290 by lmoriche@lmoriche_opencl_dev2 on 2017/10/20 20:49:28
SWDEV-126884 - OCL 2.1 Platform APIs
	- Report OpenCL C 2.0 on OCL/ROCm/HSAIL

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#74 edit
2017-10-20 21:00:19 -04:00
foreman c9852274bd P4 to Git Change 1473287 by lmoriche@lmoriche_opencl_dev2 on 2017/10/20 19:31:40
SWDEV-126884 - OCL 2.1 Platform APIs
	- Report OpenCL C 2.0 on OCL/ROCm/HSAIL

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#73 edit
2017-10-20 19:39:49 -04:00
foreman 403b110f0c P4 to Git Change 1473269 by lmoriche@lmoriche_opencl_dev2 on 2017/10/20 18:19:58
SWDEV-102726 - [OCL-LC-ROCm] Open source OpenCL Runtime
	- Initialize spirVersions_ even if we do not report the extension.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#72 edit
2017-10-20 18:30:09 -04:00
Ben Sander b4c7876244 Remove printf 2017-10-20 13:24:04 -07:00
Ben Sander 326651875d Merge pull request #214 from scchan/reinit_printf_buffer
hipDeviceReset(): make sure to reinitialize the printf buffer in hcc RT
2017-10-20 11:04:37 -05:00
Ben Sander ed85b15c3e Update device properties.
- clear properties to defined initial state.
- enable some property flags which are now supported.
2017-10-20 15:52:13 +00:00
Ben Sander e738fa66b5 Modify device properties to use pool API.
- Also better error code checking
2017-10-20 14:49:29 +00:00
Jenkins 8077be49da Merge 'master' into 'amd-master'
Change-Id: Ibf1621678d63291b419c8c4193b35240ce3406fe
2017-10-20 04:10:17 -05:00
foreman f7ceb625b4 P4 to Git Change 1472922 by johtaylo@johtaylo-jtincrementor2-increment on 2017/10/20 03:00:08
SWDEV-2 - Change OpenCL version number from 2523 to 2524.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2271 edit
2017-10-20 03:08:46 -04:00
foreman 3eb98fe4e7 P4 to Git Change 1472623 by lmoriche@lmoriche_opencl_dev2 on 2017/10/19 13:12:12
SWDEV-135933 - Use the same device driver version format for all device backends
	- Report "####.# (HSA#.#,{HSAIL|LC})"

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#71 edit
2017-10-19 13:19:58 -04:00
Chris Kitching 893ee6d6ca Avoid a double-free of HipifyPPCallbacks instance
This bug was present all along, but something changed in the order
of de-initialisation performed by llvm that makes it actually
crash now.

The constructor of HipifyPPCallbacks gives:
```
std::unique_ptr<HipifyPPCallbacks>(this)
```
to the LLVM Preprocessor instance. The Preprocessor instance
subsequently frees the HipifyPPCallbacks, which is then freed
again when we leave the stack frame at line 4340.

So: let's leak the HipifyPPCallbacks onto the heap, and leave
the LLVM Preprocessor object responsible for tidying it up.
2017-10-19 17:09:32 +01:00
Chris Kitching a06fe54ee8 Be agnostic to the new getReplacements() API
See comment
2017-10-19 17:08:55 +01:00
Chris Kitching 9d83348ac7 Use inline initialisers to set default field values
A trivial cleanup that helps in a moment..
2017-10-19 17:08:55 +01:00
Chris Kitching abd34b2125 Omit now-removed Filename string arg from handleBeginSource 2017-10-19 17:08:55 +01:00
Chris Kitching 885573e1e2 Cope with Replacements now having llvm::Error returns 2017-10-19 17:08:54 +01:00
Chris Kitching 9ccb966e2b Cope with clang 4.0's rename of getNumArgs()
Sorry, this one I couldn't do in a perfectly elegant way ;)
2017-10-19 17:08:54 +01:00
Chris Kitching 22a5e2330d Remove unnecessary call to Retain() on a smart pointer
The Preprocessor smart pointer is held by the CompilerInstance,
and therefore its reference count cannot reach zero until the
CompilerInstance itself is destroyed.

If the CompilerInstance is destroyed, you have more to worry about
than just the preprocessor being deallocated!

Newer versions of the LLVM/Clang API migrated to using
std::shared_ptr, so there is no `Retain()` function (by that
name, anyway). Eliminating this redundant use is a neat and
backward-compatible way to become compatible with newer versions
of the LLVM/Clang API.
2017-10-19 17:08:54 +01:00
Chris Kitching 73984ed809 Refer to clang::StringLiteral explicitly
Newer versions of llvm/clang mean there is both an
llvm::StringLiteral and a clang::StringLiteral. Since we're
dumping both namespaces wholesale into the global namespace with
`using` declarations, this creates a name collision, which must be
resolved.

This change is backwards-compatible, and fixes a problem you
encounter when using newer versions of the llvm/clang API.
2017-10-19 17:08:54 +01:00
Chris Kitching c876f6ffd5 Fix two faulty LLVM version checks
What we actually want to do here is use the StringRef version in
versions newer than 3.8, and the void one in 3.8 and older.

Checking "major-version >= 3 && minor-version >= 9" does not do
what we want. Consider what this will do for version 4.0, for
which minor-version is zero...
2017-10-19 17:08:54 +01:00
Chris Kitching ed6681f563 Use the cache for global variables - not PARENT_SCOPE hacks 2017-10-19 17:08:54 +01:00
Chris Kitching 6abd8963ae Skip lit tests if lit cannot be found 2017-10-19 17:08:54 +01:00
Chris Kitching c62766f880 Don't reinvent find_package
PythonInterp is a finder module that ships with cmake. It supports
the conventional interaction with find_package that allows you
to demand success, and particular vesions, without having your
own logic:

https://cmake.org/cmake/help/v3.0/command/find_package.html
2017-10-19 17:08:53 +01:00
Chris Kitching 03dd8c9fca Don't be picky about clang versions 2017-10-19 17:08:53 +01:00
Chris Kitching b926cdf002 Declare HIPIFY_CLANG_TESTS as a cmake option 2017-10-19 17:08:53 +01:00
Chris Kitching d3a5646051 Use early return to avoid indenting all of CMakeLists.txt 2017-10-19 17:08:53 +01:00
Chris Kitching 72c9767b1d Fix broken indentation introduced by previous commit 2017-10-19 17:08:53 +01:00
Evgeny Mankov c648621510 Merge pull request #217 from ChrisKitching/cxx
[HIPIFY] Don't reject C++ > 11 language features
2017-10-19 17:38:18 +03:00
Chris Kitching 6165b65d21 Inline a redundant std::vector
Looks like a partial refactor..?
2017-10-19 14:11:25 +01:00
Chris Kitching 90b04f696b Allow user-provided -std=* argument to override the default
This means any user-provided -std=* argument overrides this one,
allowing use of newer standards.
2017-10-19 14:11:15 +01:00
Chris Kitching 939fa02ade Add [[nodiscard]] attribute to hipError_t in C++17 mode
This will yield a compiler warning any time you discard an error
return value from an API call.
2017-10-19 13:34:02 +01:00
foreman 46dcd95add P4 to Git Change 1472384 by lmoriche@lmoriche_opencl_dev2 on 2017/10/19 03:29:10
SWDEV-126884 - OCL 2.1 Platform APIs
	- Fix OCL/ROCm OpenCL C version

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpucompiler.cpp#157 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#578 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#240 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#65 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#70 edit
... //depot/stg/opencl/drivers/opencl/runtime/runtimedefs#46 edit
2017-10-19 03:34:06 -04:00
foreman 04f538b5e6 P4 to Git Change 1472367 by johtaylo@johtaylo-jtincrementor2-increment on 2017/10/19 03:00:07
SWDEV-2 - Change OpenCL version number from 2522 to 2523.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2270 edit
2017-10-19 03:07:51 -04:00
Siu Chi Chan a1956f64e6 hipDeviceReset(): make sure to reinitialize the printf buffer in hcc RT 2017-10-18 16:26:13 -04:00
Evgeny Mankov 6cfa73a7da Merge pull request #210 from ChrisKitching/output-hipify
[HIPIFY] Alter output file behaviour slightly
2017-10-18 21:46:31 +03:00
Chris Kitching dbbd6d576d Unconditionally append .hip as the default output filename 2017-10-18 19:19:18 +01:00
foreman 33724edae7 P4 to Git Change 1472044 by lmoriche@lmoriche_opencl_dev2 on 2017/10/18 12:47:26
SWDEV-126884 - OCL 2.1 Platform APIs
	- Report the OpenCL 2.1 platform on staging

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/amdocl.map.in#20 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/build/Makefile.api#163 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/build/Makefile.headers#6 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/irif/build/Makefile.irif#8 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/ockl/build/Makefile.ockl#9 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/oclc/build/Makefile.oclc#11 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/ocml/build/Makefile.ocml#9 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/opencl/build/Makefile.opencl#13 edit
... //depot/stg/opencl/drivers/opencl/opencldefs#217 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudefs.hpp#149 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#357 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldefs.hpp#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#35 edit
2017-10-18 13:13:31 -04:00
foreman 42cf9abb5e P4 to Git Change 1472044 by lmoriche@lmoriche_opencl_dev2 on 2017/10/18 12:47:26
SWDEV-126884 - OCL 2.1 Platform APIs
	- Report the OpenCL 2.1 platform on staging

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/amdocl.map.in#20 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/build/Makefile.api#163 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/build/Makefile.headers#6 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/irif/build/Makefile.irif#8 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/ockl/build/Makefile.ockl#9 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/oclc/build/Makefile.oclc#11 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/ocml/build/Makefile.ocml#9 edit
... //depot/stg/opencl/drivers/opencl/make/amdgcn.git/opencl/build/Makefile.opencl#13 edit
... //depot/stg/opencl/drivers/opencl/opencldefs#217 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudefs.hpp#149 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#357 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldefs.hpp#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#35 edit
2017-10-18 13:13:31 -04:00
foreman d53d7be489 P4 to Git Change 1471997 by lmoriche@lmoriche_opencl_dev2 on 2017/10/18 11:30:15
SWDEV-132888 - OCL kernel execution time is long at the first run on Linux, Vega, HSAIL (ProRender unit test)
	Don't finalize ISA binaries if recompilation is not requested.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#74 edit
2017-10-18 11:39:33 -04:00
Jenkins 3bcd5d3fe3 Merge 'master' into 'amd-master'
Change-Id: I11589b3fff3bb58717f4f6d7045245815bbdf0cc
2017-10-18 04:11:00 -05:00
foreman ce8ed40695 P4 to Git Change 1471770 by johtaylo@johtaylo-jtincrementor2-increment on 2017/10/18 03:00:57
SWDEV-2 - Change OpenCL version number from 2521 to 2522.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2269 edit
2017-10-18 03:10:53 -04:00
Evgeny Mankov 69b1b91311 Merge pull request #195 from emankov/master
[HIPIFY] CUDA RT Textures and Arrays support update
[HIPIFY] cmake changes
[HIPIFY][#199][Partial fix] Fix for cudaLaunchKernel transformation
2017-10-17 18:21:28 +03:00
foreman 0702d1b040 P4 to Git Change 1471146 by johtaylo@johtaylo-jtincrementor2-increment on 2017/10/17 03:00:04
SWDEV-2 - Change OpenCL version number from 2520 to 2521.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2268 edit
2017-10-17 03:08:26 -04:00
Chris Kitching 14061bf0e6 If an output path is given _use it_
Don't append .hip to a user-provided output file...
2017-10-16 17:32:57 +01:00
Chris Kitching bd8a90a05b Operate on a temp file in-place
This copies to the output after operation, instead of working
_on_ the output. This allows includes to work correctly, while
supporting output paths anywhere on the filesystem.

Fixes #208
Fixes #206
2017-10-16 17:32:56 +01:00
foreman a423364ee7 P4 to Git Change 1470466 by johtaylo@johtaylo-jtincrementor2-increment on 2017/10/16 03:00:05
SWDEV-2 - Change OpenCL version number from 2519 to 2520.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2267 edit
2017-10-16 03:06:39 -04:00
foreman ff21b677d8 P4 to Git Change 1470428 by kzhuravl@kzhuravl-fiji-ocllc on 2017/10/16 01:46:27
SWDEV-125823 - Fix perforce opencl/rocm build

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#28 edit
2017-10-16 01:52:40 -04:00
foreman c48579eda1 P4 to Git Change 1470070 by johtaylo@johtaylo-jtincrementor2-increment on 2017/10/14 03:00:22
SWDEV-2 - Change OpenCL version number from 2518 to 2519.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2266 edit
2017-10-14 03:16:12 -04:00
foreman d4911729e6 P4 to Git Change 1469983 by lmoriche@lmoriche_opencl_dev2 on 2017/10/13 17:30:16
SWDEV-133886 - [Linux-Pro][VEGA ][Nuke]OpenCL kernel compilation failed" error is observed with Nuke on Vega10
	- Port CL#1116855 to OCL/ROCm.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#73 edit
2017-10-13 17:36:33 -04:00
foreman 59ed7d2445 P4 to Git Change 1469850 by gandryey@gera-w8 on 2017/10/13 13:56:50
SWDEV-79445 - OCL generic changes and code clean-up
	- Remove obsolete/unused code

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldebugmanager.cpp#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#62 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#34 edit
2017-10-13 14:10:40 -04:00
foreman c6ab68be17 P4 to Git Change 1469594 by johtaylo@johtaylo-jtincrementor2-increment on 2017/10/13 03:00:04
SWDEV-2 - Change OpenCL version number from 2517 to 2518.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2265 edit
2017-10-13 03:17:38 -04:00