[PATCH] D33989: [OpenCL] Allow targets to select address space per type

Anastasia Stulova via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 12 06:51:15 PDT 2017

Anastasia added inline comments.

Comment at: cfe/trunk/lib/Basic/TargetInfo.cpp:351
+LangAS::ID TargetInfo::getOpenCLTypeAddrSpace(const Type *T) const {
+  auto BT = dyn_cast<BuiltinType>(T);
chapuni wrote:
> Excuse me for old commit, I think it might be layering violation.
> Could we avoid using AST/Type here?
One of the problems is that even if we could write another layer of enums to map OpenCL specific AST types into the TargetInfo representation it doesn't really help creating a layered structure between AST and Basic libs.  They seem to have a large logical dependence despite not including the library headers physically. So modification in AST would require modifications in Basic anyway resulting in overhead of changing 2 places instead of 1. So I am wondering if there is any better approach here e.g. revisiting the library dependencies or what classes they should contain?



More information about the cfe-commits mailing list