<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [LoopLoadElim] Assertion `L->getLoopPreheader() && "Can't expand add recurrences without a loop preheader!"' failed"
   href="https://bugs.llvm.org/show_bug.cgi?id=48150">48150</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[LoopLoadElim] Assertion `L->getLoopPreheader() && "Can't expand add recurrences without a loop preheader!"' failed
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>new bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>max.kazantsev@azul.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Command: opt -passes=loop-load-elim -S

Test:
; ModuleID = './reduced.ll'
source_filename = "./reduced.ll"
target datalayout =
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128-ni:1-p2:32:8:8:32-ni:2"
target triple = "x86_64-unknown-linux-gnu"

define void @wombat() {
bb:
  br i1 undef, label %bb1, label %bb2

bb1:                                              ; preds = %bb
  ret void

bb2:                                              ; preds = %bb29, %bb
  %tmp = phi i64 [ %tmp30, %bb29 ], [ 2, %bb ]
  %tmp3 = add nuw nsw i64 %tmp, 99
  br label %bb4

bb4:                                              ; preds = %bb4, %bb2
  %tmp5 = phi i64 [ %tmp9, %bb4 ], [ 1, %bb2 ]
  %tmp6 = phi i32 [ %tmp10, %bb4 ], [ undef, %bb2 ]
  %tmp7 = trunc i64 %tmp5 to i32
  %tmp8 = add i32 %tmp6, %tmp7
  %tmp9 = add nuw nsw i64 %tmp5, 1
  %tmp10 = add i32 %tmp8, -1
  %tmp11 = icmp ugt i64 %tmp3, %tmp5
  br i1 %tmp11, label %bb4, label %bb12

bb12:                                             ; preds = %bb4
  %tmp13 = sext i32 %tmp8 to i64
  %tmp14 = add i64 0, %tmp13
  %tmp15 = mul i64 %tmp14, undef
  %tmp16 = add i64 %tmp15, 83
  %tmp17 = and i64 %tmp16, -2
  br label %bb18

bb18:                                             ; preds = %bb18, %bb12
  %tmp19 = phi i64 [ 0, %bb12 ], [ %tmp27, %bb18 ]
  %tmp20 = add i64 %tmp19, 3
  %tmp21 = add i64 %tmp19, 5
  %tmp22 = getelementptr inbounds i32, i32 addrspace(1)* undef, i64 %tmp20
  %tmp23 = bitcast i32 addrspace(1)* %tmp22 to <2 x i32> addrspace(1)*
  %tmp24 = load <2 x i32>, <2 x i32> addrspace(1)* %tmp23, align 4
  %tmp25 = getelementptr inbounds i32, i32 addrspace(1)* undef, i64 %tmp21
  %tmp26 = bitcast i32 addrspace(1)* %tmp25 to <2 x i32> addrspace(1)*
  store <2 x i32> undef, <2 x i32> addrspace(1)* %tmp26, align 4
  %tmp27 = add i64 %tmp19, 2
  %tmp28 = icmp eq i64 %tmp27, %tmp17
  br i1 %tmp28, label %bb29, label %bb18

bb29:                                             ; preds = %bb18
  %tmp30 = add nuw nsw i64 %tmp, 1
  br label %bb2
}


Failure:
opt:
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1299:
llvm::PHINode* llvm::SCEVExpander::getAddRecExprPHILiterally(const
llvm::SCEVAddRecExpr*, const llvm::Loop*, llvm::Type*, llvm::Type*,
llvm::Type*&, bool&): Assertion `L->getLoopPreheader() && "Can't expand add
recurrences without a loop preheader!"' failed.
PLEASE submit a bug report to <a href="https://bugs.llvm.org/">https://bugs.llvm.org/</a> and include the crash
backtrace.
Stack dump:
0.      Program arguments: /localhome/mkazantsev/work/llvm/build/RA/bin/opt
-passes=loop-load-elim -S ./simplified.ll 
 #0 0x000000000288f27c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Support/Unix/Signals.inc:567:0
 #1 0x000000000288d1a4 llvm::sys::RunSignalHandlers()
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Support/Signals.cpp:71:0
 #2 0x000000000288daad SignalHandler(int)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Support/Unix/Signals.inc:405:0
 #3 0x00007f2a2c2ee630 __restore_rt (/lib64/libpthread.so.0+0xf630)
 #4 0x00007f2a2ae4a387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f2a2ae4ba78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00007f2a2ae431a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007f2a2ae43252 (/lib64/libc.so.6+0x2f252)
 #8 0x00000000029b1fe6 llvm::isa_impl_wrap<llvm::Instruction, llvm::Value
const*, llvm::Value const*>::doit(llvm::Value const* const&)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1298:0
 #9 0x00000000029b1fe6 llvm::isa_impl_wrap<llvm::Instruction, llvm::Value*
const, llvm::Value const*>::doit(llvm::Value* const&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Support/Casting.h:123:0
#10 0x00000000029b1fe6 bool llvm::isa<llvm::Instruction,
llvm::Value*>(llvm::Value* const&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Support/Casting.h:143:0
#11 0x00000000029b1fe6
llvm::SCEVExpander::getAddRecExprPHILiterally(llvm::SCEVAddRecExpr const*,
llvm::Loop const*, llvm::Type*, llvm::Type*, llvm::Type*&, bool&)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1306:0
#12 0x00000000029b2200 llvm::SmallPtrSetImpl<llvm::Loop
const*>::count(llvm::Loop const*) const
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/ADT/SmallPtrSet.h:376:0
#13 0x00000000029b2200
llvm::SCEVExpander::expandAddRecExprLiterally(llvm::SCEVAddRecExpr const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1435:0
#14 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#15 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#16 0x00000000029af11f llvm::SCEVUDivExpr::getRHS() const
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:316:0
#17 0x00000000029af11f llvm::SCEVExpander::visitUDivExpr(llvm::SCEVUDivExpr
const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:886:0
#18 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#19 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#20 0x00000000029af2da
llvm::SCEVExpander::visitTruncateExpr(llvm::SCEVTruncateExpr const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1677:0
#21 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#22 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#23 0x00000000029b0c84 llvm::SCEVExpander::visitAddExpr(llvm::SCEVAddExpr
const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:775:0
#24 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#25 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#26 0x00000000029af3fa
llvm::SCEVExpander::visitSignExtendExpr(llvm::SCEVSignExtendExpr const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1693:0
#27 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#28 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#29 0x00000000029aefba llvm::SCEVExpander::visitMulExpr(llvm::SCEVMulExpr
const*)::'lambda'()::operator()() const
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:828:0
#30 0x00000000029adb71 llvm::SCEVExpander::visitMulExpr(llvm::SCEVMulExpr
const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:858:0
#31 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#32 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#33 0x00000000029b0c84 llvm::SCEVExpander::visitAddExpr(llvm::SCEVAddExpr
const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:775:0
#34 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#35 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#36 0x00000000029af11f llvm::SCEVUDivExpr::getRHS() const
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:316:0
#37 0x00000000029af11f llvm::SCEVExpander::visitUDivExpr(llvm::SCEVUDivExpr
const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:886:0
#38 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#39 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#40 0x00000000029aefba llvm::SCEVExpander::visitMulExpr(llvm::SCEVMulExpr
const*)::'lambda'()::operator()() const
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:828:0
#41 0x00000000029adb71 llvm::SCEVExpander::visitMulExpr(llvm::SCEVMulExpr
const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:858:0
#42 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#43 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#44 0x00000000029b0c84 llvm::SCEVExpander::visitAddExpr(llvm::SCEVAddExpr
const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:775:0
#45 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#46 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#47 0x00000000029af11f llvm::SCEVUDivExpr::getRHS() const
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:316:0
#48 0x00000000029af11f llvm::SCEVExpander::visitUDivExpr(llvm::SCEVUDivExpr
const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:886:0
#49 0x00000000029ae6d5 llvm::SCEVExpander::expand(llvm::SCEV const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1934:0
#50 0x00000000029aeb8c llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*,
llvm::Type*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:1799:0
#51 0x00000000029b2ab4
llvm::SCEVExpander::generateOverflowCheck(llvm::SCEVAddRecExpr const*,
llvm::Instruction*, bool)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:2490:0
#52 0x00000000029b6458
llvm::SCEVExpander::expandWrapPredicate(llvm::SCEVWrapPredicate const*,
llvm::Instruction*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:2569:0
#53 0x00000000029b664d
llvm::SCEVExpander::expandUnionPredicate(llvm::SCEVUnionPredicate const*,
llvm::Instruction*)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:2592:0
#54 0x0000000002975fec llvm::isa_impl_cl<llvm::ConstantInt, llvm::Value
const*>::doit(llvm::Value const*)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Support/Casting.h:104:0
#55 0x0000000002975fec llvm::isa_impl_wrap<llvm::ConstantInt, llvm::Value
const*, llvm::Value const*>::doit(llvm::Value const* const&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Support/Casting.h:131:0
#56 0x0000000002975fec llvm::isa_impl_wrap<llvm::ConstantInt, llvm::Value*
const, llvm::Value const*>::doit(llvm::Value* const&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Support/Casting.h:123:0
#57 0x0000000002975fec bool llvm::isa<llvm::ConstantInt,
llvm::Value*>(llvm::Value* const&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Support/Casting.h:143:0
#58 0x0000000002975fec llvm::cast_retty<llvm::ConstantInt,
llvm::Value*>::ret_type llvm::dyn_cast<llvm::ConstantInt,
llvm::Value>(llvm::Value*)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Support/Casting.h:345:0
#59 0x0000000002975fec
llvm::LoopVersioning::versionLoop(llvm::SmallVectorImpl<llvm::Instruction*>
const&)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Utils/LoopVersioning.cpp:70:0
#60 0x00000000026737bb llvm::SmallVectorTemplateCommon<llvm::Instruction*,
void>::end()
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/ADT/SmallVector.h:161:0
#61 0x00000000026737bb llvm::SmallVector<llvm::Instruction*,
8u>::~SmallVector()
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/ADT/SmallVector.h:903:0
#62 0x00000000026737bb llvm::LoopVersioning::versionLoop()
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/Transforms/Utils/LoopVersioning.h:63:0
#63 0x00000000026737bb processLoop
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp:567:0
#64 0x00000000026737bb eliminateLoadsAcrossLoops(llvm::Function&,
llvm::LoopInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo*,
llvm::ProfileSummaryInfo*, llvm::function_ref<llvm::LoopAccessInfo const&
(llvm::Loop&)>) (.isra.373)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp:632:0
#65 0x000000000267443d llvm::LoopLoadEliminationPass::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&)
/localhome/mkazantsev/work/llvm/llvm/llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp:726:0
#66 0x0000000002ac2a2d llvm::detail::PassModel<llvm::Function,
llvm::LoopLoadEliminationPass, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/IR/PassManagerInternal.h:86:0
#67 0x0000000000efa5cc llvm::SmallPtrSet<void*,
2u>::operator=(llvm::SmallPtrSet<void*, 2u>&&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/ADT/SmallPtrSet.h:481:0
#68 0x0000000000efa5cc
llvm::PreservedAnalyses::operator=(llvm::PreservedAnalyses&&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/IR/PassManager.h:155:0
#69 0x0000000000efa5cc llvm::PassManager<llvm::Function,
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/IR/PassManager.h:517:0
#70 0x0000000000efa5cc
llvm::ModuleToFunctionPassAdaptor<llvm::PassManager<llvm::Function,
llvm::AnalysisManager<llvm::Function> > >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/IR/PassManager.h:1258:0
#71 0x0000000000efb87d llvm::detail::PassModel<llvm::Module,
llvm::ModuleToFunctionPassAdaptor<llvm::PassManager<llvm::Function,
llvm::AnalysisManager<llvm::Function> > >, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/IR/PassManagerInternal.h:86:0
#72 0x000000000216b287 llvm::SmallPtrSet<void*,
2u>::operator=(llvm::SmallPtrSet<void*, 2u>&&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/ADT/SmallPtrSet.h:481:0
#73 0x000000000216b287
llvm::PreservedAnalyses::operator=(llvm::PreservedAnalyses&&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/IR/PassManager.h:155:0
#74 0x000000000216b287 llvm::PassManager<llvm::Module,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/IR/PassManager.h:517:0
#75 0x00000000007eb092 llvm::SmallPtrSetImplBase::~SmallPtrSetImplBase()
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/ADT/SmallPtrSet.h:82:0
#76 0x00000000007eb092
llvm::SmallPtrSetImpl<llvm::AnalysisKey*>::~SmallPtrSetImpl()
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/ADT/SmallPtrSet.h:343:0
#77 0x00000000007eb092 llvm::SmallPtrSet<llvm::AnalysisKey*,
2u>::~SmallPtrSet()
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/ADT/SmallPtrSet.h:442:0
#78 0x00000000007eb092 llvm::PreservedAnalyses::~PreservedAnalyses()
/localhome/mkazantsev/work/llvm/llvm/llvm/include/llvm/IR/PassManager.h:155:0
#79 0x00000000007eb092 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)
/localhome/mkazantsev/work/llvm/llvm/llvm/tools/opt/NewPMDriver.cpp:426:0
#80 0x0000000000731402 main
/localhome/mkazantsev/work/llvm/llvm/llvm/tools/opt/opt.cpp:768:0
#81 0x00007f2a2ae36555 __libc_start_main (/lib64/libc.so.6+0x22555)
#82 0x00000000007df199 _start
(/localhome/mkazantsev/work/llvm/build/RA/bin/opt+0x7df199)</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>