Author: smaksimovic Date: Fri Aug 4 05:37:34 2017 New Revision: 310057 URL: http://llvm.org/viewvc/llvm-project?rev=310057&view=rev Log: Revert r304953 for release 5.0.0
This is causing failures when compiling clang with -O3 as one of the structures used by clang is passed by value and uses the fastcc calling convention. Faliures manifest for stage2 mips build. Removed: cfe/trunk/test/CodeGen/mips-madd4.c Modified: cfe/trunk/include/clang/Driver/Options.td cfe/trunk/lib/Basic/Targets/Mips.cpp cfe/trunk/lib/Basic/Targets/Mips.h cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp cfe/trunk/test/Preprocessor/init.c Modified: cfe/trunk/include/clang/Driver/Options.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=310057&r1=310056&r2=310057&view=diff ============================================================================== --- cfe/trunk/include/clang/Driver/Options.td (original) +++ cfe/trunk/include/clang/Driver/Options.td Fri Aug 4 05:37:34 2017 @@ -2019,10 +2019,6 @@ def mdspr2 : Flag<["-"], "mdspr2">, Grou def mno_dspr2 : Flag<["-"], "mno-dspr2">, Group<m_Group>; def msingle_float : Flag<["-"], "msingle-float">, Group<m_Group>; def mdouble_float : Flag<["-"], "mdouble-float">, Group<m_Group>; -def mmadd4 : Flag<["-"], "mmadd4">, Group<m_Group>, - HelpText<"Enable the generation of 4-operand madd.s, madd.d and related instructions.">; -def mno_madd4 : Flag<["-"], "mno-madd4">, Group<m_Group>, - HelpText<"Disable the generation of 4-operand madd.s, madd.d and related instructions.">; def mmsa : Flag<["-"], "mmsa">, Group<m_Group>, HelpText<"Enable MSA ASE (MIPS only)">; def mno_msa : Flag<["-"], "mno-msa">, Group<m_Group>, Modified: cfe/trunk/lib/Basic/Targets/Mips.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets/Mips.cpp?rev=310057&r1=310056&r2=310057&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Targets/Mips.cpp (original) +++ cfe/trunk/lib/Basic/Targets/Mips.cpp Fri Aug 4 05:37:34 2017 @@ -166,9 +166,6 @@ void MipsTargetInfo::getTargetDefines(co if (HasMSA) Builder.defineMacro("__mips_msa", Twine(1)); - if (DisableMadd4) - Builder.defineMacro("__mips_no_madd4", Twine(1)); - Builder.defineMacro("_MIPS_SZPTR", Twine(getPointerWidth(0))); Builder.defineMacro("_MIPS_SZINT", Twine(getIntWidth())); Builder.defineMacro("_MIPS_SZLONG", Twine(getLongWidth())); Modified: cfe/trunk/lib/Basic/Targets/Mips.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets/Mips.h?rev=310057&r1=310056&r2=310057&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Targets/Mips.h (original) +++ cfe/trunk/lib/Basic/Targets/Mips.h Fri Aug 4 05:37:34 2017 @@ -52,7 +52,6 @@ class LLVM_LIBRARY_VISIBILITY MipsTarget enum MipsFloatABI { HardFloat, SoftFloat } FloatABI; enum DspRevEnum { NoDSP, DSP1, DSP2 } DspRev; bool HasMSA; - bool DisableMadd4; protected: bool HasFP64; @@ -63,7 +62,7 @@ public: : TargetInfo(Triple), IsMips16(false), IsMicromips(false), IsNan2008(false), IsSingleFloat(false), IsNoABICalls(false), CanUseBSDABICalls(false), FloatABI(HardFloat), DspRev(NoDSP), - HasMSA(false), DisableMadd4(false), HasFP64(false) { + HasMSA(false), HasFP64(false) { TheCXXABI.set(TargetCXXABI::GenericMIPS); setABI((getTriple().getArch() == llvm::Triple::mips || @@ -320,8 +319,6 @@ public: DspRev = std::max(DspRev, DSP2); else if (Feature == "+msa") HasMSA = true; - else if (Feature == "+nomadd4") - DisableMadd4 = true; else if (Feature == "+fp64") HasFP64 = true; else if (Feature == "-fp64") Modified: cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp?rev=310057&r1=310056&r2=310057&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp Fri Aug 4 05:37:34 2017 @@ -297,8 +297,6 @@ void mips::getMIPSTargetFeatures(const D AddTargetFeature(Args, Features, options::OPT_mno_odd_spreg, options::OPT_modd_spreg, "nooddspreg"); - AddTargetFeature(Args, Features, options::OPT_mno_madd4, options::OPT_mmadd4, - "nomadd4"); AddTargetFeature(Args, Features, options::OPT_mlong_calls, options::OPT_mno_long_calls, "long-calls"); AddTargetFeature(Args, Features, options::OPT_mmt, options::OPT_mno_mt, "mt"); Removed: cfe/trunk/test/CodeGen/mips-madd4.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/mips-madd4.c?rev=310056&view=auto ============================================================================== --- cfe/trunk/test/CodeGen/mips-madd4.c (original) +++ cfe/trunk/test/CodeGen/mips-madd4.c (removed) @@ -1,87 +0,0 @@ -// REQUIRES: mips-registered-target -// RUN: %clang --target=mips64-unknown-linux -S -mmadd4 %s -o -| FileCheck %s -check-prefix=MADD4 -// RUN: %clang --target=mips64-unknown-linux -S -mno-madd4 %s -o -| FileCheck %s -check-prefix=NOMADD4 -// RUN: %clang --target=mips64-unknown-linux -S -mmadd4 -fno-honor-nans %s -o -| FileCheck %s -check-prefix=MADD4-NONAN -// RUN: %clang --target=mips64-unknown-linux -S -mno-madd4 -fno-honor-nans %s -o -| FileCheck %s -check-prefix=NOMADD4-NONAN - -float madd_s (float f, float g, float h) -{ - return (f * g) + h; -} -// MADD4: madd.s -// NOMADD4: mul.s -// NOMADD4: add.s - -float msub_s (float f, float g, float h) -{ - return (f * g) - h; -} -// MADD4: msub.s -// NOMADD4: mul.s -// NOMADD4: sub.s - -double madd_d (double f, double g, double h) -{ - return (f * g) + h; -} -// MADD4: madd.d -// NOMADD4: mul.d -// NOMADD4: add.d - -double msub_d (double f, double g, double h) -{ - return (f * g) - h; -} -// MADD4: msub.d -// NOMADD4: mul.d -// NOMADD4: sub.d - - -float nmadd_s (float f, float g, float h) -{ - // FIXME: Zero has been explicitly placed to force generation of a positive - // zero in IR until pattern used to match this instruction is changed to - // comply with negative zero as well. - return 0-((f * g) + h); -} -// MADD4-NONAN: nmadd.s -// NOMADD4-NONAN: mul.s -// NOMADD4-NONAN: add.s -// NOMADD4-NONAN: sub.s - -float nmsub_s (float f, float g, float h) -{ - // FIXME: Zero has been explicitly placed to force generation of a positive - // zero in IR until pattern used to match this instruction is changed to - // comply with negative zero as well. - return 0-((f * g) - h); -} -// MADD4-NONAN: nmsub.s -// NOMADD4-NONAN: mul.s -// NOMADD4-NONAN: sub.s -// NOMADD4-NONAN: sub.s - -double nmadd_d (double f, double g, double h) -{ - // FIXME: Zero has been explicitly placed to force generation of a positive - // zero in IR until pattern used to match this instruction is changed to - // comply with negative zero as well. - return 0-((f * g) + h); -} -// MADD4-NONAN: nmadd.d -// NOMADD4-NONAN: mul.d -// NOMADD4-NONAN: add.d -// NOMADD4-NONAN: sub.d - -double nmsub_d (double f, double g, double h) -{ - // FIXME: Zero has been explicitly placed to force generation of a positive - // zero in IR until pattern used to match this instruction is changed to - // comply with negative zero as well. - return 0-((f * g) - h); -} -// MADD4-NONAN: nmsub.d -// NOMADD4-NONAN: mul.d -// NOMADD4-NONAN: sub.d -// NOMADD4-NONAN: sub.d - Modified: cfe/trunk/test/Preprocessor/init.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/init.c?rev=310057&r1=310056&r2=310057&view=diff ============================================================================== --- cfe/trunk/test/Preprocessor/init.c (original) +++ cfe/trunk/test/Preprocessor/init.c Fri Aug 4 05:37:34 2017 @@ -4840,16 +4840,6 @@ // RUN: | FileCheck -match-full-lines -check-prefix MIPS-MSA %s // MIPS-MSA:#define __mips_msa 1 // -// RUN: %clang_cc1 -target-feature +nomadd4 \ -// RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -match-full-lines -check-prefix MIPS-NOMADD4 %s -// MIPS-NOMADD4:#define __mips_no_madd4 1 -// -// RUN: %clang_cc1 \ -// RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -match-full-lines -check-prefix MIPS-MADD4 %s -// MIPS-MADD4-NOT:#define __mips_no_madd4 1 -// // RUN: %clang_cc1 -target-cpu mips32r3 -target-feature +nan2008 \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ // RUN: | FileCheck -match-full-lines -check-prefix MIPS-NAN2008 %s _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits