Skip to content
  1. Jan 08, 2009
    • Ted Kremenek's avatar
      PTH: Hook up getSpelling() caching in PTHLexer. This results in a nice · d5e6e16d
      Ted Kremenek authored
      performance gain. Here's what we see for -Eonly on Cocoa.h (using PTH):
      
      - wall time decreases by 21% (26% speedup overall)
      - system time decreases by 35%
      - user time decreases by 6%
      
      These reductions are due to not paging source files just to get spellings for
      literals. The solution in place doesn't appear to be 100% yet, as we still see
      some of the pages for source files getting mapped in. Using -print-stats, we see
      that SourceManager maps in 7179K less bytes of source text (reduction of 75%).
      Will investigate why the remaining 25% are getting paged in.
      
      With these changes, here's how PTH compares to non-PTH on Cocoa.h:
        -Eonly: PTH takes 64% of the time as non-PTH (54% speedup)
        -fsyntax-only: PTH takes 89% of the time as non-PTH (11% speedup)
      
      llvm-svn: 61913
      d5e6e16d
    • Ted Kremenek's avatar
      PTH: · 884a5584
      Ted Kremenek authored
      - Added stub PTHLexer::getSpelling() that will be used for fetching cached
        spellings from the PTH file.  This doesn't do anything yet.
      - Added a hook in Preprocessor::getSpelling() to call PTHLexer::getSpelling()
        when using a PTHLexer.
      - Updated PTHLexer to read the offsets of spelling tables in the PTH file.
      
      llvm-svn: 61911
      884a5584
    • Fariborz Jahanian's avatar
      Objc's compatibility-alias semantics and code · 17290c36
      Fariborz Jahanian authored
      gen issue fix.
      
      llvm-svn: 61901
      17290c36
  2. Jan 07, 2009
  3. Jan 06, 2009
  4. Jan 05, 2009
    • Daniel Dunbar's avatar
      Remainder is only valid on integer vector operands. · 0d2bfec5
      Daniel Dunbar authored
      Improve ext vector test case.
      
      llvm-svn: 61766
      0d2bfec5
    • Daniel Dunbar's avatar
      Back out code for handling VectorType's in getFloatingRank. · 8f8e40a3
      Daniel Dunbar authored
      llvm-svn: 61764
      8f8e40a3
    • Daniel Dunbar's avatar
      Use CheckVectorOperands when % is applied to a vector type. · 060d5e24
      Daniel Dunbar authored
      llvm-svn: 61763
      060d5e24
    • Daniel Dunbar's avatar
      Implement getFloatingRank() for extended vectors. · a1f3441d
      Daniel Dunbar authored
       - I'm not sure this is appropriate, but it seems reasonable to be
         able to call getFloatingRank on anything which isFloatingType().
      
      llvm-svn: 61758
      a1f3441d
    • Sebastian Redl's avatar
      Silence a GCC warning · 1654ef01
      Sebastian Redl authored
      llvm-svn: 61747
      1654ef01
    • Sebastian Redl's avatar
      PODness and Type Traits · baad4e76
      Sebastian Redl authored
      Make C++ classes track the POD property (C++ [class]p4)
      Track the existence of a copy assignment operator.
      Implicitly declare the copy assignment operator if none is provided.
      Implement most of the parsing job for the G++ type traits extension.
      Fully implement the low-hanging fruit of the type traits:
      __is_pod: Whether a type is a POD.
      __is_class: Whether a type is a (non-union) class.
      __is_union: Whether a type is a union.
      __is_enum: Whether a type is an enum.
      __is_polymorphic: Whether a type is polymorphic (C++ [class.virtual]p1).
      
      llvm-svn: 61746
      baad4e76
    • Douglas Gregor's avatar
      Introduce support for "transparent" DeclContexts, which are · 07665a69
      Douglas Gregor authored
      DeclContexts whose members are visible from enclosing DeclContexts up
      to (and including) the innermost enclosing non-transparent
      DeclContexts. Transparent DeclContexts unify the mechanism to be used
      for various language features, including C enumerations, anonymous
      unions, C++0x inline namespaces, and C++ linkage
      specifications. Please refer to the documentation in the Clang
      internals manual for more information.
      
      Only enumerations and linkage specifications currently use transparent
      DeclContexts.
      
      Still to do: use transparent DeclContexts to implement anonymous
      unions and GCC's anonymous structs extension, and, later, the C++0x
      features. We also need to tighten up the DeclContext/ScopedDecl link
      to ensure that every ScopedDecl is in a single DeclContext, which
      will ensure that we can then enforce ownership and reduce the memory
      footprint of DeclContext.
      
      llvm-svn: 61735
      07665a69
    • Chris Lattner's avatar
      simplify Preprocessor::getSpelling now that identifiers carry around · 07ebf302
      Chris Lattner authored
      their length.
      
      llvm-svn: 61734
      07ebf302
Loading