GPU targets like nvptx64-nvidia-cuda and amdgcn-amd-amdhsa require
that we have convergent functions on. Currently we apply this to all the
offloading languages, but this patch applies it based on the triple
directly. This is so users can specify --target=nvptx64-nvidia-cuda
and get this behaviour as an implementation detail of the architecture.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
I think this is sensible. Passing fno-convergent-functions presumably changes the default?
I wonder if we should adopt this and then remove the checks for each of the GPU programming models
Comment Actions
That would probably make sense, actually that's a good point. MaskRay wanted me to remove -fno-convergent-functions in the previous patch which prevents us from doing that. I think I'll add it back in because I like the idea of being able to override defaults.