yaxunl added inline comments.

================
Comment at: lib/CodeGen/CGDecl.cpp:1119
+      T.getAddressSpace(), address.getPointer()->getType()->
+      getPointerElementType()->getPointerTo(getContext().getTargetAddressSpace(
+          T.getAddressSpace())), true);
----------------
rjmccall wrote:
> Hmm.  I would prefer if we could avoid doing this in the fast path.  
> Suggestion:
> 
>   - Please add a variable (ASTAllocaAddressSpace) to CodeGenTypeCache that 
> stores the AST address space of the stack.  You can add a function to 
> CodeGenTargetInfo to initialize this; in most targets, it will just return 0, 
> but your target can make it ~0U or something, anything works as long as it 
> doesn't incorrectly match an actual target address space.  (But you should 
> really consider adding an actual target-specific address space for the stack! 
>  It'll probably be useful in builtin code or something eventually.)
> 
>   - Please add an assert that T.getAddressSpace() == 0, and then make this 
> call conditional on whether ASTAllocaAddressSpace is non-zero.
> 
> You can just write address.getElementType() instead of 
> address.getPointer()->getType()->getPointerElementType().
> 
> Are you intentionally leaving emission.Addr as the unconverted pointer?  That 
> will probably mess everything else downstream that uses 'emission', and the 
> only reason you're not seeing that is that OpenCL probably doesn't actually 
> have anything downstream that uses 'emission' — destructors or whatever else.
> 
> Please add an inline comment like
>    , /*non-null*/ true);
Sorry I missed this comment. I will do the changes.

About emission.Addr, I leave the unconverted pointer intentionally. I need this 
to work for both C++ and OpenCL. I checked the usage of emission.Addr and they 
seem to be only load or store, so I think it is safe to use the unconverted 
pointer. Now you mention destructor. I think I need to change that and I am 
going to add a lit test also.


https://reviews.llvm.org/D32248



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to