Commit Graph

13677 Commits

Author SHA1 Message Date
Jenkins 4003f977ce Merge 'master' into 'amd-master'
Change-Id: Ibf1621678d63291b419c8c4193b35240ce3406fe


[ROCm/clr commit: 8077be49da]
2017-10-20 04:10:17 -05:00
foreman de2b6e9e30 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


[ROCm/clr commit: f7ceb625b4]
2017-10-20 03:08:46 -04:00
foreman a72c17bc3d 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


[ROCm/clr commit: 3eb98fe4e7]
2017-10-19 13:19:58 -04:00
Chris Kitching d0feaee4f4 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.


[ROCm/clr commit: 893ee6d6ca]
2017-10-19 17:09:32 +01:00
Chris Kitching 64a26027b7 Be agnostic to the new getReplacements() API
See comment


[ROCm/clr commit: a06fe54ee8]
2017-10-19 17:08:55 +01:00
Chris Kitching 5e09ca10b7 Use inline initialisers to set default field values
A trivial cleanup that helps in a moment..


[ROCm/clr commit: 9d83348ac7]
2017-10-19 17:08:55 +01:00
Chris Kitching fd9bc0d0d8 Omit now-removed Filename string arg from handleBeginSource
[ROCm/clr commit: abd34b2125]
2017-10-19 17:08:55 +01:00
Chris Kitching a21737be39 Cope with Replacements now having llvm::Error returns
[ROCm/clr commit: 885573e1e2]
2017-10-19 17:08:54 +01:00
Chris Kitching db2b03b879 Cope with clang 4.0's rename of getNumArgs()
Sorry, this one I couldn't do in a perfectly elegant way ;)


[ROCm/clr commit: 9ccb966e2b]
2017-10-19 17:08:54 +01:00
Chris Kitching ae40d4bdea 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.


[ROCm/clr commit: 22a5e2330d]
2017-10-19 17:08:54 +01:00
Chris Kitching 3f284c0927 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.


[ROCm/clr commit: 73984ed809]
2017-10-19 17:08:54 +01:00
Chris Kitching 17903e9dbd 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...


[ROCm/clr commit: c876f6ffd5]
2017-10-19 17:08:54 +01:00
Chris Kitching 37764de428 Use the cache for global variables - not PARENT_SCOPE hacks
[ROCm/clr commit: ed6681f563]
2017-10-19 17:08:54 +01:00
Chris Kitching f736f861b8 Skip lit tests if lit cannot be found
[ROCm/clr commit: 6abd8963ae]
2017-10-19 17:08:54 +01:00
Chris Kitching 95e1706537 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


[ROCm/clr commit: c62766f880]
2017-10-19 17:08:53 +01:00
Chris Kitching 35943634ea Don't be picky about clang versions
[ROCm/clr commit: 03dd8c9fca]
2017-10-19 17:08:53 +01:00
Chris Kitching 9eac4a2012 Declare HIPIFY_CLANG_TESTS as a cmake option
[ROCm/clr commit: b926cdf002]
2017-10-19 17:08:53 +01:00
Chris Kitching 28ebdf5379 Use early return to avoid indenting all of CMakeLists.txt
[ROCm/clr commit: d3a5646051]
2017-10-19 17:08:53 +01:00
Chris Kitching a0c26d39f9 Fix broken indentation introduced by previous commit
[ROCm/clr commit: 72c9767b1d]
2017-10-19 17:08:53 +01:00
Evgeny Mankov f81de9d680 Merge pull request #217 from ChrisKitching/cxx
[HIPIFY] Don't reject C++ > 11 language features

[ROCm/clr commit: c648621510]
2017-10-19 17:38:18 +03:00
Chris Kitching 5cbaf06867 Inline a redundant std::vector
Looks like a partial refactor..?


[ROCm/clr commit: 6165b65d21]
2017-10-19 14:11:25 +01:00
Chris Kitching ddd6304971 Allow user-provided -std=* argument to override the default
This means any user-provided -std=* argument overrides this one,
allowing use of newer standards.


[ROCm/clr commit: 90b04f696b]
2017-10-19 14:11:15 +01:00
Chris Kitching c3f743a763 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.


[ROCm/clr commit: 939fa02ade]
2017-10-19 13:34:02 +01:00
foreman 8170a3f003 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


[ROCm/clr commit: 46dcd95add]
2017-10-19 03:34:06 -04:00
foreman 470248bbc2 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


[ROCm/clr commit: 04f538b5e6]
2017-10-19 03:07:51 -04:00
Siu Chi Chan 5ccf3d4d9b hipDeviceReset(): make sure to reinitialize the printf buffer in hcc RT
[ROCm/clr commit: a1956f64e6]
2017-10-18 16:26:13 -04:00
Evgeny Mankov af78943d2c Merge pull request #210 from ChrisKitching/output-hipify
[HIPIFY] Alter output file behaviour slightly

[ROCm/clr commit: 6cfa73a7da]
2017-10-18 21:46:31 +03:00
Chris Kitching bbc7a86d2c Unconditionally append .hip as the default output filename
[ROCm/clr commit: dbbd6d576d]
2017-10-18 19:19:18 +01:00
foreman 0e8d266551 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


[ROCm/clr commit: 33724edae7]
2017-10-18 13:13:31 -04:00
foreman 0f83e19fe9 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


[ROCm/clr commit: 42cf9abb5e]
2017-10-18 13:13:31 -04:00
foreman c130d4ca6b 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


[ROCm/clr commit: d53d7be489]
2017-10-18 11:39:33 -04:00
Jenkins dffb859a90 Merge 'master' into 'amd-master'
Change-Id: I11589b3fff3bb58717f4f6d7045245815bbdf0cc


[ROCm/clr commit: 3bcd5d3fe3]
2017-10-18 04:11:00 -05:00
foreman a7e2de5d91 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


[ROCm/clr commit: ce8ed40695]
2017-10-18 03:10:53 -04:00
Evgeny Mankov 040133beb5 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 


[ROCm/clr commit: 69b1b91311]
2017-10-17 18:21:28 +03:00
foreman 081b463151 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


[ROCm/clr commit: 0702d1b040]
2017-10-17 03:08:26 -04:00
Chris Kitching 756aca43f9 If an output path is given _use it_
Don't append .hip to a user-provided output file...


[ROCm/clr commit: 14061bf0e6]
2017-10-16 17:32:57 +01:00
Chris Kitching 40b7c1f9a1 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


[ROCm/clr commit: bd8a90a05b]
2017-10-16 17:32:56 +01:00
foreman 31657b9996 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


[ROCm/clr commit: a423364ee7]
2017-10-16 03:06:39 -04:00
foreman 7509db20db 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


[ROCm/clr commit: ff21b677d8]
2017-10-16 01:52:40 -04:00
foreman ec661966e2 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


[ROCm/clr commit: c48579eda1]
2017-10-14 03:16:12 -04:00
foreman 3cc5b26847 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


[ROCm/clr commit: d4911729e6]
2017-10-13 17:36:33 -04:00
foreman 65de22f0ed 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


[ROCm/clr commit: 59ed7d2445]
2017-10-13 14:10:40 -04:00
foreman a2715be56d 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


[ROCm/clr commit: c6ab68be17]
2017-10-13 03:17:38 -04:00
foreman 4ce1050c5f P4 to Git Change 1469436 by kzhuravl@kzhuravl-fiji-ocllc on 2017/10/12 18:56:04
SWDEV-125823 - Fix perforce opencl build for upcoming merge

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#72 edit


[ROCm/clr commit: e0b141b516]
2017-10-12 19:07:29 -04:00
foreman b213f82082 P4 to Git Change 1469411 by wchau@wchau_OCL_boltzmann on 2017/10/12 17:51:56
SWDEV-120036 - Supporting the cl_amd_device_attribute_query on the ROC device
	- divided the query of HSA_AMD_AGENT_INFO_MEMORY_WIDTH by 32 to obtained the globale memory channels as done in ORCA and PAL

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#69 edit


[ROCm/clr commit: 05216e1f54]
2017-10-12 17:59:29 -04:00
foreman e2157475ac P4 to Git Change 1469232 by kzhuravl@kzhuravl-fiji-ocllc on 2017/10/12 13:32:01
SWDEV-125823 - Fix perforce opencl build

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#38 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.hpp#14 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#47 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.hpp#20 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.hpp#29 edit


[ROCm/clr commit: 23d806c514]
2017-10-12 13:38:43 -04:00
Evgeny Mankov 8d9f902675 [HIPIFY][#199][Partial fix] Fix for cudaLaunchKernel transformation
[Synopsis]
If any of kernel arguments is a MACRO its location calculation is wrong (location of its definition is actually calculated).
Thus garbage code is being produced on the place of such a MACRO starting from the end of its actual definition.

[Solution]
Add isMacroBodyExpansion and isMacroArgExpansion checks on kernel arguments.


[ROCm/clr commit: f3ef942407]
2017-10-12 20:05:42 +03:00
foreman 78d9c130b5 P4 to Git Change 1469140 by emankov@em-hsa-lightning on 2017/10/12 10:53:13
SWDEV-86035 - Fix OCL build on Linux after LLVM merge (CL 1469082)

	TODO: PAL build should be fixed accordingly

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#27 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#71 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.hpp#28 edit


[ROCm/clr commit: 3c7f4d6c49]
2017-10-12 10:57:57 -04:00
foreman d442f86781 P4 to Git Change 1469018 by johtaylo@johtaylo-jtincrementor2-increment on 2017/10/12 03:00:04
SWDEV-2 - Change OpenCL version number from 2516 to 2517.

Affected files ...

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


[ROCm/clr commit: 469491fd51]
2017-10-12 03:09:03 -04:00
foreman de8ab93999 P4 to Git Change 1468787 by wchau@wchau_OCL_boltzmann on 2017/10/11 15:37:08
SWDEV-116372 - Implement OpenCL profile extension for ROCr using AQL-PM4 library

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccounters.cpp#1 add
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccounters.hpp#1 add
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#44 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.hpp#14 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/perfctr.hpp#6 edit


[ROCm/clr commit: d9a5ce031c]
2017-10-11 15:44:54 -04:00