- Dec 02, 2008
-
-
Owen Anderson authored
llvm-svn: 60433
-
Dale Johannesen authored
llvm-svn: 60432
-
Dale Johannesen authored
llvm-svn: 60431
-
Chris Lattner authored
llvm-svn: 60429
-
Tilmann Scheller authored
llvm-svn: 60409
-
Chris Lattner authored
straight-forward implementation. This does not require any extra alias analysis queries beyond what we already do for non-local loads. Some programs really really like load PRE. For example, SPASS triggers this ~1000 times, ~300 times in 255.vortex, and ~1500 times on 403.gcc. The biggest limitation to the implementation is that it does not split critical edges. This is a huge killer on many programs and should be addressed after the initial patch is enabled by default. The implementation of this should incidentally speed up rejection of non-local loads because it avoids creating the repl densemap in cases when it won't be used for fully redundant loads. This is currently disabled by default. Before I turn this on, I need to fix a couple of miscompilations in the testsuite, look at compile time performance numbers, and look at perf impact. This is pretty close to ready though. llvm-svn: 60408
-
Nick Lewycky authored
llvm-svn: 60407
-
Mon P Wang authored
llvm-svn: 60406
-
Chris Lattner authored
llvm-svn: 60405
-
Chris Lattner authored
llvm-svn: 60404
-
Bill Wendling authored
llvm-svn: 60403
-
Bill Wendling authored
llvm-svn: 60402
-
Bill Wendling authored
llvm-svn: 60401
-
Chris Lattner authored
llvm-svn: 60400
-
Bill Wendling authored
constant. If X is a constant, then this is folded elsewhere. - Added a note to Target/README.txt to indicate that we'd like to implement this when we're able. llvm-svn: 60399
-
Bill Wendling authored
llvm-svn: 60398
-
Bill Wendling authored
- No need to do a swap on a canonicalized pattern. No functionality change. llvm-svn: 60397
-
Chris Lattner authored
llvm-svn: 60395
-
Owen Anderson authored
llvm-svn: 60394
-
Owen Anderson authored
a new value numbering set after splitting a critical edge. This increases the number of instances of PRE on 403.gcc from ~60 to ~570. llvm-svn: 60393
-
Evan Cheng authored
llvm-svn: 60392
-
Dale Johannesen authored
llvm-svn: 60391
-
Bill Wendling authored
- LowerXADDO lowers [SU]ADDO into an ADD with an implicit EFLAGS define. The EFLAGS are fed into a SETCC node which has the conditional COND_O or COND_C, depending on the type of ADDO requested. - LowerBRCOND now recognizes if it's coming from a SETCC node with COND_O or COND_C set. llvm-svn: 60388
-
Bill Wendling authored
llvm-svn: 60385
-
Bill Wendling authored
llvm-svn: 60383
-
Bill Wendling authored
- Add support for seto, setno, setc, and setnc instructions. llvm-svn: 60382
-
Bill Wendling authored
llvm-svn: 60381
-
- Dec 01, 2008
-
-
Chris Lattner authored
llvm-svn: 60376
-
Dale Johannesen authored
figuring out the base of the IV. This produces better code in the example. (Addresses use (IV) instead of (BASE,IV) - a significant improvement on low-register machines like x86). llvm-svn: 60374
-
Chris Lattner authored
and big endian systems. llvm-svn: 60371
-
Bill Wendling authored
llvm-svn: 60370
-
Bill Wendling authored
llvm-svn: 60369
-
Bill Wendling authored
integer is "minint". llvm-svn: 60366
-
Chris Lattner authored
llvm-svn: 60365
-
Scott Michel authored
- Fix v2[if]64 vector insertion code before IBM files a bug report. - Ensure that zero (0) offsets relative to $sp don't trip an assert (add $sp, 0 gets legalized to $sp alone, tripping an assert) - Shuffle masks passed to SPUISD::SHUFB are now v16i8 or v4i32 llvm-svn: 60358
-
Chris Lattner authored
llvm-svn: 60354
-
Chris Lattner authored
llvm-svn: 60353
-
Chris Lattner authored
damaged approximation. This should fix it on big endian platforms and on 64-bit. llvm-svn: 60352
-
Duncan Sands authored
MERGE_VALUES node with only one operand, so get rid of special code that only existed to handle that possibility. llvm-svn: 60349
-
Duncan Sands authored
ReplaceNodeResults: rather than returning a node which must have the same number of results as the original node (which means mucking around with MERGE_VALUES, and which is also easy to get wrong since SelectionDAG folding may mean you don't get the node you expect), return the results in a vector. llvm-svn: 60348
-