Skip to content
  1. Sep 21, 2007
  2. Sep 17, 2007
  3. Sep 12, 2007
  4. Sep 11, 2007
  5. Sep 08, 2007
  6. Sep 07, 2007
  7. Aug 27, 2007
    • Duncan Sands's avatar
      There is an impedance matching problem between LLVM and · ef5a6542
      Duncan Sands authored
      gcc exception handling: if an exception unwinds through
      an invoke, then execution must branch to the invoke's
      unwind target.  We previously tried to enforce this by
      appending a cleanup action to every selector, however
      this does not always work correctly due to an optimization
      in the C++ unwinding runtime: if only cleanups would be
      run while unwinding an exception, then the program just
      terminates without actually executing the cleanups, as
      invoke semantics would require.  I was hoping this
      wouldn't be a problem, but in fact it turns out to be the
      cause of all the remaining failures in the LLVM testsuite
      (these also fail with -enable-correct-eh-support, so turning
      on -enable-eh didn't make things worse!).  Instead we need
      to append a full-blown catch-all to the end of each
      selector.  The correct way of doing this depends on the
      personality function, i.e. it is language dependent, so
      can only be done by gcc.  Thus this patch which generalizes
      the eh.selector intrinsic so that it can handle all possible
      kinds of action table entries (before it didn't accomodate
      cleanups): now 0 indicates a cleanup, and filters have to be
      specified using the number of type infos plus one rather than
      the number of type infos.  Related gcc patches will cause
      Ada to pass a cleanup (0) to force the selector to always
      fire, while C++ will use a C++ catch-all (null).
      
      llvm-svn: 41484
      ef5a6542
  8. Aug 25, 2007
  9. Aug 23, 2007
  10. Aug 07, 2007
  11. Aug 06, 2007
  12. Aug 05, 2007
  13. Aug 04, 2007
    • Chandler Carruth's avatar
      This is the patch to provide clean intrinsic function overloading support in... · 7132e00d
      Chandler Carruth authored
      This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
      
      This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
      
      llvm-svn: 40807
      7132e00d
  14. Jul 31, 2007
  15. Jul 27, 2007
  16. Jul 25, 2007
  17. Jul 23, 2007
  18. Jul 20, 2007
  19. Jul 18, 2007
Loading