Darwin, like many BSD systems, has a setjmp/longjmp which saves the signal mask
authorChris Lattner <sabre@nondot.org>
Tue, 27 Sep 2005 22:18:25 +0000 (22:18 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 27 Sep 2005 22:18:25 +0000 (22:18 +0000)
commitd145a61f8f581cfe7dc7abb023a3b1ab534606c7
tree19ace14146ae22aadf73c436be1e1df49d814f22
parent6c38b33613d64522581dc55d82fffa4aee0e9f22
Darwin, like many BSD systems, has a setjmp/longjmp which saves the signal mask
on setjmp calls and restores it on longjmp calls (both of which require syscalls).

This makes the calls REALLY slow.  Use _setjmp/_longjmp instead.  This speeds up
hexxagon from 120.31s to 15.68s: from 5.53x slower than GCC to 28% faster than GCC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23482 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPCISelLowering.cpp