<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Hi, Alexey!</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I've ran into an odd case with debug info generation in NVPTX.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Reproduction:</div><div class="gmail_default" style="font-family:verdana,sans-serif">------------------------</div><div class="gmail_default" style="font-family:verdana,sans-serif">__device__ __attribute__((noinline)) void bar() { printf("Hi!"); }<br>__global__ void foo() { bar(); }<br>int main(){}<br></div><div class="gmail_default" style="font-family:verdana,sans-serif">------------------------</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">$ clang++ -v --cuda-gpu-arch=sm_70 --cuda-device-only -fdebug-default-version=5 <a href="http://a.cu" target="_blank">a.cu</a> -gmlt -O1 -c</div><div><br></div><div><div class="gmail_default" style="font-family:verdana,sans-serif">Compilation fails due to a syntax error reported by ptxas.</div><div class="gmail_default" style="font-family:verdana,sans-serif">The reason for the error is that clang generates a label in the middle of a `call.uni` instuction. E.g:</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">        { // callseq 1, 0<br>        .reg .b32 temp_param_reg;<br>        call.uni<br>Ltmp14:<br>        _Z3barv,<br>        (<br>        );<br>        } // callseq 1<br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">The odd part is that we're only generating line info and there is no DWARF in the generated PTX.</div><div class="gmail_default" style="font-family:verdana,sans-serif">It appears that this behavior is triggered by `-dwarf-version=5` passed to cc1. </div><div class="gmail_default" style="font-family:verdana,sans-serif">Looks like another case where PTX syntax breaks DWARF generator assumptions.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></div><div class="gmail_default" style="font-family:verdana,sans-serif">It's possible to work around it with an additional `-Xarch_device -fdebug-default-version=2`, </div><div class="gmail_default" style="font-family:verdana,sans-serif">but I'd appreciate it if you could take a look and see if that could be fixed.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div>-- <br><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr">--Artem Belevich</div></div></div>