<div dir="ltr">So for a c program we do:<div><br></div><div>        clang -O3 -emit-llvm hello.c -c -o hello.bc<br></div><div><br></div><div>But how to generate an LLVM IR when working with CUDA.</div><div><br></div><div>for normal compilation:</div><div>         clang++ <a href="http://axpy.cu">axpy.cu</a> -o axpy --cuda-gpu-arch=<GPU arch> -L<CUDA install path>/<lib64 or lib> -lcudart_static -ldl -lrt -pthread</div><div><br></div><div>I tried adding -S -emit-llvm and changed the output file name, but I keep getting following error:</div><div><br></div><div>clang++: /stor/gakadam/llvm_projects/llvm/tools/clang/lib/Driver/Driver.cpp:1618: virtual {anonymous}::OffloadingActionBuilder::DeviceActionBuilder::ActionBuilderReturnCode {anonymous}::OffloadingActionBuilder::CudaActionBuilder::getDeviceDepences(clang::driver::OffloadAction::DeviceDependences&, clang::driver::phases::ID, clang::driver::phases::ID, {anonymous}::OffloadingActionBuilder::DeviceActionBuilder::PhasesTy&): Assertion `CurPhase < phases::Backend && "Generating single CUDA " "instructions should only occur " "before the backend phase!"' failed.<br></div><div><br></div><div>I tried several combinations but no avail!</div><div><br></div><div>Any suggestions?</div><div><br></div><div>Thank you.</div><div><br></div><div>Sincerely,</div><div>Guru</div></div>