Skip to content
  1. Jul 24, 2009
  2. Jul 22, 2009
  3. Jul 21, 2009
  4. Jul 20, 2009
  5. Jul 17, 2009
    • Chris Lattner's avatar
      Untangle a snarl that I discovered when updating the mangler, · e79b2bc0
      Chris Lattner authored
      starting in getCurrentFunctionEHName.  Among other problems,
      we would try to privative a "foo.eh" label, but end up emitting
      the label as _Lfoo.eh instead of L_foo.eh on darwin.  This is really
      bad, and the linker has always tolerated these labels existing.
      For now, just emit them as _foo.eh.
      
      This patch also fixes problems with ".eh" labels on unnamed
      functions and eliminates two strangely defined TargetAsmInfo
      hooks.
      
      llvm-svn: 76231
      e79b2bc0
  6. Jul 15, 2009
  7. Jul 14, 2009
    • Chris Lattner's avatar
      Reapply my previous asmprinter changes now with more testing and two · 8c9a96b9
      Chris Lattner authored
      additional bug fixes:
      
      1. The bug that everyone hit was a problem in the asmprinter where it
         would remove $stub but keep the L prefix on a name when emitting the
         indirect symbol.  This is easy to fix by keeping the name of the stub
         and the name of the symbol in a StringMap instead of just keeping a
         StringSet and trying to reconstruct it late.
      
      2. There was a problem printing the personality function.  The current
         logic to print out the personality function from the DWARF information
         is a bit of a cesspool right now that duplicates a bunch of other 
         logic in the asm printer.  The short version of it is that it depends
         on emitting both the L and _ prefix for symbols (at least on darwin)
         and until I can untangle it, it is best to switch the mangler back to
         emitting both prefixes.
      
      llvm-svn: 75646
      8c9a96b9
    • Torok Edwin's avatar
      llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. · fbcc663c
      Torok Edwin authored
      This adds location info for all llvm_unreachable calls (which is a macro now) in
      !NDEBUG builds.
      In NDEBUG builds location info and the message is off (it only prints
      "UREACHABLE executed").
      
      llvm-svn: 75640
      fbcc663c
    • Daniel Dunbar's avatar
      Revert r7561{9,8,7,6}, which depend on r75610. · eb3e4271
      Daniel Dunbar authored
      --- Reverse-merging r75619 into '.':
      U    lib/Target/DarwinTargetAsmInfo.cpp
      U    lib/CodeGen/AsmPrinter/AsmPrinter.cpp
      --- Reverse-merging r75618 into '.':
      U    lib/CodeGen/ELFWriter.cpp
      U    lib/CodeGen/MachOCodeEmitter.cpp
      U    lib/CodeGen/MachOWriter.cpp
      --- Reverse-merging r75617 into '.':
      U    lib/Target/CBackend/CBackend.cpp
      --- Reverse-merging r75616 into '.':
      U    tools/bugpoint/Miscompilation.cpp
      U    tools/lto/LTOCodeGenerator.cpp
      U    tools/lto/LTOModule.cpp
      
      llvm-svn: 75638
      eb3e4271
    • Chris Lattner's avatar
      rename getValueName -> getMangledName. These two files have very · 3af24cc2
      Chris Lattner authored
      dubious looking things that I need to investigate in more detail.
      
      llvm-svn: 75619
      3af24cc2
  8. Jul 11, 2009
    • Torok Edwin's avatar
      assert(0) -> LLVM_UNREACHABLE. · 56d06597
      Torok Edwin authored
      Make llvm_unreachable take an optional string, thus moving the cerr<< out of
      line.
      LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
      NDEBUG builds.
      
      llvm-svn: 75379
      56d06597
  9. Jun 19, 2009
  10. May 09, 2009
  11. Mar 30, 2009
  12. 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
  13. 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
  14. Jan 15, 2009
  15. Jan 12, 2009
  16. Jan 05, 2009
    • Devang Patel's avatar
      · 56a8bb67
      Devang Patel authored
      squash warnings.
      
      llvm-svn: 61707
      56a8bb67
  17. Nov 03, 2008
  18. Oct 08, 2008
  19. Sep 29, 2008
  20. Sep 25, 2008
  21. Sep 10, 2008
    • Dale Johannesen's avatar
      Move the uglier parts of deciding not to emit a · abb1e777
      Dale Johannesen authored
      UsedDirective for some symbols in llvm.used into
      Darwin-specific code.  I've decided LessPrivateGlobal
      is potentially a useful abstraction and left it in
      the target-independent area, with improved comment.
      
      llvm-svn: 56024
      abb1e777
  22. Aug 08, 2008
  23. Aug 07, 2008
  24. Jul 19, 2008
Loading