Skip to content
  1. Sep 10, 2013
  2. Sep 09, 2013
    • Bill Wendling's avatar
      Set the encoding to '0' if we don't have an MAB. · 544d1613
      Bill Wendling authored
      llvm-svn: 190354
      544d1613
    • Quentin Colombet's avatar
      [InstCombiner] Expose opportunities to merge subtract and comparison. · 5ab55553
      Quentin Colombet authored
      Several architectures use the same instruction to perform both a comparison and
      a subtract. The instruction selection framework does not allow to consider
      different basic blocks to expose such fusion opportunities.
      
      Therefore, these instructions are “merged” by CSE at MI IR level.
      
      To increase the likelihood of CSE to apply in such situation, we reorder the
      operands of the comparison, when they have the same complexity, so that they
      matches the order of the most frequent subtract.
      E.g.,
      
      icmp A, B
      ...
      sub B, A
      
      <rdar://problem/14514580>
      
      llvm-svn: 190352
      5ab55553
    • Eric Christopher's avatar
      Always add global names. We're adding them in the rest of the code · ba506db4
      Eric Christopher authored
      as well as types.
      
      No functional change as they're not emitted unless the option
      is true anyhow.
      
      llvm-svn: 190346
      ba506db4
    • Eric Christopher's avatar
      Rename for consistency. · 5f93bb92
      Eric Christopher authored
      llvm-svn: 190345
      5f93bb92
    • Eric Christopher's avatar
      Add the gnu pubnames and pubtypes sections to the mc object file · b0e76941
      Eric Christopher authored
      handling.
      
      llvm-svn: 190344
      b0e76941
    • Eric Christopher's avatar
      Add constant defines for gnu pubnames and gnu pubtypes - they're used · add00faa
      Eric Christopher authored
      for the gdb index as the names convey.
      
      llvm-svn: 190343
      add00faa
    • Bill Wendling's avatar
      Call generateCompactUnwindEncodings() right before we need to output the frame information. · 550c76db
      Bill Wendling authored
      There are more than one paths to where the frame information is emitted. Place
      the call to generateCompactUnwindEncodings() into the method which outputs the
      frame information, thus ensuring that the encoding is there for every path. This
      involved threading the MCAsmBackend object through to this method.
      
      <rdar://problem/13623355>
      
      llvm-svn: 190335
      550c76db
    • 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
    • Manman Ren's avatar
      Debug Info: Update isScope to make sure DIType is a scope and · 473c1988
      Manman Ren authored
      TAG_file_type is also a scope.
      
      llvm-svn: 190321
      473c1988
    • Akira Hatanaka's avatar
      [mips] When double precision loads and stores are split into two i32 loads and · 9cf069f6
      Akira Hatanaka authored
      stores, make sure the load or store that accesses the higher half does not have
      an alignment that is larger than the offset from the original address.
      
      llvm-svn: 190318
      9cf069f6
    • Benjamin Kramer's avatar
      [stackprotector] Modernize code with IRBuilder · d93817ff
      Benjamin Kramer authored
      llvm-svn: 190317
      d93817ff
Loading