@@ -634,36 +634,38 @@ static llvm::Triple computeTargetTriple(const Driver &D,
634634
635635 // If target is MIPS adjust the target triple
636636 // accordingly to provided ABI name.
637- A = Args.getLastArg (options::OPT_mabi_EQ);
638- if (A && Target.isMIPS ()) {
639- StringRef ABIName = A->getValue ();
640- if (ABIName == " 32" ) {
641- Target = Target.get32BitArchVariant ();
642- if (Target.getEnvironment () == llvm::Triple::GNUABI64 ||
643- Target.getEnvironment () == llvm::Triple::GNUABIN32)
644- Target.setEnvironment (llvm::Triple::GNU);
645- } else if (ABIName == " n32" ) {
646- Target = Target.get64BitArchVariant ();
647- if (Target.getEnvironment () == llvm::Triple::GNU ||
648- Target.getEnvironment () == llvm::Triple::GNUABI64)
649- Target.setEnvironment (llvm::Triple::GNUABIN32);
650- } else if (ABIName == " 64" ) {
651- Target = Target.get64BitArchVariant ();
652- if (Target.getEnvironment () == llvm::Triple::GNU ||
653- Target.getEnvironment () == llvm::Triple::GNUABIN32)
654- Target.setEnvironment (llvm::Triple::GNUABI64);
637+ if (Target.isMIPS ()) {
638+ if (A = Args.getLastArg (options::OPT_mabi_EQ)) {
639+ StringRef ABIName = A->getValue ();
640+ if (ABIName == " 32" ) {
641+ Target = Target.get32BitArchVariant ();
642+ if (Target.getEnvironment () == llvm::Triple::GNUABI64 ||
643+ Target.getEnvironment () == llvm::Triple::GNUABIN32)
644+ Target.setEnvironment (llvm::Triple::GNU);
645+ } else if (ABIName == " n32" ) {
646+ Target = Target.get64BitArchVariant ();
647+ if (Target.getEnvironment () == llvm::Triple::GNU ||
648+ Target.getEnvironment () == llvm::Triple::GNUABI64)
649+ Target.setEnvironment (llvm::Triple::GNUABIN32);
650+ } else if (ABIName == " 64" ) {
651+ Target = Target.get64BitArchVariant ();
652+ if (Target.getEnvironment () == llvm::Triple::GNU ||
653+ Target.getEnvironment () == llvm::Triple::GNUABIN32)
654+ Target.setEnvironment (llvm::Triple::GNUABI64);
655+ }
655656 }
656657 }
657658
658659 // If target is RISC-V adjust the target triple according to
659660 // provided architecture name
660- A = Args.getLastArg (options::OPT_march_EQ);
661- if (A && Target.isRISCV ()) {
662- StringRef ArchName = A->getValue ();
663- if (ArchName.startswith_insensitive (" rv32" ))
664- Target.setArch (llvm::Triple::riscv32);
665- else if (ArchName.startswith_insensitive (" rv64" ))
666- Target.setArch (llvm::Triple::riscv64);
661+ if (Target.isRISCV ()) {
662+ if (A = Args.getLastArg (options::OPT_march_EQ)) {
663+ StringRef ArchName = A->getValue ();
664+ if (ArchName.startswith_insensitive (" rv32" ))
665+ Target.setArch (llvm::Triple::riscv32);
666+ else if (ArchName.startswith_insensitive (" rv64" ))
667+ Target.setArch (llvm::Triple::riscv64);
668+ }
667669 }
668670
669671 return Target;
0 commit comments