<div dir="ltr">Yes. I'll add that to NVPTXPassConfig::addIRPass. </div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 2, 2015 at 5:45 AM, Justin Holewinski <span dir="ltr"><<a href="mailto:justin.holewinski@gmail.com" target="_blank">justin.holewinski@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Comments inlined.<br>
<br>
Are you planning on enabling this pass by default?<br>
<br>
<br>
================<br>
Comment at: lib/Target/NVPTX/NVPTXLowerKernelArgs.cpp:37<br>
@@ +36,3 @@<br>
+//      %input2 = bitcast float* %input to i8*<br>
+//      %cvt = call i8 addrspace(1)* @llvm.nvvm.ptr.gen.to.global.p1i8.p0i8(i8* %input2)<br>
+//      %input3 = bitcast i8 addrspace(1)* %cvt to float addrspace(1)*<br>
----------------<br>
The address space conversion intrinsics are deprecated in favor of the new addrspacecast instruction (I need to document that in IntrinsicsNVVM.td).<br>
<br>
================<br>
Comment at: lib/Target/NVPTX/NVPTXLowerKernelArgs.cpp:40<br>
@@ +39,3 @@<br>
+//      %input4 = addrspacecast float addrspace(1)* %input3 to float*<br>
+//      %v = load float, float* %input4, align 4<br>
+//      ...<br>
----------------<br>
Isn't it possible that an optimization would remove all of these casts before NVVMFavorNonGenericAddrSpaces runs?  I know we control the pass pipeline in the backend, but I worry about these pass ordering constraints.<br>
<br>
================<br>
Comment at: lib/Target/NVPTX/NVPTXLowerKernelArgs.cpp:189<br>
@@ +188,3 @@<br>
+      else<br>
+        handlePointerParam(&Arg);<br>
+    }<br>
----------------<br>
Strictly speaking, this is only valid for CUDA (DrvInterface::CUDA).<br>
<br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_D10154&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=5dOtby0EgePIsYVAF3Dr7O2CgUcNrYj5QU0Y1epTiZA&s=BfrCMsVaJ74xivfyMc_Uu3uGo4yzJVknbcX4hFnHn6s&e=" target="_blank">http://reviews.llvm.org/D10154</a><br>
<br>
EMAIL PREFERENCES<br>
  <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_settings_panel_emailpreferences_&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=5dOtby0EgePIsYVAF3Dr7O2CgUcNrYj5QU0Y1epTiZA&s=9WunskZqMwexqBm7GN1aHiN-nq09LPaj70kU-NT0ggE&e=" target="_blank">http://reviews.llvm.org/settings/panel/emailpreferences/</a><br>
<br>
<br>
</blockquote></div><br></div>