Skip to content
  1. Jun 02, 2007
    • Duncan Sands's avatar
      The semantics of invoke require that we always jump to the unwind block · f708f73a
      Duncan Sands authored
      (landing pad) when an exception unwinds through the call.  This doesn't
      quite match the way the dwarf unwinder works: by default it only jumps to
      the landing pad if the catch or filter specification matches, and otherwise
      it keeps on unwinding.  There are two ways of specifying to the unwinder
      that it should "always" (more on why there are quotes here later) jump to
      the landing pad: follow the specification by a 0 typeid, or follow it by
      the typeid for the NULL typeinfo.  GCC does the first, and this patch makes
      LLVM do the same as gcc.  However there is a problem: the unwinder performs
      optimizations based on C++ semantics (it only expects destructors to be
      run if the 0 typeid fires - known as "cleanups"), meaning it assumes that no
      exceptions will be raised and that the raised exception will be reraised
      at the end of the cleanup code.  So if someone writes their own LLVM code
      using the exception intrinsics they will get a nasty surprise if they don't
      follow these rules.  The other possibility of using the typeid corresponding
      to NULL (catch-all) causes the unwinder to make no assumptions, so this is
      probably what we should use in the long-run.  However since we are still
      having trouble getting exception handling working properly, for the moment
      it seems best to closely imitate GCC.
      
      llvm-svn: 37399
      f708f73a
    • Duncan Sands's avatar
      Integrate exception filter support and exception catch support. This · c063f5f3
      Duncan Sands authored
      simplifies the code in DwarfWriter, allows for multiple filters and
      makes it trivial to specify filters accompanied by cleanups or catch-all
      specifications (see next patch).  What a deal!  Patch blessed by Anton.
      
      llvm-svn: 37398
      c063f5f3
  2. May 23, 2007
  3. May 13, 2007
    • Anton Korobeynikov's avatar
      Emit multiple common EH frames for multiple (including blank) personality · bbaf5544
      Anton Korobeynikov authored
      functions. This partly fixes PR1414: now we're restricted only to one
      personality function per eh frame, not per module. Further work on
      "multiple personalities" topic needs representative example.
      
      llvm-svn: 37018
      bbaf5544
    • Anton Korobeynikov's avatar
      More DWARF-related things cleanup: · 13da1784
      Anton Korobeynikov authored
      1. Fix PR1380
      2. Apply Duncan's patch from PR1410
      3. Insert workaround for "one personality function per module" as noted in PR1414
      4. Emit correct debug frames for x86/linux. This partly fixes DebugInfo/2006-11-06-StackTrace.cpp: stack trace is
      shown correctly, but arguments for function on top of stack are displayed incorrectly.
      
      llvm-svn: 37015
      13da1784
  4. May 12, 2007
  5. May 11, 2007
  6. May 03, 2007
  7. May 02, 2007
  8. May 01, 2007
  9. Mar 01, 2007
  10. Feb 21, 2007
  11. Feb 01, 2007
  12. Jan 30, 2007
  13. Jan 26, 2007
  14. Jan 24, 2007
  15. Jan 12, 2007
  16. Jan 11, 2007
  17. Jan 03, 2007
  18. Dec 31, 2006
    • Reid Spencer's avatar
      For PR950: · e63b6518
      Reid Spencer authored
      Three changes:
      1. Convert signed integer types to signless versions.
      2. Implement the @sext and @zext parameter attributes. Previously the
         type of an function parameter was used to determine whether it should
         be sign extended or zero extended before the call. This information is
         now communicated via the function type's parameter attributes.
      3. The interface to LowerCallTo had to be changed in order to accommodate
         the parameter attribute information. Although it would have been
         convenient to pass in the FunctionType itself, there isn't always one
         present in the caller. Consequently, a signedness indication for the
         result type and for each parameter was provided for in the interface
         to this method. All implementations were changed to make the adjustment
         necessary.
      
      llvm-svn: 32788
      e63b6518
  19. Dec 12, 2006
  20. Dec 07, 2006
  21. Nov 30, 2006
  22. Nov 27, 2006
    • Reid Spencer's avatar
      For PR950: · 6c38f0bb
      Reid Spencer authored
      The long awaited CAST patch. This introduces 12 new instructions into LLVM
      to replace the cast instruction. Corresponding changes throughout LLVM are
      provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
      exception of 175.vpr which fails only on a slight floating point output
      difference.
      
      llvm-svn: 31931
      6c38f0bb
  23. Nov 08, 2006
  24. Nov 07, 2006
  25. Nov 06, 2006
  26. Oct 24, 2006
  27. Oct 23, 2006
  28. Oct 20, 2006
    • Reid Spencer's avatar
      For PR950: · e0fc4dfc
      Reid Spencer authored
      This patch implements the first increment for the Signless Types feature.
      All changes pertain to removing the ConstantSInt and ConstantUInt classes
      in favor of just using ConstantInt.
      
      llvm-svn: 31063
      e0fc4dfc
  29. Oct 18, 2006
Loading