LGTM. Trying to implicitly cast pointers between ASs now crash LLVM in LLVM 
3.4 (assert in Instructions.cpp). Is it related to this? Perhaps the patch 
should be added to LLVM 3.4 and there could be a switch to disable the check 
for OpenCL (revert to the CUDA behavior)?

  The exact problem we encounter is that in pocl we need to cast pointers in 
case of having the logical address space as an argument (atomics in this case) 
to an OCL built-in function which calls an LLVM built-in with the pointer arg 
in AS0. We know it is legal and correct for the target of the built-in 
implementation (CPUs with all pointers mapping to physical AS0), but it now 
crashes the compilation without extra trickery due to having the logical 
address space (fake-addr-space-map) causing the bitcast assert. The workaround 
is casting via an union.

http://llvm-reviews.chandlerc.com/D2241
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to