ROCm / HIPIFY

HIPIFY: Convert CUDA to Portable C++ Code
https://rocm.docs.amd.com/projects/HIPIFY/en/latest/
MIT License
524 stars 75 forks source link

[HIPIFY][clang] Add a callback in clang to decide on hipify-clang's side whether to exclude the particular false conditional block or not #1

Open emankov opened 4 years ago

emankov commented 4 years ago

With the change https://github.com/ROCm-Developer-Tools/HIP/pull/1372, all the blocks are not excluded from AST when -skip-excluded-preprocessor-conditional-blocks option is set. The corresponding change in clang: https://reviews.llvm.org/D66597.

The main idea is: if there is nothing to hipify in a particular false conditional block, then such block might be excluded from AST.

Such a callback in clang's preprocessor will be useful for the following main cases:

emankov commented 4 years ago

The following example should be successfully hipified after implementing the feature in clang: deviceQuery.zip