Author: dsanders Date: Thu Sep 3 07:58:39 2015 New Revision: 246765 URL: http://llvm.org/viewvc/llvm-project?rev=246765&view=rev Log: [mips] Added support for choosing between traps and breaks in the integrated assembler macros.
Summary: The command line options for these are -Wa,--trap and -Wa,--break. Patch by Scott Egerton. Reviewers: vkalintiris, dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11676 Added: cfe/trunk/test/Driver/mips-ias-Wa.s Modified: cfe/trunk/lib/Driver/Tools.cpp Modified: cfe/trunk/lib/Driver/Tools.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=246765&r1=246764&r2=246765&view=diff ============================================================================== --- cfe/trunk/lib/Driver/Tools.cpp (original) +++ cfe/trunk/lib/Driver/Tools.cpp Thu Sep 3 07:58:39 2015 @@ -2335,6 +2335,12 @@ static void CollectArgsForIntegratedAsse } else if (Value.startswith("-mcpu") || Value.startswith("-mfpu") || Value.startswith("-mhwdiv") || Value.startswith("-march")) { // Do nothing, we'll validate it later. + } else if (Value == "--trap") { + CmdArgs.push_back("-target-feature"); + CmdArgs.push_back("+use-tcc-in-div"); + } else if (Value == "--break") { + CmdArgs.push_back("-target-feature"); + CmdArgs.push_back("-use-tcc-in-div"); } else { D.Diag(diag::err_drv_unsupported_option_argument) << A->getOption().getName() << Value; Added: cfe/trunk/test/Driver/mips-ias-Wa.s URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/mips-ias-Wa.s?rev=246765&view=auto ============================================================================== --- cfe/trunk/test/Driver/mips-ias-Wa.s (added) +++ cfe/trunk/test/Driver/mips-ias-Wa.s Thu Sep 3 07:58:39 2015 @@ -0,0 +1,24 @@ +// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ +// RUN: FileCheck -check-prefix=TRAP-DEFAULT %s +// TRAP-DEFAULT: -cc1as +// TRAP-DEFAULT-NOT: "-target-feature" "-use-tcc-in-div" + +// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -Wa,--trap 2>&1 | \ +// RUN: FileCheck -check-prefix=TRAP-ON %s +// TRAP-ON: -cc1as +// TRAP-ON: "-target-feature" "+use-tcc-in-div" + +// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -Wa,--break 2>&1 | \ +// RUN: FileCheck -check-prefix=TRAP-OFF %s +// TRAP-OFF: -cc1as +// TRAP-OFF: "-target-feature" "-use-tcc-in-div" + +// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -Wa,--trap,--break 2>&1 | \ +// RUN: FileCheck -check-prefix=TRAP-BOTH-TRAP-FIRST %s +// TRAP-BOTH-TRAP-FIRST: -cc1as +// TRAP-BOTH-TRAP-FIRST: "-target-feature" "+use-tcc-in-div" "-target-feature" "-use-tcc-in-div" + +// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -Wa,--break,--trap 2>&1 | \ +// RUN: FileCheck -check-prefix=TRAP-BOTH-BREAK-FIRST %s +// TRAP-BOTH-BREAK-FIRST: -cc1as +// TRAP-BOTH-BREAK-FIRST: "-target-feature" "-use-tcc-in-div" "-target-feature" "+use-tcc-in-div" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits