MaskRay created this revision. MaskRay added reviewers: jdoerfert, jhuber6, tra, yaxunl. Herald added a reviewer: sscalpone. Herald added a subscriber: jeroen.dobbelaere. Herald added a project: All. MaskRay requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Similar to D131455 <https://reviews.llvm.org/D131455> (-Xclang=). As well as making it convenient for some build systems, this allows `-Xarch_device '-mllvm=--inline-threshold=100'` (and `-Xarch_host`; so we don't need to allow space separators which are uncommon in driver code). Bear in mind that -mllvm options are unstable and should be avoided if possible. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D143325 Files: clang/include/clang/Driver/Options.td clang/test/Driver/hip-options.hip Index: clang/test/Driver/hip-options.hip =================================================================== --- clang/test/Driver/hip-options.hip +++ clang/test/Driver/hip-options.hip @@ -27,10 +27,10 @@ // MLLVM-NOT: "-mllvm"{{.*}}"-amdgpu-early-inline-all=true"{{.*}}"-mllvm"{{.*}}"-amdgpu-early-inline-all=true" // RUN: %clang -### -Xarch_device -g -nogpulib --cuda-gpu-arch=gfx900 \ -// RUN: -Xarch_device -fcf-protection=branch \ +// RUN: -Xarch_device -fcf-protection=branch -Xarch_device -mllvm=--inline-threshold=100 \ // RUN: --cuda-gpu-arch=gfx906 %s 2>&1 | FileCheck -check-prefix=DEV %s -// DEV: "-cc1"{{.*}} "-fcuda-is-device" {{.*}} "-debug-info-kind={{.*}}" {{.*}} "-fcf-protection=branch" -// DEV: "-cc1"{{.*}} "-fcuda-is-device" {{.*}} "-debug-info-kind={{.*}}" {{.*}} "-fcf-protection=branch" +// DEV: "-cc1"{{.*}} "-fcuda-is-device" {{.*}} "-debug-info-kind={{.*}}" {{.*}} "-fcf-protection=branch" "-mllvm" "--inline-threshold=100" +// DEV: "-cc1"{{.*}} "-fcuda-is-device" {{.*}} "-debug-info-kind={{.*}}" {{.*}} "-fcf-protection=branch" "-mllvm" "--inline-threshold=100" // DEV-NOT: clang{{.*}} {{.*}} "-debug-info-kind={{.*}}" // RUN: %clang -### -Xarch_host -g -nogpulib --cuda-gpu-arch=gfx900 \ Index: clang/include/clang/Driver/Options.td =================================================================== --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -3478,6 +3478,8 @@ def mllvm : Separate<["-"], "mllvm">,Flags<[CC1Option,CC1AsOption,CoreOption,FC1Option,FlangOption]>, HelpText<"Additional arguments to forward to LLVM's option processing">, MarshallingInfoStringVector<FrontendOpts<"LLVMArgs">>; +def : Joined<["-"], "mllvm=">, Flags<[CoreOption,FlangOption]>, Alias<mllvm>, + HelpText<"Alias for -mllvm">, MetaVarName<"<arg>">; def mmlir : Separate<["-"], "mmlir">, Flags<[CoreOption,FC1Option,FlangOption]>, HelpText<"Additional arguments to forward to MLIR's option processing">; def ffuchsia_api_level_EQ : Joined<["-"], "ffuchsia-api-level=">,
Index: clang/test/Driver/hip-options.hip =================================================================== --- clang/test/Driver/hip-options.hip +++ clang/test/Driver/hip-options.hip @@ -27,10 +27,10 @@ // MLLVM-NOT: "-mllvm"{{.*}}"-amdgpu-early-inline-all=true"{{.*}}"-mllvm"{{.*}}"-amdgpu-early-inline-all=true" // RUN: %clang -### -Xarch_device -g -nogpulib --cuda-gpu-arch=gfx900 \ -// RUN: -Xarch_device -fcf-protection=branch \ +// RUN: -Xarch_device -fcf-protection=branch -Xarch_device -mllvm=--inline-threshold=100 \ // RUN: --cuda-gpu-arch=gfx906 %s 2>&1 | FileCheck -check-prefix=DEV %s -// DEV: "-cc1"{{.*}} "-fcuda-is-device" {{.*}} "-debug-info-kind={{.*}}" {{.*}} "-fcf-protection=branch" -// DEV: "-cc1"{{.*}} "-fcuda-is-device" {{.*}} "-debug-info-kind={{.*}}" {{.*}} "-fcf-protection=branch" +// DEV: "-cc1"{{.*}} "-fcuda-is-device" {{.*}} "-debug-info-kind={{.*}}" {{.*}} "-fcf-protection=branch" "-mllvm" "--inline-threshold=100" +// DEV: "-cc1"{{.*}} "-fcuda-is-device" {{.*}} "-debug-info-kind={{.*}}" {{.*}} "-fcf-protection=branch" "-mllvm" "--inline-threshold=100" // DEV-NOT: clang{{.*}} {{.*}} "-debug-info-kind={{.*}}" // RUN: %clang -### -Xarch_host -g -nogpulib --cuda-gpu-arch=gfx900 \ Index: clang/include/clang/Driver/Options.td =================================================================== --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -3478,6 +3478,8 @@ def mllvm : Separate<["-"], "mllvm">,Flags<[CC1Option,CC1AsOption,CoreOption,FC1Option,FlangOption]>, HelpText<"Additional arguments to forward to LLVM's option processing">, MarshallingInfoStringVector<FrontendOpts<"LLVMArgs">>; +def : Joined<["-"], "mllvm=">, Flags<[CoreOption,FlangOption]>, Alias<mllvm>, + HelpText<"Alias for -mllvm">, MetaVarName<"<arg>">; def mmlir : Separate<["-"], "mmlir">, Flags<[CoreOption,FC1Option,FlangOption]>, HelpText<"Additional arguments to forward to MLIR's option processing">; def ffuchsia_api_level_EQ : Joined<["-"], "ffuchsia-api-level=">,
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits