Skip to content
  1. Apr 11, 2009
  2. Mar 30, 2009
  3. Mar 29, 2009
  4. 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
  5. Jan 27, 2009
    • Anton Korobeynikov's avatar
      Treat [1 x i8] zeroinitializer as a C string, placing such stuff into · 70d4c08c
      Anton Korobeynikov authored
      mergeable string section. I don't see any bad impact of such decision
      (rather then placing it into mergeable const section, as it was before),
      but at least Darwin linker won't complain anymore.
      
      The problem in LLVM is that we don't have special type for string constants
      (like gcc does). Even more, we have two separate types: ConstatArray for non-null
      strings and ConstantAggregateZero for null stuff.... It's a bit weird :)
      
      llvm-svn: 63142
      70d4c08c
  6. Jan 26, 2009
  7. Jan 05, 2009
  8. Dec 29, 2008
  9. Dec 24, 2008
  10. Dec 03, 2008
    • Rafael Espindola's avatar
      Fix bug 3140. · cda011b5
      Rafael Espindola authored
      Print a single parameter .file directive if we have an ELF target.
      
      llvm-svn: 60480
      cda011b5
  11. Nov 03, 2008
  12. Sep 29, 2008
  13. Sep 25, 2008
  14. Sep 09, 2008
    • Dale Johannesen's avatar
      Fix logic for not emitting no-dead-strip for some · f0802254
      Dale Johannesen authored
      objects in llvm.used (thanks Anton).  Makes visible
      the magic 'l' prefix for symbols on Darwin which are
      to be passed through the assembler, then removed at
      linktime (previously all references to this had been
      hidden in the ObjC FE code, oh well).
      
      llvm-svn: 55973
      f0802254
  15. Aug 16, 2008
  16. Aug 08, 2008
  17. Aug 07, 2008
  18. Jul 22, 2008
  19. Jul 15, 2008
  20. Jul 09, 2008
Loading