Skip to content
  1. 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
  2. Mar 06, 2009
  3. Mar 04, 2009
  4. Feb 27, 2009
  5. Feb 26, 2009
  6. Feb 25, 2009
  7. Feb 24, 2009
  8. Feb 21, 2009
    • Misha Brukman's avatar
      * Fixed spelling · 0f35659b
      Misha Brukman authored
      * Linters now return their information instead of printing it, to
        enable easier unittesting
      * Added support for finding tabs in files, added to C++ linter
      
      llvm-svn: 65202
      0f35659b
  9. Feb 20, 2009
  10. Feb 19, 2009
  11. Feb 18, 2009
  12. Feb 14, 2009
    • Cedric Venet's avatar
      Unbreak the build on win32. · d1e179d9
      Cedric Venet authored
      Cleanup some warning.
      
      Remark: when struct/class are declared differently than they are defined, this make problem for VC++ since it seems to mangle class differently that struct. These error are very hard to understand and find. So please, try to keep your definition/declaration in sync.
      
      Only tested with VS2008. hope it does not break anything. feel free to revert.
      
      llvm-svn: 64554
      d1e179d9
    • Duncan Sands's avatar
      Generalize some alias analysis logic from atomic · 73247d2e
      Duncan Sands authored
      intrinsics to any IntrWriteArgMem intrinsics.
      
      llvm-svn: 64551
      73247d2e
  13. Feb 12, 2009
  14. Feb 11, 2009
  15. Feb 09, 2009
  16. Feb 07, 2009
  17. Feb 06, 2009
  18. Feb 05, 2009
  19. Feb 04, 2009
  20. Feb 01, 2009
    • Duncan Sands's avatar
      Fix PR3453 and probably a bunch of other potential · 3ed76886
      Duncan Sands authored
      crashes or wrong code with codegen of large integers:
      eliminate the legacy getIntegerVTBitMask and
      getIntegerVTSignBit methods, which returned their
      value as a uint64_t, so couldn't handle huge types.
      
      llvm-svn: 63494
      3ed76886
  21. Jan 30, 2009
  22. Jan 29, 2009
Loading