[PATCH] D64285: [InstCombine] Fold select (icmp sgt x, -1), lshr (X, Y), ashr (X, Y) to ashr (X, Y))

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 12 13:28:02 PDT 2019


vitalybuka added a comment.

compiler now crashes on this file from CTMark https://reviews.llvm.org/F9549420

  FAILED: CTMark/SPASS/CMakeFiles/SPASS.dir/list.c.o 
  /usr/local/google/home/vitalybuka/src/llvm.git/out/ts_zn_true_Os_32/tools/timeit --summary CTMark/SPASS/CMakeFiles/SPASS.dir/list.c.o.time /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/bin/clang -DNDEBUG  -m32     -Os   -w -Werror=date-time -fno-strict-aliasing -DCLOCK_NO_TIMING -MD -MT CTMark/SPASS/CMakeFiles/SPASS.dir/list.c.o -MF CTMark/SPASS/CMakeFiles/SPASS.dir/list.c.o.d -o CTMark/SPASS/CMakeFiles/SPASS.dir/list.c.o   -c /usr/local/google/home/vitalybuka/src/llvm.git/test-suite/CTMark/SPASS/list.c
  clang: ../../llvm-project/llvm/include/llvm/ADT/APInt.h:279: llvm::APInt::APInt(unsigned int, uint64_t, bool): Assertion `BitWidth && "bitwidth too small"' failed.
  Stack dump:
  0.	Program arguments: /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/bin/clang -cc1 -triple i386-unknown-linux-gnu -emit-obj -disable-free -main-file-name list.c -mrelocation-model static -mthread-model posix -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu pentium4 -dwarf-column-info -debugger-tuning=gdb -coverage-notes-file /usr/local/google/home/vitalybuka/src/llvm.git/out/ts_zn_true_Os_32/CTMark/SPASS/CMakeFiles/SPASS.dir/list.c.gcno -resource-dir /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/lib/clang/9.0.0 -dependency-file CTMark/SPASS/CMakeFiles/SPASS.dir/list.c.o.d -sys-header-deps -MT CTMark/SPASS/CMakeFiles/SPASS.dir/list.c.o -D NDEBUG -D CLOCK_NO_TIMING -internal-isystem /usr/local/include -internal-isystem /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/lib/clang/9.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Os -Werror=date-time -w -fdebug-compilation-dir /usr/local/google/home/vitalybuka/src/llvm.git/out/ts_zn_true_Os_32 -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -faddrsig -o CTMark/SPASS/CMakeFiles/SPASS.dir/list.c.o -x c /usr/local/google/home/vitalybuka/src/llvm.git/test-suite/CTMark/SPASS/list.c 
  1.	<eof> parser at end of file
  2.	Per-module optimization passes
  3.	Running pass 'CallGraph Pass Manager' on module '/usr/local/google/home/vitalybuka/src/llvm.git/test-suite/CTMark/SPASS/list.c'.
  4.	Running pass 'Combine redundant instructions' on function '@list_CompareElementDistribution'
   #0 0x000000000296d71d llvm::sys::PrintStackTrace(llvm::raw_ostream&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Support/Unix/Signals.inc:494:13
   #1 0x000000000296d71d PrintStackTraceSignalHandler(void*) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Support/Unix/Signals.inc:554:0
   #2 0x000000000296b3fe llvm::sys::RunSignalHandlers() /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Support/Signals.cpp:69:18
   #3 0x000000000296d8d8 SignalHandler(int) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Support/Unix/Signals.inc:357:1
   #4 0x00007f342ae543a0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x123a0)
   #5 0x00007f3429f7ecfb raise (/lib/x86_64-linux-gnu/libc.so.6+0x36cfb)
   #6 0x00007f3429f698ad abort (/lib/x86_64-linux-gnu/libc.so.6+0x218ad)
   #7 0x00007f3429f6977f (/lib/x86_64-linux-gnu/libc.so.6+0x2177f)
   #8 0x00007f3429f77542 (/lib/x86_64-linux-gnu/libc.so.6+0x2f542)
   #9 0x0000000002b401e1 llvm::InstCombiner::foldSelectInstWithICmp(llvm::SelectInst&, llvm::ICmpInst*) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp:0:0
  #10 0x0000000002b41b87 llvm::InstCombiner::visitSelectInst(llvm::SelectInst&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp:1963:31
  #11 0x0000000002ab13d2 llvm::InstCombiner::run() /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp:3289:22
  #12 0x0000000002ab2d6a combineInstructionsOverFunction(llvm::Function&, llvm::InstCombineWorklist&, llvm::AAResults*, llvm::AssumptionCache&, llvm::TargetLibraryInfo&, llvm::DominatorTree&, llvm::OptimizationRemarkEmitter&, llvm::BlockFrequencyInfo*, llvm::ProfileSummaryInfo*, bool, llvm::LoopInfo*) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp:3523:13
  #13 0x0000000002ab4338 llvm::InstructionCombiningPass::runOnFunction(llvm::Function&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp:3597:10
  #14 0x00000000027a642f llvm::FPPassManager::runOnFunction(llvm::Function&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1648:27
  #15 0x00000000024bc7e7 (anonymous namespace)::CGPassManager::RunPassOnSCC(llvm::Pass*, llvm::CallGraphSCC&, llvm::CallGraph&, bool&, bool&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp:176:25
  #16 0x00000000024bc7e7 (anonymous namespace)::CGPassManager::RunAllPassesOnSCC(llvm::CallGraphSCC&, llvm::CallGraph&, bool&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp:441:0
  #17 0x00000000024bc7e7 (anonymous namespace)::CGPassManager::runOnModule(llvm::Module&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp:497:0
  #18 0x00000000027a6e56 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1752:27
  #19 0x00000000027a6e56 llvm::legacy::PassManagerImpl::run(llvm::Module&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1865:0
  #20 0x0000000001b06e4b (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/lib/CodeGen/BackendUtil.cpp:902:3
  #21 0x0000000001b06e4b clang::EmitBackendOutput(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_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1549:0
  #22 0x0000000002106e5d std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >::~unique_ptr() /usr/lib/gcc/x86_64-linux-gnu/8.0.1/../../../../include/c++/8.0.1/bits/unique_ptr.h:273:6
  #23 0x0000000002106e5d clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:303:0
  #24 0x0000000003417a75 __gnu_cxx::__normal_iterator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> >*, std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> >, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> > > > >::__normal_iterator(std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> >* const&) /usr/lib/gcc/x86_64-linux-gnu/8.0.1/../../../../include/c++/8.0.1/bits/stl_iterator.h:781:20
  #25 0x0000000003417a75 std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> >, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> > > >::begin() /usr/lib/gcc/x86_64-linux-gnu/8.0.1/../../../../include/c++/8.0.1/bits/stl_vector.h:699:0
  #26 0x0000000003417a75 void clang::finalize<std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> >, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> > > > >(std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> >, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback> > > >&, clang::Sema const&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/include/clang/Sema/TemplateInstCallback.h:54:0
  #27 0x0000000003417a75 clang::ParseAST(clang::Sema&, bool, bool) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/lib/Parse/ParseAST.cpp:178:0
  #28 0x0000000002065250 clang::FrontendAction::Execute() /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/lib/Frontend/FrontendAction.cpp:938:10
  #29 0x0000000001fcf871 llvm::Error::getPtr() const /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/include/llvm/Support/Error.h:273:42
  #30 0x0000000001fcf871 llvm::Error::operator bool() /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/llvm/include/llvm/Support/Error.h:236:0
  #31 0x0000000001fcf871 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/lib/Frontend/CompilerInstance.cpp:944:0
  #32 0x000000000210205f clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:291:25
  #33 0x0000000001ac0975 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/tools/driver/cc1_main.cpp:249:15
  #34 0x0000000001ace43b ExecuteCC1Tool(llvm::ArrayRef<char const*>, llvm::StringRef) /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/tools/driver/driver.cpp:309:12
  #35 0x0000000001ace43b main /usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/../../llvm-project/clang/tools/driver/driver.cpp:381:0
  #36 0x00007f3429f6b52b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2352b)
  #37 0x0000000001ac002a _start (/usr/local/google/home/vitalybuka/src/llvm.git/out/zn_true/bin/clang+0x1ac002a)


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64285/new/

https://reviews.llvm.org/D64285





More information about the llvm-commits mailing list