summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add instruction patterns and encodings for the x86 bt instructions.Dan Gohman2008-12-234-0/+42
| | | | llvm-svn: 61400
* Update testAnton Korobeynikov2008-12-231-15/+11
| | | | llvm-svn: 61399
* Restore debug printingAnton Korobeynikov2008-12-231-23/+26
| | | | llvm-svn: 61398
* Sometimes APInt syntax is really ugly... :(Anton Korobeynikov2008-12-231-10/+21
| | | | llvm-svn: 61397
* Indent stuff properlyAnton Korobeynikov2008-12-231-25/+25
| | | | llvm-svn: 61396
* Initial checkin of APInt'ififcation of switch loweringAnton Korobeynikov2008-12-232-127/+126
| | | | llvm-svn: 61395
* Sema for fastcall/stdcall stuff. Tests will follow.Anton Korobeynikov2008-12-232-6/+37
| | | | | | Patch by Ilya Okonsky! llvm-svn: 61394
* Fix misguided type selectionDouglas Gregor2008-12-231-1/+1
| | | | llvm-svn: 61393
* Silence unused variable warnings.Devang Patel2008-12-232-0/+7
| | | | llvm-svn: 61392
* Fix typo.Devang Patel2008-12-231-1/+2
| | | | | | Silence unused variable warning. llvm-svn: 61391
* Silience unused warnings.Devang Patel2008-12-232-0/+4
| | | | llvm-svn: 61390
* Clean up the atomic opcodes in SelectionDAG.Dan Gohman2008-12-2310-817/+276
| | | | | | | | | | | | | This removes all the _8, _16, _32, and _64 opcodes and replaces each group with an unsuffixed opcode. The MemoryVT field of the AtomicSDNode is now used to carry the size information. In tablegen, the size-specific opcodes are replaced by size-independent opcodes that utilize the ability to compose them with predicates. This shrinks the per-opcode tables and makes the code that handles atomics much more concise. llvm-svn: 61389
* When determining whether a class type has a const copy constructor, beDouglas Gregor2008-12-231-14/+5
| | | | | | | sure to look at all of the results returned by name lookup. Fixes <rdar://problem/6465262> llvm-svn: 61388
* Last patch, for now, to privde ObjC's encoding of types.Fariborz Jahanian2008-12-232-1/+20
| | | | | | We now pass all gcc's encoding compatibility tests. llvm-svn: 61387
* Don't push OverloadedFunctionDecls onto the chain of declarationsDouglas Gregor2008-12-237-176/+154
| | | | | | | | attached to an identifier. Instead, all overloaded functions will be pushed into scope, and we'll synthesize an OverloadedFunctionDecl on the fly when we need it. llvm-svn: 61386
* add some notes for simplifylibcalls optimizationsChris Lattner2008-12-231-0/+25
| | | | llvm-svn: 61385
* Fix <rdar://problem/6465284> clang ObjC rewriter: objc_super messed up again.Steve Naroff2008-12-232-16/+36
| | | | llvm-svn: 61384
* Lot more encoding work. We are closing the gap toFariborz Jahanian2008-12-232-7/+55
| | | | | | gcc compatibilty in all aspects of encoding now. llvm-svn: 61383
* Remove old PTH token-generation test harness.Ted Kremenek2008-12-231-71/+0
| | | | llvm-svn: 61382
* PTH: Remove some methods and simplify some conditions in PTHLexer::Lex(). ↵Ted Kremenek2008-12-233-63/+32
| | | | | | No big functionality change. llvm-svn: 61381
* Testcase to show we can tie together integers and pointers ofChris Lattner2008-12-231-0/+9
| | | | | | the same size. llvm-svn: 61380
* Tweak --version to include the date and time.Steve Naroff2008-12-231-0/+1
| | | | llvm-svn: 61378
* PTH: Use 3 bytes instead of 4 bytes to encode the persistent ID for a token.Ted Kremenek2008-12-232-10/+16
| | | | | | | - This reduces the PTH size for Cocoa.h by 7%. - The increases PTH -Eonly speed for Cocoa.h by 0.8%. llvm-svn: 61377
* Rename BuildSchedUnits to BuildSchedGraph, and refactor theDan Gohman2008-12-239-22/+37
| | | | | | code in ScheduleDAGSDNodes' BuildSchedGraph into separate functions. llvm-svn: 61376
* Cosmetics: rename a variable and tighten spacing. No functionality change.Ted Kremenek2008-12-231-4/+2
| | | | llvm-svn: 61375
* Comment MO_FPImmediate and doxygenate surrounding comments.Dan Gohman2008-12-231-9/+9
| | | | llvm-svn: 61374
* Use isTerminator() instead of isBranch()||isReturn() inDan Gohman2008-12-233-5/+4
| | | | | | | | several places. isTerminator() returns true for a superset of cases, and includes things like FP_REG_KILL, which are nither return or branch but aren't safe to move/remat/etc. llvm-svn: 61373
* Avoid an unnecessary call to allnodes_size(), which is linear.Dan Gohman2008-12-231-8/+11
| | | | llvm-svn: 61372
* Minor code simplifications.Dan Gohman2008-12-231-6/+6
| | | | llvm-svn: 61371
* Merge pr-3188.cpp into constructor.cpp.Sebastian Redl2008-12-232-3/+10
| | | | llvm-svn: 61370
* revert r61368.Zhongxing Xu2008-12-231-1/+1
| | | | llvm-svn: 61369
* Remove dead code.Zhongxing Xu2008-12-231-1/+1
| | | | llvm-svn: 61368
* Add a setter for CVR qualifiers, patch by Lukasz Janyst!Chris Lattner2008-12-231-0/+1
| | | | llvm-svn: 61367
* Added shuffle and splat test cases for r61365.Mon P Wang2008-12-233-0/+192
| | | | llvm-svn: 61366
* Fixed code generation for v8i16 and v16i8 splats on X86.Mon P Wang2008-12-231-3/+33
| | | | | | Fixed lowering of v8i16 shuffles for v8i16 when we fall back to extract/insert. llvm-svn: 61365
* PTH:Ted Kremenek2008-12-232-6/+10
| | | | | | | | - 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
* PTH:Ted Kremenek2008-12-232-32/+41
| | | | | | | | | | | | | - 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
* Fix the time regression I introduced in 464.h264ref withDale Johannesen2008-12-231-41/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* One more permutation of subtracting off a base value.Dale Johannesen2008-12-232-0/+20
| | | | llvm-svn: 61361
* PTH:Ted Kremenek2008-12-234-137/+144
| | | | | | | | | | | | - 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
* Add some block-pointer conversions in C++Douglas Gregor2008-12-233-11/+50
| | | | llvm-svn: 61359
* Don't forget to remove phi nodes from the value numbering table after we ↵Owen Anderson2008-12-231-0/+2
| | | | | | collapse them. llvm-svn: 61358
* Don't explicitly represent OverloadedFunctionDecls withinDouglas Gregor2008-12-2311-275/+267
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Make the fuse-failed debug output human-readable.Dan Gohman2008-12-231-1/+1
| | | | llvm-svn: 61356
* More encoding support; in this case, encoding ofFariborz Jahanian2008-12-223-4/+16
| | | | | | outer-most const of pointer types. llvm-svn: 61355
* Comment clean-ups. No functionality change.Bill Wendling2008-12-221-5/+3
| | | | llvm-svn: 61354
* Check that the instruction isn't in the value numbering scope.Bill Wendling2008-12-221-6/+22
| | | | llvm-svn: 61353
* Simplification: Negate the operator== method instead of implementing a full ↵Bill Wendling2008-12-221-24/+1
| | | | | | operator!= method. llvm-svn: 61352
* Fix <rdar://problem/6463613> clang ObjC rewriter: assertion failure ↵Steve Naroff2008-12-221-0/+2
| | | | | | rewriting @selector?. llvm-svn: 61351
* Add verification that deleted instruction isn't hiding in the PHI map.Bill Wendling2008-12-221-4/+17
| | | | llvm-svn: 61350
OpenPOWER on IntegriCloud