- Dec 23, 2008
-
-
Sebastian Redl authored
llvm-svn: 61370
-
Zhongxing Xu authored
llvm-svn: 61369
-
Zhongxing Xu authored
llvm-svn: 61368
-
Chris Lattner authored
llvm-svn: 61367
-
Mon P Wang authored
llvm-svn: 61366
-
Mon P Wang authored
Fixed lowering of v8i16 shuffles for v8i16 when we fall back to extract/insert. llvm-svn: 61365
-
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
-
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
-
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
-
Dale Johannesen authored
llvm-svn: 61361
-
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
-
Douglas Gregor authored
llvm-svn: 61359
-
Owen Anderson authored
llvm-svn: 61358
-
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
-
Dan Gohman authored
llvm-svn: 61356
-
Fariborz Jahanian authored
outer-most const of pointer types. llvm-svn: 61355
-
- Dec 22, 2008
-
-
Bill Wendling authored
llvm-svn: 61354
-
Bill Wendling authored
llvm-svn: 61353
-
Bill Wendling authored
llvm-svn: 61352
-
-
Bill Wendling authored
llvm-svn: 61350
-
Bill Wendling authored
llvm-svn: 61349
-
Sebastian Redl authored
llvm-svn: 61348
-
Bill Wendling authored
truely deleted. These will be expanded with further checks of all of the data structures. llvm-svn: 61347
-
Sebastian Redl authored
llvm-svn: 61346
-
Dan Gohman authored
functions. llvm-svn: 61345
-
Dan Gohman authored
up on a profile. llvm-svn: 61344
-
Dan Gohman authored
reallocations. We don't do cloning on MachineInstr schedule DAGs, but this is a worthwhile sanity check regardless. llvm-svn: 61343
-
Dan Gohman authored
llvm-svn: 61342
-
Dan Gohman authored
comment for the ScheduleDAGSDNodes class. llvm-svn: 61341
-
Douglas Gregor authored
Support conversion from a null pointer constant o any Objective-C object pointer type. Fixes rdar://problem/6463298 llvm-svn: 61340
-
Fariborz Jahanian authored
instance methods by building print-class-info.m, whose output is now identical to what gcc puts out. llvm-svn: 61339
-
Dan Gohman authored
llvm-svn: 61338
-
Sebastian Redl authored
llvm-svn: 61337
-
Fariborz Jahanian authored
property in a category and to issue diagnostics for mismatch method in some other cases. llvm-svn: 61336
-
Sebastian Redl authored
llvm-svn: 61335
-
Anders Carlsson authored
llvm-svn: 61334
-
Zhongxing Xu authored
llvm-svn: 61333
-
Anders Carlsson authored
llvm-svn: 61332
-
Anders Carlsson authored
llvm-svn: 61331
-