[PATCH] D51524: [ARM64] [Windows] Handle funclets

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 5 16:21:25 PST 2018


efriedma added a comment.

> It works for x64 and x86, so I guess it's arm-specific. The state table emission code is portable, so maybe the bug is in the arm ip2state mapping logic?

Looked a bit more; it looks like the problem is actually that the "throw" is the last instruction in the function, so unwinding gets confused.  There's some code in X86TargetMachine::X86TargetMachine which turns on TrapUnreachable, which avoids the problem. It looks like MSVC does something similar (it inserts a nop instead of a trap, but same idea).  I'll post a patch separately.


Repository:
  rL LLVM

https://reviews.llvm.org/D51524





More information about the llvm-commits mailing list