[llvm-bugs] [Bug 38462] New: PGO crashes with SEH

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Aug 6 10:16:58 PDT 2018


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

            Bug ID: 38462
           Summary: PGO crashes with SEH
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: dmajor at mozilla.com
                CC: llvm-bugs at lists.llvm.org, rnk at google.com

The profdata file that reproduces this is quite large, so I'm hoping someone
can figure this out from just the stack, or let me know if there's a way to cut
out the uninteresting bits from the file.

$ cat gfxFontInfoLoader-911413.cpp
int f();
struct S {
  bool b();
  void v() { if (b()) f(); }
};
struct FontInfoData {
  virtual void Load();
};
void FontInfoData::Load() {
  for(int i = 0; i < 1 && !f();)
    __try {
      f();
    } __except(1) {
      S s;
      s.v();
    }
}


Stack dump:
0.      Program arguments: clang-cl -cc1 -triple
x86_64-pc-windows-msvc19.13.26128 -emit-obj
-fprofile-instrument-use-path=merged.profdata -O2 -fms-extensions
gfxFontInfoLoader-911413.cpp
1.      <eof> parser at end of file
2.      Per-module optimization passes
3.      Running pass 'Function Pass Manager' on module
'gfxFontInfoLoader-911413.cpp'.
4.      Running pass 'Simplify the CFG' on function
'@"?Load at FontInfoData@@UEAAXXZ"'
#0 0x00000000016eb99f llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/home/vm/src/llvm8/lib/Support/Unix/Signals.inc:490:13
#1 0x00000000016e9f00 llvm::sys::RunSignalHandlers()
/home/vm/src/llvm8/lib/Support/Signals.cpp:68:18
#2 0x00000000016ebcb2 SignalHandler(int)
/home/vm/src/llvm8/lib/Support/Unix/Signals.inc:353:1
#3 0x00007fefd19f1390 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
#4 0x000000000172ae48 llvm::Value::getValueID() const
/home/vm/src/llvm8/include/llvm/IR/Value.h:464:12
#5 0x000000000172ae48 llvm::Instruction::getOpcode() const
/home/vm/src/llvm8/include/llvm/IR/Instruction.h:126:0
#6 0x000000000172ae48 llvm::InvokeInst::classof(llvm::Instruction const*)
/home/vm/src/llvm8/include/llvm/IR/Instructions.h:4077:0
#7 0x000000000172ae48 llvm::isa_impl<llvm::InvokeInst, llvm::TerminatorInst,
void>::doit(llvm::TerminatorInst const&)
/home/vm/src/llvm8/include/llvm/Support/Casting.h:59:0
#8 0x000000000172ae48 llvm::isa_impl_cl<llvm::InvokeInst, llvm::TerminatorInst
const*>::doit(llvm::TerminatorInst const*)
/home/vm/src/llvm8/include/llvm/Support/Casting.h:107:0
#9 0x000000000172ae48 llvm::isa_impl_wrap<llvm::InvokeInst,
llvm::TerminatorInst const*, llvm::TerminatorInst
const*>::doit(llvm::TerminatorInst const* const&)
/home/vm/src/llvm8/include/llvm/Support/Casting.h:133:0
#10 0x000000000172ae48 llvm::isa_impl_wrap<llvm::InvokeInst,
llvm::TerminatorInst* const, llvm::TerminatorInst
const*>::doit(llvm::TerminatorInst* const&)
/home/vm/src/llvm8/include/llvm/Support/Casting.h:123:0
#11 0x000000000172ae48 bool llvm::isa<llvm::InvokeInst,
llvm::TerminatorInst*>(llvm::TerminatorInst* const&)
/home/vm/src/llvm8/include/llvm/Support/Casting.h:143:0
#12 0x000000000172ae48 llvm::cast_retty<llvm::InvokeInst,
llvm::TerminatorInst*>::ret_type llvm::dyn_cast<llvm::InvokeInst,
llvm::TerminatorInst>(llvm::TerminatorInst*)
/home/vm/src/llvm8/include/llvm/Support/Casting.h:334:0
#13 0x000000000172ae48 markAliveBlocks(llvm::Function&,
llvm::SmallPtrSetImpl<llvm::BasicBlock*>&, llvm::DeferredDominance*)
/home/vm/src/llvm8/lib/Transforms/Utils/Local.cpp:2094:0
#14 0x000000000172ae48 llvm::removeUnreachableBlocks(llvm::Function&,
llvm::LazyValueInfo*, llvm::DeferredDominance*)
/home/vm/src/llvm8/lib/Transforms/Utils/Local.cpp:2210:0
#15 0x0000000001651a77 simplifyFunctionCFG(llvm::Function&,
llvm::TargetTransformInfo const&, llvm::SimplifyCFGOptions const&)
/home/vm/src/llvm8/lib/Transforms/Scalar/SimplifyCFGPass.cpp:176:22

-- 
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/20180806/af0a9f8b/attachment-0001.html>


More information about the llvm-bugs mailing list