ajohnson-uoregon added a comment. I still need to write tests but: I do have a use case for these over here: https://github.com/ajohnson-uoregon/llvm-project/blob/feature-ajohnson/clang-tools-extra/clang-rewrite/ConstructMatchers.cpp#L472 tl;dr, we'd like to match the kernel launch arguments (i.e., the arguments to `__cudaPushCallConfiguration()`) and these matchers made writing the code to generate those AST matchers much easier.
Without at least the `hasKernelConfig()` matcher, it's actually currently impossible to match the kernel launch args. (I wasn't able to find a way after quite a while poking at the AST, at least.) As for the others, it's not clear how to match the kernel launch args without exposing the fact that there's a second CallExpr inside the CUDAKernelCallExpr to the user and writing a pretty messy matcher, along the lines of `cudaKernelCallExpr(hasKernelConfig(callExpr(hasArgument(0, expr()))))` for the grid dim. `cudaKernelCallExpr(cudaGridDim())` is a lot cleaner and easier to understand. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120952/new/ https://reviews.llvm.org/D120952 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits