[Chapel Merge] Fix GPU support for LLVM 14, ignore CUDA version w

Branch: refs/heads/main
Revision: 646ce8f
Author: e-kayrakli
Link: Unavailable
Log Message:

Merge pull request #20016 from e-kayrakli/gpu-llvm-14

Fix GPU support for LLVM 14, ignore CUDA version warnings

This PR checks the device attribute while adding declarations to lvt.

Resolves linker error in GPU code generation with llvm 13.0.1 · Issue #19740 · chapel-lang/chapel · GitHub

While working on this, I realized that with clang 14, the CUDA version warning
has changed. Instead of fixing our PREDIFF for a warning message that we wanted
to get rid of anyways, I bit the bullet and figured out the correct incantation
for making clang ignore it for us.

Future Work

This PR doesn't take us all the way to what me and @mppf described starting
linker error in GPU code generation with llvm 13.0.1 · Issue #19740 · chapel-lang/chapel · GitHub. I
have a separate branch that makes lvt use a llvm::SmallVector to keep track of
multiple overloads. I haven't figured out how to match the correct version to a
CallExpr, yet. But before pursuing that further, I forked off this branch to
make sure we have LLVM 14 support as early as we can and start testing it.

[Reviewed by @mppf and @stonea]

Test