This revision was automatically updated to reflect the committed changes. Closed by commit rL272857: [CUDA] Don't pass top-level -march down to device cc1 or ptxas. (authored by jlebar).
Changed prior to commit: http://reviews.llvm.org/D21419?vs=60932&id=60935#toc Repository: rL LLVM http://reviews.llvm.org/D21419 Files: cfe/trunk/lib/Driver/ToolChains.cpp cfe/trunk/test/Driver/cuda-march.cu Index: cfe/trunk/lib/Driver/ToolChains.cpp =================================================================== --- cfe/trunk/lib/Driver/ToolChains.cpp +++ cfe/trunk/lib/Driver/ToolChains.cpp @@ -4676,8 +4676,10 @@ DAL->append(A); } - if (BoundArch) + if (BoundArch) { + DAL->eraseArg(options::OPT_march_EQ); DAL->AddJoinedArg(nullptr, Opts.getOption(options::OPT_march_EQ), BoundArch); + } return DAL; } Index: cfe/trunk/test/Driver/cuda-march.cu =================================================================== --- cfe/trunk/test/Driver/cuda-march.cu +++ cfe/trunk/test/Driver/cuda-march.cu @@ -0,0 +1,24 @@ +// Checks that cuda compilation does the right thing when passed -march. +// (Specifically, we want to pass it to host compilation, but not to device +// compilation or ptxas!) +// +// REQUIRES: clang-driver +// REQUIRES: x86-registered-target +// REQUIRES: nvptx-registered-target + +// RUN: %clang -### -target x86_64-linux-gnu -c -march=haswell %s 2>&1 | FileCheck %s + +// RUN: %clang -### -target x86_64-linux-gnu -c -march=haswell --cuda-gpu-arch=sm_20 %s 2>&1 | \ +// RUN: FileCheck %s + +// CHECK:clang +// CHECK: "-cc1" +// CHECK-SAME: "-triple" "nvptx +// CHECK-SAME: "-target-cpu" "sm_20" + +// CHECK: ptxas +// CHECK-SAME: "--gpu-name" "sm_20" + +// CHECK:clang +// CHECK-SAME: "-cc1" +// CHECK-SAME: "-target-cpu" "haswell"
Index: cfe/trunk/lib/Driver/ToolChains.cpp =================================================================== --- cfe/trunk/lib/Driver/ToolChains.cpp +++ cfe/trunk/lib/Driver/ToolChains.cpp @@ -4676,8 +4676,10 @@ DAL->append(A); } - if (BoundArch) + if (BoundArch) { + DAL->eraseArg(options::OPT_march_EQ); DAL->AddJoinedArg(nullptr, Opts.getOption(options::OPT_march_EQ), BoundArch); + } return DAL; } Index: cfe/trunk/test/Driver/cuda-march.cu =================================================================== --- cfe/trunk/test/Driver/cuda-march.cu +++ cfe/trunk/test/Driver/cuda-march.cu @@ -0,0 +1,24 @@ +// Checks that cuda compilation does the right thing when passed -march. +// (Specifically, we want to pass it to host compilation, but not to device +// compilation or ptxas!) +// +// REQUIRES: clang-driver +// REQUIRES: x86-registered-target +// REQUIRES: nvptx-registered-target + +// RUN: %clang -### -target x86_64-linux-gnu -c -march=haswell %s 2>&1 | FileCheck %s + +// RUN: %clang -### -target x86_64-linux-gnu -c -march=haswell --cuda-gpu-arch=sm_20 %s 2>&1 | \ +// RUN: FileCheck %s + +// CHECK:clang +// CHECK: "-cc1" +// CHECK-SAME: "-triple" "nvptx +// CHECK-SAME: "-target-cpu" "sm_20" + +// CHECK: ptxas +// CHECK-SAME: "--gpu-name" "sm_20" + +// CHECK:clang +// CHECK-SAME: "-cc1" +// CHECK-SAME: "-target-cpu" "haswell"
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits