diff options
| author | Sumanth Gundapaneni <sgundapa@quicinc.com> | 2019-11-14 12:59:15 -0600 |
|---|---|---|
| committer | Sumanth Gundapaneni <sgundapa@quicinc.com> | 2019-11-14 12:59:15 -0600 |
| commit | 9fcf4f372c7e08b7ee64a202cc09860a17da8152 (patch) | |
| tree | 26028e8a3fd933a1a2f643608ef07d8ca0166484 | |
| parent | e85a96ddbfb487aa8c8bc393a7111f0868f9b3a5 (diff) | |
| download | bcm5719-llvm-9fcf4f372c7e08b7ee64a202cc09860a17da8152.tar.gz bcm5719-llvm-9fcf4f372c7e08b7ee64a202cc09860a17da8152.zip | |
[Hexagon] Fix clang driver to parse -mcpu/-mvXX and -march properly.
Before this patch if we pass "-mcpu=hexagonv65 -march=hexagon" in this order,
the driver fails to figure out the correct cpu version. This patch fixed this
issue.
| -rw-r--r-- | clang/lib/Driver/ToolChains/Hexagon.cpp | 2 | ||||
| -rw-r--r-- | clang/test/Driver/hexagon-toolchain-elf.c | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp b/clang/lib/Driver/ToolChains/Hexagon.cpp index 96cc084e282..4a735a2a1d5 100644 --- a/clang/lib/Driver/ToolChains/Hexagon.cpp +++ b/clang/lib/Driver/ToolChains/Hexagon.cpp @@ -574,7 +574,7 @@ const StringRef HexagonToolChain::GetDefaultCPU() { const StringRef HexagonToolChain::GetTargetCPUVersion(const ArgList &Args) { Arg *CpuArg = nullptr; - if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ, options::OPT_march_EQ)) + if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) CpuArg = A; StringRef CPU = CpuArg ? CpuArg->getValue() : GetDefaultCPU(); diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c index a7eeca0fdb1..237242e7cbf 100644 --- a/clang/test/Driver/hexagon-toolchain-elf.c +++ b/clang/test/Driver/hexagon-toolchain-elf.c @@ -121,6 +121,19 @@ // CHECK028-NOT: "-ffp-contract=fast" // CHECK028: {{hexagon-link|ld}} +// RUN: %clang -### -target hexagon-unknown-elf \ +// RUN: -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \ +// RUN: -mcpu=hexagonv65 -march=hexagon\ +// RUN: %s 2>&1 \ +// RUN: | FileCheck -check-prefix=CHECK029 %s +// RUN: %clang -### -target hexagon-unknown-elf \ +// RUN: -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \ +// RUN: -mv65 -march=hexagon\ +// RUN: %s 2>&1 \ +// RUN: | FileCheck -check-prefix=CHECK029 %s +// CHECK029: "-cc1" {{.*}} "-target-cpu" "hexagonv65" +// CHECK029: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v65/crt0 + // ----------------------------------------------------------------------------- // Test Linker related args // ----------------------------------------------------------------------------- |

