Skip to content
  1. Nov 19, 2013
  2. Nov 17, 2013
  3. Nov 16, 2013
  4. Nov 15, 2013
  5. Nov 14, 2013
  6. Nov 13, 2013
  7. Nov 11, 2013
  8. Nov 10, 2013
  9. Nov 02, 2013
  10. Nov 01, 2013
    • Rafael Espindola's avatar
      Remove linkonce_odr_auto_hide. · 716e7405
      Rafael Espindola authored
      linkonce_odr_auto_hide was in incomplete attempt to implement a way
      for the linker to hide symbols that are known to be available in every
      TU and whose addresses are not relevant for a particular DSO.
      
      It was redundant in that it all its uses are equivalent to
      linkonce_odr+unnamed_addr. Unlike those, it has never been connected
      to clang or llvm's optimizers, so it was effectively dead.
      
      Given that nothing produces it, this patch just nukes it
      (other than the llvm-c enum value).
      
      llvm-svn: 193865
      716e7405
    • David Blaikie's avatar
      DebugInfo: Emit member variable locations as data instead of expressions in blocks · 71d34a2e
      David Blaikie authored
      Drive by space optimization. Also makes the DIEs more regular which
      might speed up DWARF parsing.
      
      llvm-svn: 193835
      71d34a2e
  11. Oct 31, 2013
    • Manman Ren's avatar
      Debug Info: remove duplication of DIEs when a DIE can be shared across CUs. · 4dbdc902
      Manman Ren authored
      We add a map in DwarfDebug to map MDNodes that are shareable across CUs to the
      corresponding DIEs: MDTypeNodeToDieMap. These DIEs can be shared across CUs,
      that is why we keep the maps in DwarfDebug instead of CompileUnit.
      
      We make the assumption that if a DIE is not added to an owner yet, we assume
      it belongs to the current CU. Since DIEs for the type system are added to
      their owners immediately after creation, and other DIEs belong to the current
      CU, the assumption should be true.
      
      A testing case is added to show that we only create a single DIE for a type
      MDNode and we use ref_addr to refer to the type DIE.
      
      We also add a testing case to show ref_addr relocations for non-darwin
      platforms.
      
      llvm-svn: 193779
      4dbdc902
  12. Oct 30, 2013
  13. Oct 29, 2013
    • Manman Ren's avatar
      Debug Info: support for DW_FORM_ref_addr. · ce20d460
      Manman Ren authored
      To support ref_addr, we calculate the section offset of a DIE (i.e. offset
      of a DIE from beginning of the debug info section). The Offset field in DIE
      is currently CU-relative. To calculate the section offset, we add a
      DebugInfoOffset field in CompileUnit to store the offset of a CU from beginning
      of the debug info section. We set the value in DwarfUnits::computeSizeAndOffset
      for each CompileUnit.
      
      A helper function DIE::getCompileUnit is added to return the CU DIE that
      the input DIE belongs to. We also add a map CUDieMap in DwarfDebug to help
      finding the CU for a given CU DIE.
      
      For a cross-referenced DIE, we first find the CU DIE it belongs to with
      getCompileUnit, then we use CUDieMap to get the corresponding CU for the CU DIE.
      Adding the section offset of the CU with the CU-relative offset of a DIE gives
      us the seciton offset of the DIE.
      
      We correctly emit ref_addr with relocation using EmitLabelPlusOffset when
      doesDwarfUseRelocationsAcrossSections is true.
      
      This commit handles the emission of DW_FORM_ref_addr when we have an attribute
      with FORM_ref_addr. A follow-on patch will start using ref_addr when adding a
      DIEEntry. This commit will be tested and verified in the follow-on patch.
      
      Reviewed off-list by Eric, Thanks.
      
      llvm-svn: 193658
      ce20d460
    • Manman Ren's avatar
      Debug Info: instead of calling addToContextOwner which constructs the context · f4c339e0
      Manman Ren authored
      after the DIE creation, we construct the context first.
      
      Ensure that we create the context before we create a type so that we can add
      the newly created type to the parent. Remove last use of addToContextOwner
      now that it's not needed.
      
      We use createAndAddDIE to wrap around "new DIE(". Now all shareable DIEs
      should be added to their parents right after the creation.
      
      Reviewed off-list by Eric, Thanks.
      
      llvm-svn: 193657
      f4c339e0
    • Rafael Espindola's avatar
      Move getSymbol to TargetLoweringObjectFile. · e133ed88
      Rafael Espindola authored
      This allows constructing a Mangler with just a TargetMachine.
      
      llvm-svn: 193630
      e133ed88
    • Rafael Espindola's avatar
      Add a helper getSymbol to AsmPrinter. · 79858aa3
      Rafael Espindola authored
      llvm-svn: 193627
      79858aa3
Loading