From c993c89760c94db8fdb9fd0b75001b37cecfa3d5 Mon Sep 17 00:00:00 2001 From: JF Bastien Date: Wed, 9 Dec 2015 13:29:32 +0000 Subject: [PATCH] WebAssembly: add known failures The bots are now running the torture tests properly. Bin all failures from the GCC C torture tests so that we can tackle failures and make the tree go red on regressions. llvm-svn: 255111 --- lib/Target/WebAssembly/README.txt | 3 +- .../WebAssembly/known_gcc_test_failures.txt | 443 +++++++++++++++++- 2 files changed, 444 insertions(+), 2 deletions(-) diff --git a/lib/Target/WebAssembly/README.txt b/lib/Target/WebAssembly/README.txt index 97072ab1cc1..0e7aa23ac3f 100644 --- a/lib/Target/WebAssembly/README.txt +++ b/lib/Target/WebAssembly/README.txt @@ -19,7 +19,8 @@ The backend's bringup is done using the GCC torture test suite first since it doesn't require C library support. Current known failures are in known_gcc_test_failures.txt, all other tests should pass. The waterfall will turn red if not. Once most of these pass, further testing will use LLVM's own -test suite. +test suite. The tests can be run locally using: + github.com/WebAssembly/experimental/blob/master/buildbot/torture_test.py Interesting work that remains to be done: * Write a pass to restructurize irreducible control flow. This needs to be done diff --git a/lib/Target/WebAssembly/known_gcc_test_failures.txt b/lib/Target/WebAssembly/known_gcc_test_failures.txt index 6038b198abe..1e72ad6d5a9 100644 --- a/lib/Target/WebAssembly/known_gcc_test_failures.txt +++ b/lib/Target/WebAssembly/known_gcc_test_failures.txt @@ -1,2 +1,443 @@ # Tests which are known to fail from the GCC torture test suite. -# FIXME: placeholder. The script which runs the tests needs a file here! + +# Core dump. +920908-1.c +pr38151.c +va-arg-22.c + +# ValueTypes.h:222: llvm::MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed. +inst-check.c +loop-12.c +pr57344-1.c +pr57344-2.c +pr57344-3.c +pr57344-4.c +pr58570.c + +# TargetRegisterInfo.h:315: static unsigned int llvm::TargetRegisterInfo::virtReg2Index(unsigned int): Assertion `isVirtualRegister(Reg) && "Not a virtual register"' failed. +20021120-3.c +20070201-1.c +920501-9.c +930513-1.c +941014-2.c +980605-1.c +fprintf-1.c +gofast.c +pr41239.c +printf-1.c +struct-ret-1.c +va-arg-11.c +va-arg-21.c +va-arg-24.c +va-arg-trap-1.c + +# LiveInterval.cpp:1092: void llvm::LiveRange::verify() const: Assertion `I->end <= std::next(I)->start' failed. +20020406-1.c + +# PeepholeOptimizer.cpp:1706: {anonymous}::ValueTrackerResult {anonymous}::ValueTracker::getNextSourceFromBitcast(): Assertion `!MO.isDef() && "We should have skipped all the definitions by now"' failed. +20020227-1.c +pr35456.c +strct-pack-1.c + +# WebAssemblyCFGStackify.cpp:211: void SortBlocks(llvm::MachineFunction&, const llvm::MachineLoopInfo&): Assertion `L->contains( MLI.getLoopFor(&*prev(MachineFunction::iterator(&MBB)))) && "Loop isn't contiguous"' failed. +20000815-1.c +20010129-1.c +20120427-1.c +20120427-2.c +930628-1.c +980707-1.c +990524-1.c +arith-rand-ll.c +arith-rand.c +builtin-bitops-1.c +memcpy-2.c +memset-1.c +memset-3.c +pending-4.c +pr20601-1.c +pr34415.c +pr49073.c +pr53465.c +strcpy-1.c +switch-1.c + +# WebAssemblyCFGStackify.cpp:374: virtual bool {anonymous}::WebAssemblyCFGStackify::runOnMachineFunction(llvm::MachineFunction&): Assertion `Stack.empty()' failed. +20020506-1.c +20020510-1.c +20071120-1.c +compare-1.c +pr15296.c +pr17133.c +pr19005.c + +# WebAssemblyISelLowering.cpp:316: virtual llvm::SDValue llvm::WebAssemblyTargetLowering::LowerCall(llvm::TargetLowering::CallLoweringInfo&, llvm::SmallVectorImpl&) const: Assertion `!Out.Flags.isByVal() && "byval is not valid for return values"' failed. +20030914-2.c +20040703-1.c +20081117-1.c +920625-1.c +931004-11.c +931004-13.c +980223.c +bitfld-5.c +complex-7.c +pr38969.c +pr51323.c +pr52129.c +pr57130.c + +# Cannot select FrameIndex. +20000412-2.c +20000519-1.c +20000706-4.c +20000706-5.c +20000801-1.c +20000801-2.c +20000801-4.c +20001228-1.c +20010116-1.c +20010518-2.c +20010915-1.c +20011126-2.c +20020413-1.c +20020529-1.c +20021024-1.c +20021219-1.c +20030218-1.c +20030221-1.c +20030222-1.c +20030313-1.c +20030828-1.c +20030914-1.c +20030916-1.c +20031012-1.c +20031201-1.c +20040218-1.c +20040302-1.c +20040625-1.c +20040823-1.c +20041019-1.c +20041113-1.c +20041124-1.c +20041126-1.c +20041214-1.c +20050121-1.c +20050203-1.c +20050502-1.c +20050502-2.c +20050826-2.c +20060420-1.c +20070212-1.c +20070517-1.c +20071029-1.c +20071030-1.c +20071108-1.c +20071202-1.c +20071213-1.c +20071219-1.c +20080502-1.c +20080506-2.c +20080519-1.c +20080522-1.c +20080604-1.c +20081103-1.c +20090113-1.c +20090113-2.c +20090113-3.c +20090207-1.c +20090623-1.c +20100708-1.c +20101013-1.c +20111208-1.c +20111212-1.c +20120105-1.c +20120808-1.c +20120919-1.c +20121108-1.c +20131127-1.c +20140425-1.c +920411-1.c +920501-8.c +920726-1.c +930518-1.c +930622-2.c +930930-2.c +931004-10.c +931004-12.c +931004-14.c +931004-2.c +931004-4.c +931004-6.c +931004-8.c +950710-1.c +960215-1.c +960327-1.c +960513-1.c +980205.c +980608-1.c +980709-1.c +980716-1.c +990127-1.c +990513-1.c +990531-1.c +991216-2.c +991228-1.c +alloca-1.c +builtin-prefetch-2.c +cbrt.c +complex-5.c +complex-6.c +conversion.c +enum-3.c +fprintf-chk-1.c +frame-address.c +loop-15.c +loop-ivopts-2.c +mayalias-3.c +memcpy-1.c +multi-ix.c +pr15262.c +pr20466-1.c +pr20527-1.c +pr27073.c +pr27285.c +pr28778.c +pr28982b.c +pr29006.c +pr30778.c +pr31448-2.c +pr31448.c +pr33142.c +pr33870-1.c +pr33870.c +pr34176.c +pr35472.c +pr36339.c +pr36343.c +pr37573.c +pr38051.c +pr38212.c +pr38236.c +pr39100.c +pr39120.c +pr39339.c +pr40022.c +pr40657.c +pr42614.c +pr42691.c +pr43236.c +pr43784.c +pr43835.c +pr43987.c +pr44202-1.c +pr44575.c +pr44852.c +pr44942.c +pr45070.c +pr46309.c +pr47538.c +pr47925.c +pr49218.c +pr49279.c +pr49390.c +pr49419.c +pr51466.c +pr51877.c +pr51933.c +pr52760.c +pr52979-1.c +pr52979-2.c +pr53645-2.c +pr53645.c +pr54471.c +pr54985.c +pr56205.c +pr56799.c +pr56866.c +pr56982.c +pr57124.c +pr57131.c +pr57876.c +pr58277-1.c +pr58365.c +pr59229.c +pr59358.c +pr59643.c +pr60960.c +printf-chk-1.c +pta-field-1.c +pta-field-2.c +regstack-1.c +stdarg-1.c +stdarg-2.c +stdarg-3.c +stdarg-4.c +strct-stdarg-1.c +strct-varg-1.c +string-opt-17.c +string-opt-18.c +string-opt-5.c +struct-aliasing-1.c +va-arg-1.c +va-arg-10.c +va-arg-12.c +va-arg-13.c +va-arg-14.c +va-arg-15.c +va-arg-16.c +va-arg-17.c +va-arg-18.c +va-arg-19.c +va-arg-2.c +va-arg-20.c +va-arg-23.c +va-arg-26.c +va-arg-4.c +va-arg-5.c +va-arg-6.c +va-arg-7.c +va-arg-8.c +va-arg-9.c +va-arg-pack-1.c +vfprintf-1.c +vfprintf-chk-1.c +vprintf-1.c +vprintf-chk-1.c + +# Cannot select sign_extend_inreg. +20001108-1.c +20060110-1.c +20060110-2.c +pr33992.c + +# Cannot select any_extend. +20040709-1.c +20040709-2.c +20050111-1.c +20050316-2.c +20050316-3.c +20050604-1.c +920501-6.c +921029-1.c +961122-1.c +comp-goto-1.c +mode-dependent-address.c +pr23135.c +pr42269-2.c +pr59747.c +restrict-1.c +simd-1.c +simd-2.c + +# Cannot select callseq_end. +20040811-1.c +pr43220.c +vla-dealloc-1.c + +# Cannot select brind. +20071210-1.c +920501-4.c +920501-5.c + +# Cannot select BlockAddress. +980526-1.c +990208-1.c + +# WebAssembly hasn't implemented byval arguments. +20000412-3.c +20000419-1.c +20000706-1.c +20000706-2.c +20000707-1.c +20000717-1.c +20000717-5.c +20000808-1.c +20010605-2.c +20011113-1.c +20020215-1.c +20020810-1.c +20021118-1.c +20040707-1.c +20041201-1.c +20050713-1.c +20070614-1.c +920908-2.c +921112-1.c +921117-1.c +921123-2.c +921204-1.c +930126-1.c +930208-1.c +931004-5.c +931004-9.c +931031-1.c +950607-2.c +960416-1.c +990525-1.c +991118-1.c +bf64-1.c +complex-1.c +complex-2.c +pr15262-2.c +pr20621-1.c +pr30185.c +pr42248.c + +# unimplemented operation lowering. +20010122-1.c +20030323-1.c +20030811-1.c +pr17377.c + +# Error: invalid output constraint '=t' in asm. +990413-2.c + +# Error: __builtin_setjmp / __builtin_longjmp is not supported for the current target. +built-in-setjmp.c +pr60003.c + +# Error in the program / unsupported by Clang. +scal-to-vec1.c +scal-to-vec2.c +scal-to-vec3.c +20000822-1.c +20010209-1.c +20010605-1.c +20030501-1.c +20040520-1.c +20061220-1.c +20090219-1.c +920415-1.c +920428-2.c +920501-7.c +920612-2.c +920721-4.c +921017-1.c +921215-1.c +931002-1.c +comp-goto-2.c +nest-align-1.c +nest-stdar-1.c +nestfunc-1.c +nestfunc-2.c +nestfunc-3.c +nestfunc-5.c +nestfunc-6.c +nestfunc-7.c +pr22061-3.c +pr22061-4.c +pr24135.c +pr51447.c +20020412-1.c +20040308-1.c +20040423-1.c +20041218-2.c +20070919-1.c +align-nest.c +pr41935.c +20050107-1.c +20050119-1.c +20050119-2.c +920302-1.c +920501-3.c +920728-1.c +pr28865.c