Commit Graph

12314 Commits

Author SHA1 Message Date
Evgeny Mankov 748c8af044 Merge pull request #224 from ChrisKitching/tests
[HIPIFY] Make the automated tests more useful

[ROCm/clr commit: cbb772c3ab]
2017-10-24 20:12:36 +03:00
Evgeny Mankov a12402fc9a Merge branch 'master' into tests
[ROCm/clr commit: 712a1da073]
2017-10-24 20:03:51 +03:00
Evgeny Mankov a6f0e70cea Merge pull request #227 from ChrisKitching/clang-silly
Tweak some version numbers in clang version compatibility checks

[ROCm/clr commit: 7b307b21d1]
2017-10-24 17:16:07 +03:00
Evgeny Mankov 59c0a69751 [HIPIFY][fix] cmake: NO_DEFAULT_PATH is strongly needed in find_package for LLVM
Otherwise LLVM will be searched in system folders.


[ROCm/clr commit: 4a0228cedb]
2017-10-24 16:35:10 +03:00
Rahul Garg 28c72504b6 Example showing globals use with module APIs
[ROCm/clr commit: 10b1b58505]
2017-10-24 18:12:25 +05:30
Maneesh Gupta fd9a0778ba Merge pull request #225 from emankov/master
[HIPIFY] cmake: fix standalone build

[ROCm/clr commit: e324e77184]
2017-10-24 17:06:51 +05:30
Evgeny Mankov 10cd9f9eb9 [HIPIFY][fix] cmake: do not build hipify-clang if not asked
+ warn "hipify-clang will not be built" if HIPIFY_CLANG_LLVM_DIR is not specified.
+ fix typo in previous commit .


[ROCm/clr commit: 7c51376bbf]
2017-10-24 14:16:05 +03:00
emankov d9a550d09c [HIPIFY] cmake: simplify build
[ROCm/clr commit: 559d9a68aa]
2017-10-24 10:51:11 +03:00
foreman 93f751cc33 P4 to Git Change 1474014 by johtaylo@johtaylo-jtincrementor2-increment on 2017/10/24 03:00:05
SWDEV-2 - Change OpenCL version number from 2525 to 2526.

Affected files ...

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


[ROCm/clr commit: 778197c431]
2017-10-24 03:08:30 -04:00
Siu Chi Chan f3b4833413 printf support for module API
[ROCm/clr commit: 4ed3e9e15f]
2017-10-24 00:55:41 -04:00
Chris Kitching 482541bb8c Tweak some version numbers in clang version compatibility checks
Apparently a couple of those APIs changed in clang 5, not 4.

Drat.


[ROCm/clr commit: aa288fcf1f]
2017-10-24 01:45:23 +01:00
Siu Chi Chan 9997997fe5 add an unit test for printf
[ROCm/clr commit: f1992c5b11]
2017-10-23 18:31:13 -04:00
Siu Chi Chan 1e4a2a7dd0 add a printf device function
[ROCm/clr commit: 36c2795dd4]
2017-10-23 18:30:08 -04:00
Siu Chi Chan 5f24981c61 replace __hcc_workweek__ with HC_FEATURE_PRINTF flag
[ROCm/clr commit: da7c37947c]
2017-10-23 18:30:08 -04:00
Evgeny Mankov 27df5ecc82 [HIPIFY] cmake: fix standalone build
[ROCm/clr commit: cdd849541f]
2017-10-23 21:16:13 +03:00
Rahul Garg dc6c43772c Use 2X for bidir p2p memory bandwidth calc
[ROCm/clr commit: 4090c82936]
2017-10-23 21:57:20 +05:30
Chris Kitching 26be50b082 Add concurentKernels.cu to the testsuite
[ROCm/clr commit: 2c65d0da37]
2017-10-23 13:39:37 +01:00
Chris Kitching 8fffd03350 Add the CUDA samples include dir to the path for tests
Means we get to easily steal CUDA examples for tests


[ROCm/clr commit: 64d5f07050]
2017-10-23 13:39:37 +01:00
Chris Kitching 7547f796d0 Add cudaRegister.cu lit test
[ROCm/clr commit: 2437b31939]
2017-10-23 13:39:37 +01:00
Chris Kitching 8fd3b3b1cd Add square.cu to lit testsuite
[ROCm/clr commit: ead79e5bf4]
2017-10-23 13:39:37 +01:00
Chris Kitching 8b311424a6 Introduce a test runner script to simplify invocation
... And to use a standard, highly amusing trick for making
coloured output work.


[ROCm/clr commit: c99dcbba8d]
2017-10-23 13:39:37 +01:00
Chris Kitching 4e80782cda Adapt lit test for the hipLaunchKernelGGL changes from before...
[ROCm/clr commit: 5912f465bd]
2017-10-23 13:39:37 +01:00
Chris Kitching 0f6c153774 Migrate lit test to using FileCheck, so failures are readable
It seems the test is already broken, but look how awesome the
error message is now:

/home/chris/HIP/tests/hipify-clang/axpy.cu:31:12: error: expected string not found in input
 // CHECK: hipLaunchKernel(HIP_KERNEL_NAME(axpy), dim3(1), dim3(kDataLen), 0, 0, a, device_x, device_y);
           ^
<stdin>:31:2: note: scanning from here
 //
 ^
<stdin>:33:2: note: possible intended match here
 hipLaunchKernelGGL(axpy, dim3(1), dim3(kDataLen), 0, 0, a, device_x, device_y);
 ^


[ROCm/clr commit: 74fd64d5c1]
2017-10-23 13:39:37 +01:00
Chris Kitching d92c43bd21 Look for FileCheck for running lit tests, too
Use of grep in `lit` RUN lines is deprecated:
https://llvm.org/docs/TestingGuide.html#writing-new-regression-tests

Using grep leads to really unhelpful failure output (it literally
just says "the test failed"). FileCheck is much more helpful, and
distributed with LLVM on most distros anyway, so this extra
dependency shouldn't prove problematic.


[ROCm/clr commit: 3868036ea7]
2017-10-23 13:39:36 +01:00
Chris Kitching baabd2755e Propagate the CUDA toolkit directory into the lit tests
Allows the tests to actually run... :D


[ROCm/clr commit: 9747578d09]
2017-10-23 13:39:36 +01:00
Chris Kitching 49e43a7fc1 Remove dependency on nonexistent lit target
This just... isn't a target. Maybe you were trying to do a file
dependency? But that's handled implicitly by the find_program
call anyway, so all this is doing is generating a cmake warning


[ROCm/clr commit: e9d259699c]
2017-10-23 13:39:36 +01:00
Maneesh Gupta 941682c701 Make elfio headers private
Change-Id: I3ba174bb46e84a75380207d93a0da6fe3703689e


[ROCm/clr commit: 281c543bc3]
2017-10-23 10:24:36 +05:30
Ben Sander eee60317fa Use 2X for bidir memory bandwidth calc
[ROCm/clr commit: 21689e8710]
2017-10-21 07:47:32 -05:00
Evgeny Mankov 255a770364 Merge pull request #219 from ChrisKitching/newClang
[HIPIFY] Migrate hipify-clang to a newer version of clang

[ROCm/clr commit: 9dec691dbf]
2017-10-21 11:59:46 +03:00
foreman a937ba266d P4 to Git Change 1473303 by johtaylo@johtaylo-jtincrementor2-increment on 2017/10/21 03:00:04
SWDEV-2 - Change OpenCL version number from 2524 to 2525.

Affected files ...

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


[ROCm/clr commit: 53a1d4d451]
2017-10-21 03:13:53 -04:00
foreman cafe3fcf08 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


[ROCm/clr commit: c8c4813e17]
2017-10-20 21:00:19 -04:00
foreman 090101352f 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


[ROCm/clr commit: c9852274bd]
2017-10-20 19:39:49 -04:00
foreman 4912126653 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


[ROCm/clr commit: 403b110f0c]
2017-10-20 18:30:09 -04:00
Ben Sander b5e3de043c Remove printf
[ROCm/clr commit: b4c7876244]
2017-10-20 13:24:04 -07:00
Ben Sander 33b46b8ed9 Merge pull request #214 from scchan/reinit_printf_buffer
hipDeviceReset(): make sure to reinitialize the printf buffer in hcc RT

[ROCm/clr commit: 326651875d]
2017-10-20 11:04:37 -05:00
Ben Sander 2774542487 Update device properties.
- clear properties to defined initial state.
- enable some property flags which are now supported.


[ROCm/clr commit: ed85b15c3e]
2017-10-20 15:52:13 +00:00
Ben Sander 339cf92137 Modify device properties to use pool API.
- Also better error code checking


[ROCm/clr commit: e738fa66b5]
2017-10-20 14:49:29 +00:00
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