Skip to content
  1. Jul 26, 2009
  2. Jul 25, 2009
    • Chris Lattner's avatar
      this is (unfortunately) several changes mixed together: · 60f3b73e
      Chris Lattner authored
      1. Spell SectionFlags::Writeable as "Writable".
      2. Add predicates for deriving SectionFlags from SectionKinds.
      3. Sink ELF-specific getSectionPrefixForUniqueGlobal impl into
         ELFTargetAsmInfo.
      4. Fix SectionFlagsForGlobal to know that BSS/ThreadBSS has the
         BSS bit set (the real fix for PR4619).
      5. Fix isSuitableForBSS to not put globals with explicit sections
         set in BSS (which was the reason #4 wasn't fixed earlier).
      6. Remove my previous hack for PR4619.
      
      llvm-svn: 77085
      60f3b73e
  3. Jul 22, 2009
  4. Jul 21, 2009
  5. Jul 20, 2009
  6. Jul 19, 2009
  7. Jul 18, 2009
  8. Jul 17, 2009
  9. Jul 16, 2009
  10. Jul 15, 2009
  11. 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 · 688920e5
      Chris Lattner authored
      llvm-svn: 75618
      688920e5
    • Bruno Cardoso Lopes's avatar
      Cleanup the global emission and refactor some code · ffb38f8d
      Bruno Cardoso Lopes authored
      llvm-svn: 75537
      ffb38f8d
  12. 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
  13. Jul 06, 2009
  14. Jul 03, 2009
  15. Jul 02, 2009
  16. Jun 25, 2009
  17. Jun 23, 2009
  18. Jun 22, 2009
  19. Jun 14, 2009
  20. Jun 11, 2009
    • Bruno Cardoso Lopes's avatar
      Support for ELF Visibility · 1656366e
      Bruno Cardoso Lopes authored
      Emission for globals, using the correct data sections
      Function alignment can be computed for each target using TargetELFWriterInfo
      Some small fixes
      
      llvm-svn: 73201
      1656366e
  21. Jun 07, 2009
  22. Jun 06, 2009
  23. Jun 03, 2009
  24. May 09, 2009
  25. 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
  26. Feb 18, 2009
    • Nate Begeman's avatar
      Add support to the JIT for true non-lazy operation. When a call to a function · 18d85e74
      Nate Begeman authored
      that has not been JIT'd yet, the callee is put on a list of pending functions
      to JIT.  The call is directed through a stub, which is updated with the address
      of the function after it has been JIT'd.  A new interface for allocating and
      updating empty stubs is provided.
      
      Add support for removing the ModuleProvider the JIT was created with, which
      would otherwise invalidate the JIT's PassManager, which is initialized with the
      ModuleProvider's Module.
      
      Add support under a new ExecutionEngine flag for emitting the infomration 
      necessary to update Function and GlobalVariable stubs after JITing them, by
      recording the address of the stub and the name of the GlobalValue.  This allows
      code to be copied from one address space to another, where libraries may live
      at different virtual addresses, and have the stubs updated with their new
      correct target addresses.
      
      llvm-svn: 64906
      18d85e74
  27. Jan 15, 2009
  28. Jan 12, 2009
  29. Jan 04, 2009
  30. Dec 10, 2008
Loading