================
@@ -28,20 +28,21 @@ IncrementalCUDADeviceParser::IncrementalCUDADeviceParser(
     std::unique_ptr<CompilerInstance> DeviceInstance,
     CompilerInstance &HostInstance,
     llvm::IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS,
-    llvm::Error &Err, const std::list<PartialTranslationUnit> &PTUs)
+    llvm::Error &Err, std::list<PartialTranslationUnit> &PTUs)
     : IncrementalParser(*DeviceInstance, Err), PTUs(PTUs), VFS(FS),
       CodeGenOpts(HostInstance.getCodeGenOpts()),
-      TargetOpts(HostInstance.getTargetOpts()) {
+      TargetOpts(DeviceInstance->getTargetOpts()) {
----------------
anutosh491 wrote:

`TargetOpts` should be fetched from `DeviceInstance` rather than `HostInstance`

This can be seen even through the cc1 command generated through createCI 
(skipping some flags)

```
// FOR THE DEVICE (Skipping lot of flags just keeping the main ones)

 "/Users/anutosh491/work/llvm-project/build2/bin/clang-repl" -cc1 -triple 
nvptx64-nvidia-cuda -aux-triple arm64-apple-darwin24.3.0 ....... 
-aux-target-cpu apple-m1 ........ -target-cpu sm_35 -target-feature ...... 
--offload-new-driver -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf 
-fcxx-exceptions -fexceptions -fcolor-diagnostics -fincremental-extensions 
-cuid=6c8ca225f780e660 -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o 
"/var/folders/m1/cdn74f917994jd99d_2cpf440000gn/T/<<< inputs 
>>>-sm_35-14d471.s" -x cuda "<<< inputs >>>"
 "ptxas" -m64 -O0 -v --gpu-name sm_35 --output-file "<<< inputs 
>>>-cuda-nvptx64-nvidia-cuda-sm_35.o" 
"/var/folders/m1/cdn74f917994jd99d_2cpf440000gn/T/<<< inputs >>>-sm_35-14d471.s"
 ```

As seen `-target-cpu sm_35` so the check below with regards to the `Arch` 
doesn't even make sense if we use it from the host side.

`if (!Arch.starts_with("sm_") || Arch.substr(3).getAsInteger(10, SMVersion)) {`
 
 

https://github.com/llvm/llvm-project/pull/136404
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to