[PATCH] D62574: Initial draft of target-configurable address spaces.
Bevin Hansson via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 29 02:12:27 PDT 2019
ebevhan created this revision.
ebevhan added reviewers: Anastasia, rjmccall.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
This is an initial draft of the support for target-configurable
address spaces.
Original RFC: http://lists.llvm.org/pipermail/cfe-dev/2019-March/061541.html
After thinking about Anastasia's input on the RFC regarding
the superspace/subspace model, I decided to go a different
route with the design of the interface. Instead of having
accessors for implicit casts and explicit casts, I kept the
subspace accessor and added an accessor for overriding
the behavior of explicit casts only.
This lets us keep the overlap model and support the default
Embedded-C functionality while still letting targets
configure their behavior reasonably.
This patch does not address the issue with the accessors
on Qualifiers (isAddressSpaceSupersetOf, compatiblyIncludes),
because I don't know how to solve it without breaking a ton of
rather nice encapsulation. Either, every mention of compatiblyIncludes
must be replaced with a call to a corresponding ASTContext method,
Qualifiers must have a handle to ASTContext, or ASTContext must be
passed to every such call. This revision mentions the issue in a comment:
https://reviews.llvm.org/D49294
Repository:
rC Clang
https://reviews.llvm.org/D62574
Files:
include/clang/AST/ASTContext.h
include/clang/AST/Type.h
include/clang/Basic/TargetInfo.h
lib/AST/ASTContext.cpp
lib/Sema/SemaCast.cpp
lib/Sema/SemaExpr.cpp
lib/Sema/SemaInit.cpp
lib/Sema/SemaOverload.cpp
test/Sema/address_space_print_macro.c
test/Sema/address_spaces.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62574.201842.patch
Type: text/x-patch
Size: 18416 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190529/a8cf05ce/attachment-0001.bin>
More information about the cfe-commits
mailing list