[llvm-bugs] [Bug 49768] New: opt -slsr crashing with "../lib/Analysis/ScalarEvolution.cpp:5678: llvm::ConstantRange llvm::ScalarEvolution::getRangeForUnknownRecurrence(const llvm::SCEVUnknown *): Assertion `L->getHeader() == P->getParent()' failed."

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Mar 30 00:42:25 PDT 2021


https://bugs.llvm.org/show_bug.cgi?id=49768

            Bug ID: 49768
           Summary: opt -slsr crashing with
                    "../lib/Analysis/ScalarEvolution.cpp:5678:
                    llvm::ConstantRange
                    llvm::ScalarEvolution::getRangeForUnknownRecurrence(co
                    nst llvm::SCEVUnknown *): Assertion `L->getHeader() ==
                    P->getParent()' failed."
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Global Analyses
          Assignee: unassignedbugs at nondot.org
          Reporter: mikael.holmen at ericsson.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 24706
  --> https://bugs.llvm.org/attachment.cgi?id=24706&action=edit
bbi-54700.ll reproducer

Reproduce with:
 opt -slsr -S -o - bbi-54700.ll

Result:
 opt: ../lib/Analysis/ScalarEvolution.cpp:5678: llvm::ConstantRange
llvm::ScalarEvolution::getRangeForUnknownRecurrence(const llvm::SCEVUnknown *):
Assertion `L->getHeader() == P->getParent()' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace.
Stack dump:
0.      Program arguments: build-all/bin/opt -slsr -S -o -
/home/uabelho/bbi-54700.ll
 #0 0x00000000029741c3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
(build-all/bin/opt+0x29741c3)
 #1 0x0000000002971e7e llvm::sys::RunSignalHandlers()
(build-all/bin/opt+0x2971e7e)
 #2 0x0000000002974686 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f1417136630 __restore_rt sigaction.c:0:0
 #4 0x00007f1414869387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f141486aa78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00007f14148621a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007f1414862252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000000001aa51dc
llvm::ScalarEvolution::getRangeForUnknownRecurrence(llvm::SCEVUnknown const*)
(build-all/bin/opt+0x1aa51dc)
 #9 0x0000000001aa7159 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*,
llvm::ScalarEvolution::RangeSignHint) (build-all/bin/opt+0x1aa7159)
#10 0x0000000001a9091f llvm::ScalarEvolution::getSignExtendExpr(llvm::SCEV
const*, llvm::Type*, unsigned int) (build-all/bin/opt+0x1a9091f)
#11 0x0000000001a96e24 llvm::ScalarEvolution::getGEPExpr(llvm::GEPOperator*,
llvm::SmallVectorImpl<llvm::SCEV const*> const&) (build-all/bin/opt+0x1a96e24)
#12 0x00000000028635d0 (anonymous
namespace)::StraightLineStrengthReduce::runOnFunction(llvm::Function&)
StraightLineStrengthReduce.cpp:0:0
#13 0x0000000002862d0e
llvm::StraightLineStrengthReducePass::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x2862d0e)
#14 0x0000000002c3aadd llvm::detail::PassModel<llvm::Function,
llvm::StraightLineStrengthReducePass, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&) crtstuff.c:0:0
#15 0x00000000021a4349 llvm::PassManager<llvm::Function,
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x21a4349)
#16 0x0000000000a8c59d llvm::detail::PassModel<llvm::Function,
llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >,
llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>
>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) crtstuff.c:0:0
#17 0x00000000021a8b46 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x21a8b46)
#18 0x00000000007733ed llvm::detail::PassModel<llvm::Module,
llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&) crtstuff.c:0:0
#19 0x00000000021a31ab llvm::PassManager<llvm::Module,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x21a31ab)
#20 0x000000000076c173 llvm::runPassPipeline(llvm::StringRef, llvm::Module&,
llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*,
llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef,
llvm::ArrayRef<llvm::StringRef>, llvm::opt_tool::OutputKind,
llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool)
(build-all/bin/opt+0x76c173)
#21 0x000000000077cfd6 main (build-all/bin/opt+0x77cfd6)
#22 0x00007f1414855555 __libc_start_main (/lib64/libc.so.6+0x22555)
#23 0x0000000000767345 _start (build-all/bin/opt+0x767345)
Abort

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210330/942c426f/attachment.html>


More information about the llvm-bugs mailing list