[LLVMbugs] [Bug 797] NEW: Compile VMCore with -fno-exceptions

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Thu Jun 1 17:58:53 PDT 2006


           Summary: Compile VMCore with -fno-exceptions
           Product: libraries
           Version: 1.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Core LLVM classes
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rspencer at x10sys.com

We might be able to reduce the size of libVMCore.a by compiling it with the
-fno-exceptions flag. This prevents the compiler from generating functions that
know how to propagate exceptions. VMCore is very close to being exception
handling free. With a little work, we could make it exception free and turn 
this flag on permanently in the lib/VMCore/Makefile.

Here are the outstanding issues:

Pass.cpp in the constructor of FunctionPass needs to handle exceptions coming
from the bytecode reader when its function is materialized. Possible solutions:
  1. Don't have bytecode reader throw exceptions (big change). This actually 
     implies that any ModuleProvider would not be able to throw exceptions.
  2. Move Pass.cpp out of VMCore
  3. Rearrange the code so that Pass.cpp is not the thing doing the function

Verifier.cpp throws an exception when it checks abortIfBroken(). This is a
feature used by the bcanalyzer and llvm-as.  Both programs could be made to just
abort if the verifier fails.

The libraries VMCore depends upon (Support, bzip2, System) do not throw in
anything that VMCore includes or calls. 

Since VMCore has a lot of functions, this could be a big win for library size.

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

More information about the llvm-bugs mailing list