diff options
author | Chris Lattner <sabre@nondot.org> | 2005-09-27 21:18:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-09-27 21:18:17 +0000 |
commit | f4e6c3a69b3cf3a381811900c0f3768f626e90b8 (patch) | |
tree | cc21a8b71d17292877f51bf2d2095bddfd2494c2 /lib/Transforms/TransformInternals.cpp | |
parent | fe15830f962bb7fef046203a77d438d087772b34 (diff) |
Completely rewrite 'correct' eh support. This changes how setjmp insertion
is performed so it is only at most once per function that contains an invoke
instead of once per invoke in the function. This patch has the following perks:
1. It fixes PR631, which complains about slowness.
2. If fixes PR240, which complains about non-volatile vars being live across
setjmp/longjmps.
3. It improves (but does not fix) the jmpbuf alignment issue on itanium by not
forcing the jmpbufs to always be 8-bytes off the alignment of the structure.
4. It speeds up 253.perlbmk from 338s to 13.70s (a 25x improvement!), making us
now about 4% faster than GCC.
Further improvements are also possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23477 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/TransformInternals.cpp')
0 files changed, 0 insertions, 0 deletions