Skip to content
  1. Sep 09, 2013
    • Manman Ren's avatar
      Debug Info: Use DIScopeRef for DIType::getContext. · 116868ea
      Manman Ren authored
          
      In DIBuilder, the context field of a TAG_member is updated to use the
      scope reference. Verifier is updated accordingly.
          
      DebugInfoFinder now needs to generate a type identifier map to have
      access to the actual scope. Same applies for BreakpointPrinter.
          
      processModule of DebugInfoFinder is called during initialization phase
      of the verifier to make sure the type identifier map is constructed early
      enough.
          
      We are now able to unique a simple class as demonstrated by the added
      testing case.
      
      llvm-svn: 190334
      116868ea
    • Manman Ren's avatar
      Debug Info: move DIScope::getContext to DwarfDebug. · 33796c5e
      Manman Ren authored
          
      DIScope::getContext is a wrapper function that calls the specific getContext
      method on each subclass. When we switch DIType::getContext to return DIScopeRef
      instead of DIScope, DIScope::getContext can no longer return a DIScope without
      a type identifier map.
          
      DIScope::getContext is only used by DwarfDebug, so we move it to DwarfDebug
      to have easy access to the type identifier map.
      
      llvm-svn: 190330
      33796c5e
    • Bob Wilson's avatar
      Revert patches to add case-range support for PR1255. · e407736a
      Bob Wilson authored
      The work on this project was left in an unfinished and inconsistent state.
      Hopefully someone will eventually get a chance to implement this feature, but
      in the meantime, it is better to put things back the way the were.  I have
      left support in the bitcode reader to handle the case-range bitcode format,
      so that we do not lose bitcode compatibility with the llvm 3.3 release.
      
      This reverts the following commits: 155464, 156374, 156377, 156613, 156704,
      156757, 156804 156808, 156985, 157046, 157112, 157183, 157315, 157384, 157575,
      157576, 157586, 157612, 157810, 157814, 157815, 157880, 157881, 157882, 157884,
      157887, 157901, 158979, 157987, 157989, 158986, 158997, 159076, 159101, 159100,
      159200, 159201, 159207, 159527, 159532, 159540, 159583, 159618, 159658, 159659,
      159660, 159661, 159703, 159704, 160076, 167356, 172025, 186736
      
      llvm-svn: 190328
      e407736a
    • Manman Ren's avatar
      Debug Info: Move isSubprogramContext from DebugInfo to DwarfDebug. · 3eb9dffc
      Manman Ren authored
      This helper function needs the type identifier map when we switch
      DIType::getContext to return DIScopeRef instead of DIScope.
      
      Since isSubprogramContext is used by DwarfDebug only, We move it to DwarfDebug
      to have easy access to the map.
      
      llvm-svn: 190325
      3eb9dffc
    • Manman Ren's avatar
      Debug Info: Rename DITypeRef to DIScopeRef. · 856191b0
      Manman Ren authored
      A reference to a scope is more general than a reference to a type since
      DIType is a subclass of DIScope.
      
      A reference to a type can be either an identifier for the type or
      the DIType itself, while a reference to a scope can be either an
      identifier for the type (when the scope is indeed a type) or the
      DIScope itself. A reference to a type and a reference to a scope
      will be resolved in the same way. The only difference is in the
      verifier when a field is a reference to a type (i.e. the containing
      type field of a DICompositeType) or a field is a reference to a scope
      (i.e. the context field of a DIType).
      
      This is to get ready for switching DIType::getContext to return
      DIScopeRef instead of DIScope.
      
      Tighten up isTypeRef and isScopeRef to make sure the identifier is not
      empty and the MDNode is DIType for TypeRef and DIScope for ScopeRef.
      
      llvm-svn: 190322
      856191b0
    • Benjamin Kramer's avatar
      [stackprotector] Modernize code with IRBuilder · d93817ff
      Benjamin Kramer authored
      llvm-svn: 190317
      d93817ff
    • Joey Gouly's avatar
      [ARMv8] Prevent generation of deprecated IT blocks on ARMv8 in Thumb mode. · a5153cb0
      Joey Gouly authored
      IT blocks can only be one instruction lonf, and can only contain a subset of
      the 16 instructions.
      
      Patch by Artyom Skrobov!
      
      llvm-svn: 190309
      a5153cb0
    • Bill Wendling's avatar
      Generate compact unwind encoding from CFI directives. · 58e2d3d8
      Bill Wendling authored
      We used to generate the compact unwind encoding from the machine
      instructions. However, this had the problem that if the user used `-save-temps'
      or compiled their hand-written `.s' file (with CFI directives), we wouldn't
      generate the compact unwind encoding.
      
      Move the algorithm that generates the compact unwind encoding into the
      MCAsmBackend. This way we can generate the encoding whether the code is from a
      `.ll' or `.s' file.
      
      <rdar://problem/13623355>
      
      llvm-svn: 190290
      58e2d3d8
  2. Sep 07, 2013
  3. Sep 06, 2013
  4. Sep 05, 2013
    • Manman Ren's avatar
      Debug Info: Use identifier to reference DIType in base type field of · 60352032
      Manman Ren authored
      ptr_to_member.
      
      We introduce a new class DITypeRef that represents a reference to a DIType.
      It wraps around a Value*, which can be either an identifier in MDString
      or an actual MDNode. The class has a helper function "resolve" that
      finds the actual MDNode for a given DITypeRef.
      
      We specialize getFieldAs to return a field that is a reference to a
      DIType. To correctly access the base type field of ptr_to_member,
      getClassType now calls getFieldAs<DITypeRef> to return a DITypeRef.
      
      Also add a typedef for DITypeIdentifierMap and a helper
      generateDITypeIdentifierMap in DebugInfo.h. In DwarfDebug.cpp, we keep
      a DITypeIdentifierMap and call generateDITypeIdentifierMap to actually
      populate the map.
      
      Verifier is updated accordingly.
      
      llvm-svn: 190081
      60352032
    • Eric Christopher's avatar
      Move accelerator table defines and constants to Dwarf.h since · cf7289f6
      Eric Christopher authored
      we're proposing it for DWARF5.
      
      No functional change intended.
      
      llvm-svn: 190074
      cf7289f6
    • Eric Christopher's avatar
      Reformat. · b4e2cc49
      Eric Christopher authored
      llvm-svn: 190064
      b4e2cc49
    • Andrew Trick's avatar
      mi-sched: Force bottom up scheduling for generic targets. · ed20075d
      Andrew Trick authored
      Fast register pressure tracking currently only takes effect during
      bottom up scheduling. Forcing this is a bit faster and simpler for
      targets that don't have many scheduling constraints and don't need
      top-down scheduling.
      
      llvm-svn: 190014
      ed20075d
    • Eric Christopher's avatar
      Remove hack ensuring that darwin didn't produce dwarf > 3 for modules · e31e072c
      Eric Christopher authored
      without a limiting factor.
      
      Update all testcases accordingly.
      
      llvm-svn: 190002
      e31e072c
  5. Sep 04, 2013
Loading