コミットグラフ

1867 コミット

作成者 SHA1 メッセージ 日付
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
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
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
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
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
Evgeny Mankov e403132550 [HIPIFY] cmake changes
+ standalone build support
+ WIN MSVC support
+ disable lit testing by default
+ to enable lit testing -DHIPIFY_CLANG_TESTS=1 should be specified

Tested builds:
+ hipify-clang standalone           {Ubuntu 16.04|Windows 10} {Debug|Release} {x86|x64a} {g++|clang++|MSVC 2017} {llvm 3.8.0|llvm 3.9.0} {-DHIPIFY_CLANG_TESTS=1| }
+ HIP {-DHIPIFY_CLANG_LLVM_DIR=..|} {Ubuntu 16.04}            {Debug|Release} {x86|x64a} {hcc}                   {llvm 3.8.0|llvm 3.9.0} {-DHIPIFY_CLANG_TESTS=1| }


[ROCm/clr commit: ff38a484af]
2017-10-09 20:28:20 +03:00
Evgeny Mankov 25f3bf2c44 Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP
[ROCm/clr commit: 86e0aa63d0]
2017-10-09 20:17:43 +03:00
Maneesh Gupta 2719e8a185 Bump HIP version to 1.4 and update release notes
Change-Id: I3570dedb32fe5fec6f60565c587a3282a4c6c709


[ROCm/clr commit: 253c1bf890]
2017-10-06 10:26:11 +05:30
Evgeny Mankov 72215db89e [HIPIFY] CUDA RT Textures and Arrays support update
[ROCm/clr commit: 858315b4cd]
2017-10-05 16:38:36 +03:00
Maneesh Gupta caba6ac8d5 Merge pull request #188 from gargrahul/texture2D_tests
Added Texture 2D object and reference APIs tests

[ROCm/clr commit: 7bc98ced9d]
2017-10-05 12:01:10 +05:30
Maneesh Gupta e80a4ee235 Merge pull request #194 from bensander/fix_genco_math_path
Fix math ordering for --genco mode.

[ROCm/clr commit: 132316fecf]
2017-10-03 16:17:34 +05:30
Ben Sander e5bb8f73d0 Fix math ordering for --genco mode.
[ROCm/clr commit: 2e9b78c274]
2017-10-02 21:52:16 +00:00
Rahul Garg bc675b15b8 Fixed review comment
[ROCm/clr commit: 71a5a0cb42]
2017-10-02 17:29:08 +05:30
Rahul Garg f32bb0e089 Fixed review comments
[ROCm/clr commit: 79a943e654]
2017-10-02 10:57:25 +05:30
Rahul Garg 59fce18f03 Fixed build issue
[ROCm/clr commit: d92cfa44d2]
2017-10-02 10:40:01 +05:30
Rahul Garg c1cb518025 Fix texture support on HIP/NVCC path
[ROCm/clr commit: e6725e2b7a]
2017-10-02 10:40:01 +05:30
Kent Knox 80e399ba20 Making docker_clean_images more resilient
To the failure of deleting images.


[ROCm/clr commit: c6af44f67d]
2017-09-28 14:28:53 -05:00
Maneesh Gupta e205285f1c Merge pull request #187 from gargrahul/fix_texture_fetch_issue
Fixed hipTexture fetch issue

[ROCm/clr commit: 1701d9726e]
2017-09-27 08:48:15 +05:30
Kent Knox 71a01e5bbb Force organization name to be lowercase for docker
error building docker image because of CamelCasing


[ROCm/clr commit: 6f8592a863]
2017-09-26 14:33:29 -05:00
Rahul Garg 8f194d831a Added HIT block
[ROCm/clr commit: 05070fe824]
2017-09-26 11:39:09 +05:30
Rahul Garg aaa77132da Added Texture 2D object and reference APIs tests
[ROCm/clr commit: 36db84a68f]
2017-09-26 11:33:23 +05:30
Kent Knox 4e63ea0714 Modify the path for downloaded artifacts from hcc
[ROCm/clr commit: 2fadb2a097]
2017-09-24 23:12:42 -05:00
Rahul Garg 0de0e63556 Fixed hipTexture fetch issue
[ROCm/clr commit: 9e07b08ce5]
2017-09-25 06:54:29 +05:30
Siu Chi Chan 063dae2c46 ensure the condition is evaluated before applying the negation operator
[ROCm/clr commit: bf6a3f4294]
2017-09-20 01:38:28 -04:00
Maneesh Gupta 002a7a1b48 Merge pull request #183 from wsttiger/master
Remove the conversion of warpSize to be consistent with hipDeviceProp

[ROCm/clr commit: 794ea64e6e]
2017-09-20 09:15:18 +05:30
Maneesh Gupta 7d52fccf9a Merge pull request #184 from emankov/master
[HIPIFY] Fix typo in doc

[ROCm/clr commit: 9ab3184aab]
2017-09-20 09:11:50 +05:30
Maneesh Gupta a161aec21c Merge pull request #161 from kknox/hcc-integration-testing-squash
HCC integration testing

[ROCm/clr commit: 0166e6ff68]
2017-09-20 09:10:30 +05:30
Evgeny Mankov 6043ab0755 [HIPIFY] CUDA RT Textures support update
[ROCm/clr commit: bbaf16b263]
2017-09-18 17:52:50 +03:00
Evgeny Mankov c49d3445b5 [HIPIFY] Fix typo in doc
[ROCm/clr commit: bfa3a0a433]
2017-09-18 17:26:33 +03:00
wsttiger 88382e05b9 Remove the conversion of warpSize to be consistent with hipDeviceProp
[ROCm/clr commit: bda788ca97]
2017-09-15 15:05:05 -05:00
Ben Sander 0a84238809 Merge pull request #182 from whchung/bump_major_version
Bump device major version from 2 to 3

[ROCm/clr commit: 5e48654932]
2017-09-15 11:15:35 -05:00
Wen-Heng (Jack) Chung a6159384a1 Bump device major version from 2 to 3
This would significantly improve performance for certain apps in kernel
selection logic.


[ROCm/clr commit: 1efc99e69f]
2017-09-15 15:47:39 +00:00