summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/MergeFunctions.cpp
diff options
context:
space:
mode:
authorFilip Pizlo <fpizlo@apple.com>2014-02-20 23:57:31 +0000
committerFilip Pizlo <fpizlo@apple.com>2014-02-20 23:57:31 +0000
commitc95bd8d88f660d39ff7ffaed4a78b7f2622b5641 (patch)
tree6db156315a894e9404d8ee8d49290640663a5ac5 /llvm/lib/Transforms/IPO/MergeFunctions.cpp
parent71966c99a55f42135a871bccd0c6f4a90af7af4a (diff)
downloadbcm5719-llvm-c95bd8d88f660d39ff7ffaed4a78b7f2622b5641.tar.gz
bcm5719-llvm-c95bd8d88f660d39ff7ffaed4a78b7f2622b5641.zip
Stackmaps are used for OSR exits, which is a custom kind of unwinding. Hence, they
should not be marked nounwind. Marking them nounwind caused crashes in the WebKit FTL JIT, because if we enable sufficient optimizations, LLVM starts eliding compact_unwind sections (or any unwind data for that matter), making deoptimization via stackmaps impossible. This changes the stackmap intrinsic to be may-throw, adds a test for exactly the sympton that WebKit saw, and fixes TableGen to handle un-attributed intrinsics. Thanks to atrick and philipreames for reviewing this. llvm-svn: 201826
Diffstat (limited to 'llvm/lib/Transforms/IPO/MergeFunctions.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud