This lets LLVM perform IPO over these functions. In particular, it
allows LLVM to emit ld.global.nc for loads to __restrict pointers in
kernels that are never written to.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
tra makes the good point that maybe this should be done in ASTContext, where we already have a special case for global. (I think I gravitated to doing it this way because the GVA* enums have zero documentation -- at least I have a vague idea of what the LLVM attributes do. :)
Suggestions welcome, Richard, this patch is just a guess.