+ Move generating hipify-perl and hipify-python into separate namespaces and files
+ Move getAbsoluteFilePath and getAbsoluteDirectoryPath to StringUtils
+ Add a corresponding matcher cudaDeviceFuncCall to match only (__device__ or __global__) and not __host__ functions.
+ Add a corresponding device functions mapping:
only unsupported are listed, cause supported are exactly the same as of CUDA and do not need transformation;
make FindAndReplace for device functions separated from host API calls.
+ Add a test to distinguish device functions and user-defined.
+ Start to translate preprocessor's false conditional blocks too:
based on clang's https://reviews.llvm.org/D66597;
available only starting from LLVM 10.0 or trunk.
+ Option -skip-excluded-preprocessor-conditional-blocks for skipping excluded conditional blocks:
the default behavior for hipify-clang built with LLVM < 10.0;
false by default for hipify-clang built with LLVM 10 or trunk.
+ Add 4 preprocessor unit tests, 2 of which are LLVM 10.0 only
+ Update couple of existing tests by setting -skip-excluded-preprocessor-conditional-blocks option:
update lit testing accordingly
[Reason] LLVM became c++14 last week due to the following change:
37508d3dd94b0154861a90b1909d17b01400df99
Replace llvm::integer_sequence and friends with the C++14 standard version
...while including HIP main header file, which is inserted now after #indef controlling macro, or after #pragma once, if it's occurred earlier.
+ Add a couple of unit tests.
ToDo: Check backward compatibility on older clang versions.
+ CUDA version - version in which API has appeared and (optional) last version before abandoning it; no value in case of earlier versions < 7.5.
+ Fix typos, add missing references.
+ CUDA version - version in which API has appeared and (optional) last version before abandoning it; no value in case of earlier versions < 7.5.
+ Fix typos
+ Tested on Windows and Linux;
+ Provide patch for clang's bug 38811;
+ Update Readme.md accordingly.
P.S.
With the next 9.0.0 release patches for Windows won't be needed, cause all fixes will be there.
+ Fixes the following assert in debug version:
Assertion failed: (S.empty() || S[0] != '-') && "Option can't start with '-", file C:\GIT\LLVM\trunk-for-submits\llvm-project\llvm\lib\Support\CommandLine.cpp, line 440
+ DashDash option left declared in order to be listed in help.
* Add Max Texture 1D,2D,3D device properties
* Corrected testcase to use enums defined in hipDeviceAttribute_t
* Added texture 1D,2D and 3D support for NVIDIA path
[Reason] To be compatible with CUDA [#1133]
Update HIP code, hipify-clang, tests and docs
[TODO] Add support of the corresponding functions on nvcc fallback path
+ Add option -print-stats-csv to dump statistics to CSV file
+ If -o-dir is specified, CSV file will be dumped there
+ Generate 1 summary file sum_stat.csv in case of multiple sources
+ Makes hip_Memcpy2D struct compatible with CUDA_MEMCPY2D struct
+ Add hipMemcpyParam2D support in nvcc fallback path
+ Update hipify-clang, tests and docs accordingly