Emit smaller exception tables for non-SJLJ mode.

* Use uleb128 for code offsets in the LSDA call site table.
* Omit the TTBase offset if the type table is empty.

This change can reduce the size of the DWARF/Itanium LSDA by about half.

Patch by Ryan Prichard!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@324750 91177308-0d34-0410-b5e6-96231b3b80d8
10 files changed