Skip to content
  1. Dec 29, 2013
  2. Dec 28, 2013
  3. Dec 27, 2013
    • Nico Weber's avatar
      Strip dead code when linking by default with BFD ld (linux, ...) and ld64 (os x). · 47ba8fa7
      Nico Weber authored
      This reduces the size of clang-format from 22 MB to 1.8 MB, diagtool goes from
      21 MB to 2.8 MB, libclang.so goes from 29 MB to 20 MB, etc.  The size of the
      bin/ folder shrinks from 270 MB to 200 MB.
      
      Targets that support plugins and don't already use EXPORTED_SYMBOL_FILE
      (which libclang and libLTO already do) can set NO_DEAD_STRIP to opt out.
      
      llvm-svn: 198087
      47ba8fa7
    • Andrea Di Biagio's avatar
      Teach DAGCombiner how to fold a SIGN_EXTEND_INREG of a BUILD_VECTOR of · 46dcddb3
      Andrea Di Biagio authored
      ConstantSDNodes (or UNDEFs) into a simple BUILD_VECTOR.
      
      For example, given the following sequence of dag nodes:
      
        i32 C = Constant<1>
        v4i32 V = BUILD_VECTOR C, C, C, C
        v4i32 Result = SIGN_EXTEND_INREG V, ValueType:v4i1
      
      The SIGN_EXTEND_INREG node can be folded into a build_vector since
      the vector in input is a BUILD_VECTOR of constants.
      
      The optimized sequence is:
      
        i32 C = Constant<-1>
        v4i32 Result = BUILD_VECTOR C, C, C, C
      
      llvm-svn: 198084
      46dcddb3
    • David Blaikie's avatar
      DebugInfo: Remove dead code, DICompositeType::addMember(DIDescriptor D) · ac200297
      David Blaikie authored
      It's no longer necessary to lazily add members to the DICompositeType
      member list. Instead any lazy members (special member functions and
      member template instantiations) are added to the parent late based on
      their context link, the same way that nested types have always been
      handled (never being in the member list - just added to the parent DIE
      lazily based on context).
      
      Clang's been updated not to use this function anymore as it improves
      type unit consistency by never emitting lazy members in type units.
      
      llvm-svn: 198079
      ac200297
    • Chandler Carruth's avatar
      Use two variables here rather than reusing (and abusing) one. This is · 87c3a0cf
      Chandler Carruth authored
      much more clear to me. I meant to make this change before committing the
      original patch, but forgot to merge it in. Sorry.
      
      llvm-svn: 198069
      87c3a0cf
    • Chandler Carruth's avatar
      Introduce a simple line-by-line iterator type into the Support library. · f8c5281c
      Chandler Carruth authored
      This is an iterator which you can build around a MemoryBuffer. It will
      iterate through the non-empty, non-comment lines of the buffer as
      a forward iterator. It should be small and reasonably fast (although it
      could be made much faster if anyone cares, I don't really...).
      
      This will be used to more simply support the text-based sample
      profile file format, and is largely based on the original patch by
      Diego. I've re-worked the style of it and separated it from the work of
      producing a MemoryBuffer from a file which both simplifies the interface
      and makes it easier to test.
      
      The style of the API follows the C++ standard naming conventions to fit
      in better with iterators in general, much like the Path and FileSystem
      interfaces follow standard-based naming conventions.
      
      llvm-svn: 198068
      f8c5281c
  4. Dec 26, 2013
  5. Dec 25, 2013
Loading