Skip to content
  1. Aug 08, 2009
    • Bruno Cardoso Lopes's avatar
      ELF improvements: · 72dd2eef
      Bruno Cardoso Lopes authored
      Handle large integers, x86_fp80, ConstantAggregateZero, and two more ConstantExpr:
      GetElementPtr and IntToPtr
      Set SHF_MERGE bit for mergeable strings
      Avoid zero initialized strings to be classified as a bss symbol
      Don't allow common symbols to be classified as STB_WEAK
      Add a constant to be used as a global value offset in data relocations 
      
      llvm-svn: 78476
      72dd2eef
  2. Aug 05, 2009
    • Bruno Cardoso Lopes's avatar
      - Remove custom handling of jumptables by the elf writter (this was · 2b1dc9a7
      Bruno Cardoso Lopes authored
      a dirty hack and isn't need anymore since the last x86 code emitter patch)
      - Add a target-dependent modifier to addend calculation
      - Use R_X86_64_32S relocation for X86::reloc_absolute_word_sext
      - Use getELFSectionFlags whenever possible
      - fix getTextSection to use TLOF and emit the right text section 
      - Handle global emission for static ctors, dtors and Type::PointerTyID
      - Some minor fixes
      
      llvm-svn: 78176
      2b1dc9a7
  3. Aug 02, 2009
  4. Aug 01, 2009
    • Chris Lattner's avatar
      Change SectionKind to be a property that is true of a *section*, it · c9c277ba
      Chris Lattner authored
      should have no state that is specific to particular globals in the
      section.  In this case, it means the removal of the "isWeak" and
      "ExplicitSection" bits.  MCSection uses the new form of SectionKind.
      
      To handle isWeak, I introduced a new SectionInfo class, which is
      SectionKind + isWeak, and it is used by the part of the code generator
      that does classification of a specific global.
      
      The ExplicitSection disappears.  It is moved onto MCSection as a new
      "IsDirective" bit.  Since the Name of a section is either a section
      or directive, it makes sense to keep this bit in MCSection.  Ultimately
      the creator of MCSection should canonicalize (e.g.) .text to whatever
      the actual section is.
      
      llvm-svn: 77803
      c9c277ba
  5. Jul 31, 2009
  6. Jul 29, 2009
  7. Jul 28, 2009
    • Bruno Cardoso Lopes's avatar
      Handle null and file symbol on doInitialization · c6c5dbd5
      Bruno Cardoso Lopes authored
      llvm-svn: 77354
      c6c5dbd5
    • Chris Lattner's avatar
      Rip all of the global variable lowering logic out of TargetAsmInfo. Since · 5e693ed0
      Chris Lattner authored
      it is highly specific to the object file that will be generated in the end,
      this introduces a new TargetLoweringObjectFile interface that is implemented
      for each of ELF/MachO/COFF/Alpha/PIC16 and XCore.
      
      Though still is still a brutal and ugly refactoring, this is a major step
      towards goodness.
      
      This patch also:
      1. fixes a bunch of dangling pointer problems in the PIC16 backend.
      2. disables the TargetLowering copy ctor which PIC16 was accidentally using.
      3. gets us closer to xcore having its own crazy target section flags and
         pic16 not having to shadow sections with its own objects.
      4. fixes wierdness where ELF targets would set CStringSection but not
         CStringSection_.  Factor the code better.
      5. fixes some bugs in string lowering on ELF targets.
      
      llvm-svn: 77294
      5e693ed0
  8. Jul 27, 2009
  9. Jul 26, 2009
  10. 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
  11. Jul 22, 2009
  12. Jul 21, 2009
  13. Jul 20, 2009
  14. Jul 19, 2009
  15. Jul 18, 2009
  16. Jul 17, 2009
  17. Jul 16, 2009
  18. Jul 15, 2009
  19. 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
  20. 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
  21. Jul 06, 2009
  22. Jul 03, 2009
  23. Jul 02, 2009
  24. Jun 25, 2009
  25. Jun 23, 2009
  26. Jun 22, 2009
Loading