Skip to content
  1. Dec 23, 2008
    • Sebastian Redl's avatar
      Merge pr-3188.cpp into constructor.cpp. · ccd251b8
      Sebastian Redl authored
      llvm-svn: 61370
      ccd251b8
    • Zhongxing Xu's avatar
      revert r61368. · ae503aee
      Zhongxing Xu authored
      llvm-svn: 61369
      ae503aee
    • Zhongxing Xu's avatar
      Remove dead code. · 1dffb5bd
      Zhongxing Xu authored
      llvm-svn: 61368
      1dffb5bd
    • Chris Lattner's avatar
      Add a setter for CVR qualifiers, patch by Lukasz Janyst! · 68a1b9a1
      Chris Lattner authored
      llvm-svn: 61367
      68a1b9a1
    • Mon P Wang's avatar
      Added shuffle and splat test cases for r61365. · f566eea6
      Mon P Wang authored
      llvm-svn: 61366
      f566eea6
    • Mon P Wang's avatar
      Fixed code generation for v8i16 and v16i8 splats on X86. · ec95070c
      Mon P Wang authored
      Fixed lowering of v8i16 shuffles for v8i16 when we fall back to extract/insert.
      
      llvm-svn: 61365
      ec95070c
    • Ted Kremenek's avatar
      PTH: · 1bd0a550
      Ted Kremenek authored
      - Encode the token length with 2 bytes instead of 4.
      - This reduces the size of the .pth file for Cocoa.h by 12%.
      - This speeds up PTH time (-Eonly) on Cocoa.h by 1.6%.
      
      llvm-svn: 61364
      1bd0a550
    • Ted Kremenek's avatar
      PTH: · 66076a96
      Ted Kremenek authored
      - In PTHLexer::Lex read all of the token data from PTH file before
        constructing the token.  The idea is to enhance locality.
      - Do not use Read8/Read32 in PTHLexer::Lex.  Inline these operations manually.
      - Change PTHManager::ReadIdentifierInfo() to PTHManager::GetIdentifierInfo().
        They are functionally the same except that PTHLexer::Lex() reads the
        persistent id.
      
      These changes result in a 3.3% speedup for PTH on Cocoa.h (-Eonly).
      
      llvm-svn: 61363
      66076a96
    • Dale Johannesen's avatar
      Fix the time regression I introduced in 464.h264ref with · 93b9aa87
      Dale Johannesen authored
      my last patch to this file.
      
      The issue there was that all uses of an IV inside a loop
      are actually references to Base[IV*2], and there was one
      use outside that was the same but LSR didn't see the base
      or the scaling because it didn't recurse into uses outside
      the loop; thus, it used base+IV*scale mode inside the loop
      instead of pulling base out of the loop.  This was extra bad
      because register pressure later forced both base and IV into
      memory.  Doing that recursion, at least enough
      to figure out addressing modes, is a good idea in general;
      the change in AddUsersIfInteresting does this.  However,
      there were side effects....
      
      It is also possible for recursing outside the loop to
      introduce another IV where there was only 1 before (if
      the refs inside are not scaled and the ref outside is).
      I don't think this is a common case, but it's in the testsuite.
      It is right to be very aggressive about getting rid of
      such introduced IVs (CheckForIVReuse and the handling of
      nonzero RewriteFactor in StrengthReduceStridedIVUsers).
      In the testcase in question the new IV produced this way
      has both a nonconstant stride and a nonzero base, neither
      of which was handled before.  And when inserting 
      new code that feeds into a PHI, it's right to put such 
      code at the original location rather than in the PHI's 
      immediate predecessor(s) when the original location is outside 
      the loop (a case that couldn't happen before)
      (RewriteInstructionToUseNewBase); better to avoid making
      multiple copies of it in this case.
      
      Also, the mechanism for keeping SCEV's corresponding to GEP's
      no longer works, as the GEP might change after its SCEV
      is remembered, invalidating the SCEV, and we might get a bad
      SCEV value when looking up the GEP again for a later loop.  
      This also couldn't happen before, as we weren't recursing
      into GEP's outside the loop.
      
      I owe some testcases for this, want to get it in for nightly runs.
      
      llvm-svn: 61362
      93b9aa87
    • Dale Johannesen's avatar
      One more permutation of subtracting off a base value. · d2a46858
      Dale Johannesen authored
      llvm-svn: 61361
      d2a46858
    • Ted Kremenek's avatar
      PTH: · 1b18ad24
      Ted Kremenek authored
      - Embed 'eom' tokens in PTH file.
      - Use embedded 'eom' tokens to not lazily generate them in the PTHLexer.
        This means that PTHLexer can always advance to the next token after
        reading a token (instead of buffering tokens using a copy).
      - Moved logic of 'ReadToken' into Lex.  GetToken & ReadToken no longer exist.
      - These changes result in a 3.3% speedup (-Eonly) on Cocoa.h.
      - The code is a little gross.  Many cleanups are possible and should be done.
      
      llvm-svn: 61360
      1b18ad24
    • Douglas Gregor's avatar
      Add some block-pointer conversions in C++ · 033f56d5
      Douglas Gregor authored
      llvm-svn: 61359
      033f56d5
    • Owen Anderson's avatar
    • Douglas Gregor's avatar
      Don't explicitly represent OverloadedFunctionDecls within · 55297ac4
      Douglas Gregor authored
      DeclContext. Instead, just keep the list of currently-active
      declarations and only build the OverloadedFunctionDecl when we
      absolutely need it.
      
      This is a half-step toward eliminating the need to explicitly build
      OverloadedFunctionDecls that store sets of overloaded
      functions. This was suggested by Argiris a while back, and it's a good
      thing for several reasons: first, it eliminates the messy logic that
      currently tries to keep the OverloadedFunctionDecl in sync with the 
      declarations that are being added. Second, it will (eventually)
      eliminate the need to allocate memory for overload sets, which could
      help performance. Finally, it helps set us up for when name lookup can
      return multiple (possibly ambiguous) results, as can happen with
      lookup of class members in C++.
      
      Next steps: make the IdentifierResolver store overloads as separate
      entries in its list rather than replacing them with an
      OverloadedFunctionDecl now, then see how far we can go toward
      eliminating OverloadedFunctionDecl entirely.
      
      llvm-svn: 61357
      55297ac4
    • Dan Gohman's avatar
      Make the fuse-failed debug output human-readable. · d72358cb
      Dan Gohman authored
      llvm-svn: 61356
      d72358cb
    • Fariborz Jahanian's avatar
      More encoding support; in this case, encoding of · daef00bc
      Fariborz Jahanian authored
      outer-most const of pointer types.
      
      llvm-svn: 61355
      daef00bc
  2. Dec 22, 2008
Loading