Skip to content
  1. Sep 01, 2007
  2. Aug 31, 2007
  3. Aug 30, 2007
  4. Aug 29, 2007
  5. Aug 28, 2007
  6. Aug 27, 2007
    • Devang Patel's avatar
      Use simpler test to filter loops. · d2456a17
      Devang Patel authored
      llvm-svn: 41516
      d2456a17
    • David Greene's avatar
      · 703623d5
      David Greene authored
      Update InvokeInst to work like CallInst
      
      llvm-svn: 41506
      703623d5
    • Rafael Espindola's avatar
      b602461f
    • Dan Gohman's avatar
      Make DAGCombiner's global alias analysis query more precise in the case · 9625d812
      Dan Gohman authored
      where both pointers have non-zero offsets.
      
      llvm-svn: 41491
      9625d812
    • Dan Gohman's avatar
      If the source and destination pointers in an llvm.memmove are known · 8dc0b931
      Dan Gohman authored
      to not alias each other, it can be translated as an llvm.memcpy.
      
      llvm-svn: 41489
      8dc0b931
    • Dan Gohman's avatar
      71eaf62e
    • 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
Loading