================
@@ -1085,6 +1085,14 @@ class CodeGenModule : public CodeGenTypeCache {
/// space, target-specific global or constant address space may be returned.
LangAS GetGlobalVarAddressSpace(const VarDecl *D);
+ /// Return whether loads from an address space are invariant.
+ bool isInvariantAddressSpace(LangAS AS) const {
+ return AS == LangAS::opencl_constant || AS == LangAS::cuda_constant;
+ }
+
+ /// Return whether loads from a global variable are invariant.
+ bool isGlobalVarInvariant(const VarDecl *D);
+
----------------
keshavvinayak01 wrote:
@arsenm `isGlobalVarInvariant` keeps address-space recovery and classification
out of the CodeGen call site.
https://github.com/llvm/llvm-project/pull/218356
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits