This revision was automatically updated to reflect the committed changes. Closed by commit rL323894: Revert "Revert rC322769: [RISCV] Propagate -mabi and -march values to GNU… (authored by apazos, committed by ). Herald added a subscriber: llvm-commits.
Changed prior to commit: https://reviews.llvm.org/D42666?vs=131886&id=132207#toc Repository: rL LLVM https://reviews.llvm.org/D42666 Files: cfe/trunk/lib/Driver/ToolChains/Gnu.cpp cfe/trunk/test/Driver/riscv-gnutools.c Index: cfe/trunk/test/Driver/riscv-gnutools.c =================================================================== --- cfe/trunk/test/Driver/riscv-gnutools.c +++ cfe/trunk/test/Driver/riscv-gnutools.c @@ -0,0 +1,19 @@ +// Check gnutools are invoked with propagated values for -mabi and -march. + +// RUN: %clang -target riscv32 -fno-integrated-as %s -### -c \ +// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP32 %s + +// RUN: %clang -target riscv32 -fno-integrated-as -march=rv32g %s -### -c \ +// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP32-MARCH-G %s + +// RUN: %clang -target riscv64 -fno-integrated-as %s -### -c \ +// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP64 %s + +// RUN: %clang -target riscv64 -fno-integrated-as -march=rv64g %s -### -c \ +// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP64-MARCH-G %s + +// MABI-ILP32: "{{.*}}as{{(.exe)?}}" "-mabi" "ilp32" +// MABI-ILP32-MARCH-G: "{{.*}}as{{(.exe)?}}" "-mabi" "ilp32" "-march" "rv32g" + +// MABI-ILP64: "{{.*}}as{{(.exe)?}}" "-mabi" "lp64" +// MABI-ILP64-MARCH-G: "{{.*}}as{{(.exe)?}}" "-mabi" "lp64" "-march" "rv64g" Index: cfe/trunk/lib/Driver/ToolChains/Gnu.cpp =================================================================== --- cfe/trunk/lib/Driver/ToolChains/Gnu.cpp +++ cfe/trunk/lib/Driver/ToolChains/Gnu.cpp @@ -629,6 +629,18 @@ ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple()))); break; } + case llvm::Triple::riscv32: + case llvm::Triple::riscv64: { + StringRef ABIName = riscv::getRISCVABI(Args, getToolChain().getTriple()); + CmdArgs.push_back("-mabi"); + CmdArgs.push_back(ABIName.data()); + if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { + StringRef MArch = A->getValue(); + CmdArgs.push_back("-march"); + CmdArgs.push_back(MArch.data()); + } + break; + } case llvm::Triple::sparc: case llvm::Triple::sparcel: { CmdArgs.push_back("-32");
Index: cfe/trunk/test/Driver/riscv-gnutools.c =================================================================== --- cfe/trunk/test/Driver/riscv-gnutools.c +++ cfe/trunk/test/Driver/riscv-gnutools.c @@ -0,0 +1,19 @@ +// Check gnutools are invoked with propagated values for -mabi and -march. + +// RUN: %clang -target riscv32 -fno-integrated-as %s -### -c \ +// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP32 %s + +// RUN: %clang -target riscv32 -fno-integrated-as -march=rv32g %s -### -c \ +// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP32-MARCH-G %s + +// RUN: %clang -target riscv64 -fno-integrated-as %s -### -c \ +// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP64 %s + +// RUN: %clang -target riscv64 -fno-integrated-as -march=rv64g %s -### -c \ +// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP64-MARCH-G %s + +// MABI-ILP32: "{{.*}}as{{(.exe)?}}" "-mabi" "ilp32" +// MABI-ILP32-MARCH-G: "{{.*}}as{{(.exe)?}}" "-mabi" "ilp32" "-march" "rv32g" + +// MABI-ILP64: "{{.*}}as{{(.exe)?}}" "-mabi" "lp64" +// MABI-ILP64-MARCH-G: "{{.*}}as{{(.exe)?}}" "-mabi" "lp64" "-march" "rv64g" Index: cfe/trunk/lib/Driver/ToolChains/Gnu.cpp =================================================================== --- cfe/trunk/lib/Driver/ToolChains/Gnu.cpp +++ cfe/trunk/lib/Driver/ToolChains/Gnu.cpp @@ -629,6 +629,18 @@ ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple()))); break; } + case llvm::Triple::riscv32: + case llvm::Triple::riscv64: { + StringRef ABIName = riscv::getRISCVABI(Args, getToolChain().getTriple()); + CmdArgs.push_back("-mabi"); + CmdArgs.push_back(ABIName.data()); + if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { + StringRef MArch = A->getValue(); + CmdArgs.push_back("-march"); + CmdArgs.push_back(MArch.data()); + } + break; + } case llvm::Triple::sparc: case llvm::Triple::sparcel: { CmdArgs.push_back("-32");
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits