Skip to content
  1. Sep 24, 2010
  2. Jul 22, 2010
  3. Jun 30, 2010
  4. Jun 25, 2010
  5. May 11, 2010
  6. Apr 17, 2010
  7. Apr 16, 2010
  8. Apr 15, 2010
  9. Apr 08, 2010
  10. Feb 15, 2010
  11. Jan 05, 2010
  12. Nov 10, 2009
  13. Oct 14, 2009
    • Duncan Sands's avatar
      I don't see any point in having both eh.selector.i32 and eh.selector.i64, · 8e6ccb65
      Duncan Sands authored
      so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector.
      Likewise for eh.typeid.for.  This aligns us with gcc, which always uses a
      32 bit value for the selector on all platforms.  My understanding is that
      the register allocator used to assert if the selector intrinsic size didn't
      match the pointer size, and this was the reason for introducing the two
      variants.  However my testing shows that this is no longer the case (I
      fixed some bugs in selector lowering yesterday, and some more today in the
      fastisel path; these might have caused the original problems).
      
      llvm-svn: 84106
      8e6ccb65
  14. Oct 06, 2009
  15. Aug 23, 2009
  16. Aug 13, 2009
  17. Jul 31, 2009
  18. Jul 25, 2009
  19. Jul 22, 2009
  20. Jul 15, 2009
  21. Jul 14, 2009
  22. Jul 13, 2009
    • Owen Anderson's avatar
      Begin the painful process of tearing apart the rat'ss nest that is... · 53a52215
      Owen Anderson authored
      Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
      This involves temporarily hard wiring some parts to use the global context.  This isn't ideal, but it's
      the only way I could figure out to make this process vaguely incremental.
      
      llvm-svn: 75445
      53a52215
  23. Jul 12, 2009
  24. Jul 11, 2009
  25. Jul 08, 2009
  26. Jun 26, 2009
  27. Jun 25, 2009
  28. May 12, 2009
  29. May 11, 2009
  30. Mar 07, 2009
    • Duncan Sands's avatar
      Introduce new linkage types linkonce_odr, weak_odr, common_odr · 12da8ce3
      Duncan Sands authored
      and extern_weak_odr.  These are the same as the non-odr versions,
      except that they indicate that the global will only be overridden
      by an *equivalent* global.  In C, a function with weak linkage can
      be overridden by a function which behaves completely differently.
      This means that IP passes have to skip weak functions, since any
      deductions made from the function definition might be wrong, since
      the definition could be replaced by something completely different
      at link time.   This is not allowed in C++, thanks to the ODR
      (One-Definition-Rule): if a function is replaced by another at
      link-time, then the new function must be the same as the original
      function.  If a language knows that a function or other global can
      only be overridden by an equivalent global, it can give it the
      weak_odr linkage type, and the optimizers will understand that it
      is alright to make deductions based on the function body.  The
      code generators on the other hand map weak and weak_odr linkage
      to the same thing.
      
      llvm-svn: 66339
      12da8ce3
  31. Feb 07, 2009
  32. Jan 30, 2009
Loading