<div dir="ltr">Probably not, r310056 fails as well<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 4, 2017 at 3:19 PM, Vitaly Buka <span dir="ltr"><<a href="mailto:vitalybuka@google.com" target="_blank">vitalybuka@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Looks like it's causing <div><a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/1969/steps/build%20clang%2Fmsan/logs/stdio" target="_blank">http://lab.llvm.org:8011/<wbr>builders/sanitizer-x86_64-<wbr>linux-bootstrap/builds/1969/<wbr>steps/build%20clang%2Fmsan/<wbr>logs/stdio</a><br></div><div><br></div><div><pre style="font-family:"Courier New",courier,monotype,monospace;color:rgb(0,0,0);font-size:medium"><span class="m_3164594153824054550gmail-stdout">FAILED: lib/CodeGen/CMakeFiles/<wbr>LLVMCodeGen.dir/MIRPrinter.<wbr>cpp.o 
/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang++   -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/CodeGen -I/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm/lib/<wbr>CodeGen -Iinclude -I/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm/include -nostdinc++ -isystem /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/libcxx_build_<wbr>msan/include -isystem /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/libcxx_build_<wbr>msan/include/c++/v1  -lc++abi -Wl,--rpath=/mnt/b/sanitizer-<wbr>buildbot2/sanitizer-x86_64-<wbr>linux-bootstrap/build/libcxx_<wbr>build_msan/lib -L/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/libcxx_build_<wbr>msan/lib -fsanitize=memory -w -stdlib=libc++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fno-omit-frame-pointer -gline-tables-only -fsanitize=memory -fcolor-diagnostics -ffunction-sections -fdata-sections -O3    -UNDEBUG  -fno-exceptions -fno-rtti -MD -MT lib/CodeGen/CMakeFiles/<wbr>LLVMCodeGen.dir/MIRPrinter.<wbr>cpp.o -MF lib/CodeGen/CMakeFiles/<wbr>LLVMCodeGen.dir/MIRPrinter.<wbr>cpp.o.d -o lib/CodeGen/CMakeFiles/<wbr>LLVMCodeGen.dir/MIRPrinter.<wbr>cpp.o -c /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm/lib/<wbr>CodeGen/MIRPrinter.cpp
clang-5.0: /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm/include/<wbr>llvm/Support/Casting.h:106: static bool llvm::isa_impl_cl<To, const From*>::doit(const From*) [with To = llvm::ConstantInt; From = llvm::Value]: Assertion `Val && "isa<> used on a null pointer"' failed.
#0 0x00000000020b5d4a llvm::sys::PrintStackTrace(<wbr>llvm::raw_ostream&) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x20b5d4a)
#1 0x00000000020b3abe llvm::sys::RunSignalHandlers() (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x20b3abe)
#2 0x00000000020b3c32 SignalHandler(int) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x20b3c32)
#3 0x00007f319d790390 __restore_rt (/lib/x86_64-linux-gnu/<wbr>libpthread.so.0+0x11390)
#4 0x00007f319c71c428 gsignal (/lib/x86_64-linux-gnu/libc.<wbr>so.6+0x35428)
#5 0x00007f319c71e02a abort (/lib/x86_64-linux-gnu/libc.<wbr>so.6+0x3702a)
#6 0x00007f319c714bd7 (/lib/x86_64-linux-gnu/libc.<wbr>so.6+0x2dbd7)
#7 0x00007f319c714c82 (/lib/x86_64-linux-gnu/libc.<wbr>so.6+0x2dc82)
#8 0x000000000084f464 llvm::isa_impl_wrap<llvm::<wbr>ConstantExpr, llvm::Value const*, llvm::Value const*>::doit(llvm::Value const* const&) [clone .isra.166] [clone .part.167] (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x84f464)
#9 0x0000000001c35d4c llvm::Value::<wbr>stripPointerCasts() const (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x1c35d4c)
#10 0x0000000001e996e1 eliminateDeadStores(llvm::<wbr>BasicBlock&, llvm::AAResults*, llvm::MemoryDependenceResults*<wbr>, llvm::DominatorTree*, llvm::TargetLibraryInfo const*) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x1e996e1)
#11 0x0000000001e9ad2a eliminateDeadStores(llvm::<wbr>Function&, llvm::AAResults*, llvm::MemoryDependenceResults*<wbr>, llvm::DominatorTree*, llvm::TargetLibraryInfo const*) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x1e9ad2a)
#12 0x0000000001bff3a3 llvm::FPPassManager::<wbr>runOnFunction(llvm::Function&) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x1bff3a3)
#13 0x0000000001bff46c llvm::FPPassManager::<wbr>runOnModule(llvm::Module&) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/</span><span class="m_3164594153824054550gmail-stdout">build/llvm_build0/<wbr>bin/clang-5.0+0x1bff46c)
</span><span class="m_3164594153824054550gmail-stdout">#14 0x0000000001bfef0d llvm::legacy::PassManagerImpl:<wbr>:run(llvm::Module&) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x1bfef0d)
#15 0x000000000225c6d1 clang::EmitBackendOutput(<wbr>clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_<wbr>pwrite_stream, std::default_delete<llvm::raw_<wbr>pwrite_stream> >) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x225c6d1)
#16 0x00000000029691a9 clang::BackendConsumer::<wbr>HandleTranslationUnit(clang::<wbr>ASTContext&) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x29691a9)
#17 0x0000000002d40028 clang::ParseAST(clang::Sema&, bool, bool) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x2d40028)
#18 0x000000000296852f clang::CodeGenAction::<wbr>ExecuteAction() (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x296852f)
#19 0x000000000261354e clang::FrontendAction::<wbr>Execute() (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x261354e)
#20 0x00000000025e22d6 clang::CompilerInstance::<wbr>ExecuteAction(clang::<wbr>FrontendAction&) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x25e22d6)
#21 0x00000000026a5f62 clang::<wbr>ExecuteCompilerInvocation(<wbr>clang::CompilerInstance*) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0x26a5f62)
#22 0x0000000000aafe48 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0xaafe48)
#23 0x0000000000a3e169 main (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0xa3e169)
#24 0x00007f319c707830 __libc_start_main (/lib/x86_64-linux-gnu/libc.<wbr>so.6+0x20830)
#25 0x0000000000aac2f9 _start (/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0+0xaac2f9)
Stack dump:
0.      Program arguments: /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin/clang-5.0 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name MIRPrinter.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debug-info-kind=line-tables-<wbr>only -dwarf-version=4 -debugger-tuning=gdb -ffunction-sections -fdata-sections -coverage-notes-file /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build_<wbr>msan/lib/CodeGen/CMakeFiles/<wbr>LLVMCodeGen.dir/MIRPrinter.<wbr>cpp.gcno -nostdinc++ -resource-dir /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>lib/clang/6.0.0 -dependency-file lib/CodeGen/CMakeFiles/<wbr>LLVMCodeGen.dir/MIRPrinter.<wbr>cpp.o.d -sys-header-deps -MT lib/CodeGen/CMakeFiles/<wbr>LLVMCodeGen.dir/MIRPrinter.<wbr>cpp.o -isystem /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/libcxx_build_<wbr>msan/include -isystem /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/libcxx_build_<wbr>msan/include/c++/v1 -D GTEST_HAS_RTTI=0 -D _DEBUG -D _GNU_SOURCE -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -I lib/CodeGen -I /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm/lib/<wbr>CodeGen -I include -I /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm/include -U NDEBUG -internal-isystem /usr/local/include -internal-isystem /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>lib/clang/6.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -Werror=date-time -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -pedantic -w -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build_<wbr>msan -ferror-limit 19 -fmessage-length 0 -fvisibility-inlines-hidden -fsanitize=memory -fsanitize-blacklist=/mnt/b/<wbr>sanitizer-buildbot2/sanitizer-<wbr>x86_64-linux-bootstrap/build/<wbr>llvm_build0/lib/clang/6.0.0/<wbr>msan_blacklist.txt -fno-assume-sane-operator-new -fno-rtti -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o lib/CodeGen/CMakeFiles/<wbr>LLVMCodeGen.dir/MIRPrinter.<wbr>cpp.o -x c++ /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm/lib/<wbr>CodeGen/MIRPrinter.cpp 
1.      <eof> parser at end of file
2.      Per-module optimization passes
3.      Running pass 'Function Pass Manager' on module '/mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm/lib/<wbr>CodeGen/MIRPrinter.cpp'.
4.      Running pass 'Dead Store Elimination' on function '@_<wbr>ZN4llvm4yaml13MappingTraitsINS<wbr>0_<wbr>15MachineFunctionEE7mappingERN<wbr>S0_2IOERS2_'
clang-5.0: error: unable to execute command: Aborted (core dumped)
clang-5.0: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 6.0.0 (trunk 310060)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /mnt/b/sanitizer-buildbot2/<wbr>sanitizer-x86_64-linux-<wbr>bootstrap/build/llvm_build0/<wbr>bin
clang-5.0: note: diagnostic msg: PLEASE submit a bug report to <a href="http://llvm.org/bugs/" target="_blank">http://llvm.org/bugs/</a> and include the crash backtrace, preprocessed source, and associated run script.
clang-5.0: note: diagnostic msg: 
********************</span></pre></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 4, 2017 at 5:37 AM, Stefan Maksimovic via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: smaksimovic<br>
Date: Fri Aug  4 05:37:34 2017<br>
New Revision: 310057<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=310057&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject?rev=310057&view=rev</a><br>
Log:<br>
Revert r304953 for release 5.0.0<br>
<br>
This is causing failures when compiling clang with -O3<br>
as one of the structures used by clang is passed by<br>
value and uses the fastcc calling convention.<br>
<br>
Faliures manifest for stage2 mips build.<br>
<br>
Removed:<br>
    cfe/trunk/test/CodeGen/mips-ma<wbr>dd4.c<br>
Modified:<br>
    cfe/trunk/include/clang/Driver<wbr>/Options.td<br>
    cfe/trunk/lib/Basic/Targets/Mi<wbr>ps.cpp<br>
    cfe/trunk/lib/Basic/Targets/Mi<wbr>ps.h<br>
    cfe/trunk/lib/Driver/ToolChain<wbr>s/Arch/Mips.cpp<br>
    cfe/trunk/test/Preprocessor/in<wbr>it.c<br>
<br>
Modified: cfe/trunk/include/clang/Driver<wbr>/Options.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=310057&r1=310056&r2=310057&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/cfe/trunk/include/clang/<wbr>Driver/Options.td?rev=310057&<wbr>r1=310056&r2=310057&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/include/clang/Driver<wbr>/Options.td (original)<br>
+++ cfe/trunk/include/clang/Driver<wbr>/Options.td Fri Aug  4 05:37:34 2017<br>
@@ -2019,10 +2019,6 @@ def mdspr2 : Flag<["-"], "mdspr2">, Grou<br>
 def mno_dspr2 : Flag<["-"], "mno-dspr2">, Group<m_Group>;<br>
 def msingle_float : Flag<["-"], "msingle-float">, Group<m_Group>;<br>
 def mdouble_float : Flag<["-"], "mdouble-float">, Group<m_Group>;<br>
-def mmadd4 : Flag<["-"], "mmadd4">, Group<m_Group>,<br>
-  HelpText<"Enable the generation of 4-operand madd.s, madd.d and related instructions.">;<br>
-def mno_madd4 : Flag<["-"], "mno-madd4">, Group<m_Group>,<br>
-  HelpText<"Disable the generation of 4-operand madd.s, madd.d and related instructions.">;<br>
 def mmsa : Flag<["-"], "mmsa">, Group<m_Group>,<br>
   HelpText<"Enable MSA ASE (MIPS only)">;<br>
 def mno_msa : Flag<["-"], "mno-msa">, Group<m_Group>,<br>
<br>
Modified: cfe/trunk/lib/Basic/Targets/Mi<wbr>ps.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets/Mips.cpp?rev=310057&r1=310056&r2=310057&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/cfe/trunk/lib/Basic/Targ<wbr>ets/Mips.cpp?rev=310057&r1=<wbr>310056&r2=310057&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/lib/Basic/Targets/Mi<wbr>ps.cpp (original)<br>
+++ cfe/trunk/lib/Basic/Targets/Mi<wbr>ps.cpp Fri Aug  4 05:37:34 2017<br>
@@ -166,9 +166,6 @@ void MipsTargetInfo::getTargetDefin<wbr>es(co<br>
   if (HasMSA)<br>
     Builder.defineMacro("__mips_m<wbr>sa", Twine(1));<br>
<br>
-  if (DisableMadd4)<br>
-    Builder.defineMacro("__mips_no<wbr>_madd4", Twine(1));<br>
-<br>
   Builder.defineMacro("_MIPS_SZ<wbr>PTR", Twine(getPointerWidth(0)));<br>
   Builder.defineMacro("_MIPS_SZ<wbr>INT", Twine(getIntWidth()));<br>
   Builder.defineMacro("_MIPS_SZ<wbr>LONG", Twine(getLongWidth()));<br>
<br>
Modified: cfe/trunk/lib/Basic/Targets/Mi<wbr>ps.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets/Mips.h?rev=310057&r1=310056&r2=310057&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/cfe/trunk/lib/Basic/Targ<wbr>ets/Mips.h?rev=310057&r1=31005<wbr>6&r2=310057&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/lib/Basic/Targets/Mi<wbr>ps.h (original)<br>
+++ cfe/trunk/lib/Basic/Targets/Mi<wbr>ps.h Fri Aug  4 05:37:34 2017<br>
@@ -52,7 +52,6 @@ class LLVM_LIBRARY_VISIBILITY MipsTarget<br>
   enum MipsFloatABI { HardFloat, SoftFloat } FloatABI;<br>
   enum DspRevEnum { NoDSP, DSP1, DSP2 } DspRev;<br>
   bool HasMSA;<br>
-  bool DisableMadd4;<br>
<br>
 protected:<br>
   bool HasFP64;<br>
@@ -63,7 +62,7 @@ public:<br>
       : TargetInfo(Triple), IsMips16(false), IsMicromips(false),<br>
         IsNan2008(false), IsSingleFloat(false), IsNoABICalls(false),<br>
         CanUseBSDABICalls(false), FloatABI(HardFloat), DspRev(NoDSP),<br>
-        HasMSA(false), DisableMadd4(false), HasFP64(false) {<br>
+        HasMSA(false), HasFP64(false) {<br>
     TheCXXABI.set(TargetCXXABI::G<wbr>enericMIPS);<br>
<br>
     setABI((getTriple().getArch() == llvm::Triple::mips ||<br>
@@ -320,8 +319,6 @@ public:<br>
         DspRev = std::max(DspRev, DSP2);<br>
       else if (Feature == "+msa")<br>
         HasMSA = true;<br>
-      else if (Feature == "+nomadd4")<br>
-        DisableMadd4 = true;<br>
       else if (Feature == "+fp64")<br>
         HasFP64 = true;<br>
       else if (Feature == "-fp64")<br>
<br>
Modified: cfe/trunk/lib/Driver/ToolChain<wbr>s/Arch/Mips.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp?rev=310057&r1=310056&r2=310057&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/cfe/trunk/lib/Driver/Too<wbr>lChains/Arch/Mips.cpp?rev=3100<wbr>57&r1=310056&r2=310057&view=<wbr>diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/lib/Driver/ToolChain<wbr>s/Arch/Mips.cpp (original)<br>
+++ cfe/trunk/lib/Driver/ToolChain<wbr>s/Arch/Mips.cpp Fri Aug  4 05:37:34 2017<br>
@@ -297,8 +297,6 @@ void mips::getMIPSTargetFeatures(co<wbr>nst D<br>
<br>
   AddTargetFeature(Args, Features, options::OPT_mno_odd_spreg,<br>
                    options::OPT_modd_spreg, "nooddspreg");<br>
-  AddTargetFeature(Args, Features, options::OPT_mno_madd4, options::OPT_mmadd4,<br>
-                   "nomadd4");<br>
   AddTargetFeature(Args, Features, options::OPT_mlong_calls,<br>
                    options::OPT_mno_long_calls, "long-calls");<br>
   AddTargetFeature(Args, Features, options::OPT_mmt, options::OPT_mno_mt, "mt");<br>
<br>
Removed: cfe/trunk/test/CodeGen/mips-ma<wbr>dd4.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/mips-madd4.c?rev=310056&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/cfe/trunk/test/CodeGen/<wbr>mips-madd4.c?rev=310056&view=<wbr>auto</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/test/CodeGen/mips-ma<wbr>dd4.c (original)<br>
+++ cfe/trunk/test/CodeGen/mips-ma<wbr>dd4.c (removed)<br>
@@ -1,87 +0,0 @@<br>
-// REQUIRES: mips-registered-target<br>
-// RUN: %clang --target=mips64-unknown-linux -S -mmadd4    %s -o -| FileCheck %s -check-prefix=MADD4<br>
-// RUN: %clang --target=mips64-unknown-linux -S -mno-madd4 %s -o -| FileCheck %s -check-prefix=NOMADD4<br>
-// RUN: %clang --target=mips64-unknown-linux -S -mmadd4    -fno-honor-nans %s -o -| FileCheck %s -check-prefix=MADD4-NONAN<br>
-// RUN: %clang --target=mips64-unknown-linux -S -mno-madd4 -fno-honor-nans %s -o -| FileCheck %s -check-prefix=NOMADD4-NONAN<br>
-<br>
-float madd_s (float f, float g, float h)<br>
-{<br>
-  return (f * g) + h;<br>
-}<br>
-// MADD4:   madd.s<br>
-// NOMADD4: mul.s<br>
-// NOMADD4: add.s<br>
-<br>
-float msub_s (float f, float g, float h)<br>
-{<br>
-  return (f * g) - h;<br>
-}<br>
-// MADD4:   msub.s<br>
-// NOMADD4: mul.s<br>
-// NOMADD4: sub.s<br>
-<br>
-double madd_d (double f, double g, double h)<br>
-{<br>
-  return (f * g) + h;<br>
-}<br>
-// MADD4:   madd.d<br>
-// NOMADD4: mul.d<br>
-// NOMADD4: add.d<br>
-<br>
-double msub_d (double f, double g, double h)<br>
-{<br>
-  return (f * g) - h;<br>
-}<br>
-// MADD4:   msub.d<br>
-// NOMADD4: mul.d<br>
-// NOMADD4: sub.d<br>
-<br>
-<br>
-float nmadd_s (float f, float g, float h)<br>
-{<br>
-  // FIXME: Zero has been explicitly placed to force generation of a positive<br>
-  // zero in IR until pattern used to match this instruction is changed to<br>
-  // comply with negative zero as well.<br>
-  return 0-((f * g) + h);<br>
-}<br>
-// MADD4-NONAN:   nmadd.s<br>
-// NOMADD4-NONAN: mul.s<br>
-// NOMADD4-NONAN: add.s<br>
-// NOMADD4-NONAN: sub.s<br>
-<br>
-float nmsub_s (float f, float g, float h)<br>
-{<br>
-  // FIXME: Zero has been explicitly placed to force generation of a positive<br>
-  // zero in IR until pattern used to match this instruction is changed to<br>
-  // comply with negative zero as well.<br>
-  return 0-((f * g) - h);<br>
-}<br>
-// MADD4-NONAN:   nmsub.s<br>
-// NOMADD4-NONAN: mul.s<br>
-// NOMADD4-NONAN: sub.s<br>
-// NOMADD4-NONAN: sub.s<br>
-<br>
-double nmadd_d (double f, double g, double h)<br>
-{<br>
-  // FIXME: Zero has been explicitly placed to force generation of a positive<br>
-  // zero in IR until pattern used to match this instruction is changed to<br>
-  // comply with negative zero as well.<br>
-  return 0-((f * g) + h);<br>
-}<br>
-// MADD4-NONAN:   nmadd.d<br>
-// NOMADD4-NONAN: mul.d<br>
-// NOMADD4-NONAN: add.d<br>
-// NOMADD4-NONAN: sub.d<br>
-<br>
-double nmsub_d (double f, double g, double h)<br>
-{<br>
-  // FIXME: Zero has been explicitly placed to force generation of a positive<br>
-  // zero in IR until pattern used to match this instruction is changed to<br>
-  // comply with negative zero as well.<br>
-  return 0-((f * g) - h);<br>
-}<br>
-// MADD4-NONAN:   nmsub.d<br>
-// NOMADD4-NONAN: mul.d<br>
-// NOMADD4-NONAN: sub.d<br>
-// NOMADD4-NONAN: sub.d<br>
-<br>
<br>
Modified: cfe/trunk/test/Preprocessor/in<wbr>it.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/init.c?rev=310057&r1=310056&r2=310057&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/cfe/trunk/test/Preproces<wbr>sor/init.c?rev=310057&r1=<wbr>310056&r2=310057&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/test/Preprocessor/in<wbr>it.c (original)<br>
+++ cfe/trunk/test/Preprocessor/in<wbr>it.c Fri Aug  4 05:37:34 2017<br>
@@ -4840,16 +4840,6 @@<br>
 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-MSA %s<br>
 // MIPS-MSA:#define __mips_msa 1<br>
 //<br>
-// RUN: %clang_cc1 -target-feature +nomadd4 \<br>
-// RUN:   -E -dM -triple=mips-none-none < /dev/null \<br>
-// RUN:   | FileCheck -match-full-lines -check-prefix MIPS-NOMADD4 %s<br>
-// MIPS-NOMADD4:#define __mips_no_madd4 1<br>
-//<br>
-// RUN: %clang_cc1 \<br>
-// RUN:   -E -dM -triple=mips-none-none < /dev/null \<br>
-// RUN:   | FileCheck -match-full-lines -check-prefix MIPS-MADD4 %s<br>
-// MIPS-MADD4-NOT:#define __mips_no_madd4 1<br>
-//<br>
 // RUN: %clang_cc1 -target-cpu mips32r3 -target-feature +nan2008 \<br>
 // RUN:   -E -dM -triple=mips-none-none < /dev/null \<br>
 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-NAN2008 %s<br>
<br>
<br>
______________________________<wbr>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>