summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Missed a check.Evan Cheng2008-06-191-1/+1
| | | | llvm-svn: 52487
* Fix a bug with <8 x i16> shuffle lowering on X86 where parts of the Eli Friedman2008-06-191-2/+0
| | | | | | | | | | shuffle could be skipped. The check is invalid because the loop index i doesn't correspond to the element actually inserted. The correct check is already done a few lines earlier, for whether the element is already in the right spot, so this shouldn't have any effect on the codegen for code that was already correct. llvm-svn: 52486
* Revert my last patch, which was causing regression test failures.Owen Anderson2008-06-191-78/+69
| | | | llvm-svn: 52485
* Coalesce copy from one register class to a sub register class. e.g. ↵Evan Cheng2008-06-192-25/+98
| | | | | | X86::MOV16to16_. llvm-svn: 52480
* Cosmetic changes.Evan Cheng2008-06-191-3/+5
| | | | llvm-svn: 52479
* Unneeded include's.Evan Cheng2008-06-192-2/+0
| | | | llvm-svn: 52478
* Minor spiller tweak to unfavor reload into load/store instructions.Evan Cheng2008-06-191-4/+8
| | | | llvm-svn: 52477
* Insert empty slots into the instruction numbering in live intervals, so that ↵Owen Anderson2008-06-191-69/+78
| | | | | | | | we can more easily add new instructions. llvm-svn: 52475
* Add support for extractvalue and insertvalue instructions in GVN.Owen Anderson2008-06-181-1/+63
| | | | llvm-svn: 52472
* Add local PRE to GVN. This only operates in cases where it would not ↵Owen Anderson2008-06-181-30/+168
| | | | | | | | increase code size, namely when the instantiated expression would only need to be created in one predecessor. llvm-svn: 52471
* Fix the source line debug information for the Windows platform.Argyrios Kyrtzidis2008-06-181-5/+88
| | | | | | | According to DWARF-2 specification, the line information is provided through an offset in the .debug_line section. Replace the label reference that is used with a section offset. llvm-svn: 52468
* Fix the regressions on sext-misc.ll my patch yesterday caused.Chris Lattner2008-06-181-0/+1
| | | | llvm-svn: 52466
* Revert r52459, which was causing an infinite loop or massive slowdown on ↵Owen Anderson2008-06-181-469/+369
| | | | | | | | MultiSource/Applications/SPASS, and possibly others as well. Please reapply once this is fixed. llvm-svn: 52465
* Move SCEVExpander::visitAddExpr out-of-line.Dan Gohman2008-06-181-0/+10
| | | | llvm-svn: 52464
* Move LSR's private isZero function to a public SCEV memberDan Gohman2008-06-183-27/+20
| | | | | | function, and make use of it in several places. llvm-svn: 52463
* Rewrite the DeadArgumentElimination pass, to use a more explicit tracking ofMatthijs Kooijman2008-06-181-369/+469
| | | | | | | | | | | | | dependencies between return values and/or arguments. Also make the handling of arguments and return values the same. The pass now looks properly inside returned structs, but only at the first level (ie, not inside nested structs). Also add a testcase for testing various variations of (multiple) dead rerturn values. llvm-svn: 52459
* Reapply r52397 (make IPConstProp promote returned arguments), but fixed thisMatthijs Kooijman2008-06-181-3/+18
| | | | | | | | time. Sorry for the trouble! This time, also add a testcase, which I should have done in the first place... llvm-svn: 52455
* XOR32rr, etc. are not AsCheapAsMove, but MOV32ri, etc. are.Evan Cheng2008-06-181-4/+3
| | | | llvm-svn: 52454
* Reapply r52396, it was unrelated to the breakage (that was caused by r52397, myMatthijs Kooijman2008-06-181-53/+76
| | | | | | commit after this). llvm-svn: 52453
* Complete support for two-address pass rematerialization. Now *almost* always ↵Evan Cheng2008-06-181-49/+128
| | | | | | a win. llvm-svn: 52452
* Cosmetic.Evan Cheng2008-06-181-1/+1
| | | | llvm-svn: 52450
* implement some simple bswap optimizations, rdar://5992453Chris Lattner2008-06-181-122/+168
| | | | llvm-svn: 52442
* make truncate/sext elimination capable of changing phi's. This Chris Lattner2008-06-181-5/+35
| | | | | | implements rdar://6013816 and the testcase in Transforms/InstCombine/sext-misc.ll. llvm-svn: 52440
* Unbreak DECLARE isel in pic mode.Evan Cheng2008-06-181-3/+7
| | | | llvm-svn: 52439
* Preserve dominance frontier while trivially unswitching loop.Devang Patel2008-06-181-0/+17
| | | | llvm-svn: 52438
* Auto-upgrade code for multiple-value return statements. This codeDan Gohman2008-06-171-0/+24
| | | | | | isn't actually called yet. llvm-svn: 52435
* In InsertValueInst's copy ctor, actually copy the operands.Dan Gohman2008-06-171-0/+2
| | | | llvm-svn: 52434
* We don't want to find dependencies within the same block in this case. It ↵Owen Anderson2008-06-171-1/+1
| | | | | | | | leads to incorrect results because we're detecting something at or after the call we're querying on. llvm-svn: 52433
* Implement the ExtractValueInst::getIndexedType that accepts oneDan Gohman2008-06-171-0/+6
| | | | | | index value. llvm-svn: 52432
* Live-through live interval is [mbb start, mbb end+1].Evan Cheng2008-06-171-1/+1
| | | | llvm-svn: 52431
* When extending a liveinterval by commuting, don't throw away the live ranges ↵Evan Cheng2008-06-171-2/+13
| | | | | | that are not affected. llvm-svn: 52430
* Consistently set "Buckets[NumBuckets] = reinterpret_cast<void*>(-1)" ↵Ted Kremenek2008-06-171-1/+1
| | | | | | throughout FoldingSet.cpp. llvm-svn: 52425
* Add an insertBefore method for attaching previously unattached instructions,Owen Anderson2008-06-171-0/+6
| | | | | | such as those created by clone(), to a basic block. llvm-svn: 52424
* It's not safe to remove SUBREG_TO_REG that looks like identity copies, e.g. ↵Evan Cheng2008-06-171-11/+6
| | | | | | movl %eax, %eax on x86-64 actually does a zero-extend. llvm-svn: 52421
* Add one more 'magic' define :)Anton Korobeynikov2008-06-171-1/+2
| | | | llvm-svn: 52420
* Unbreak non-PPC buildsAnton Korobeynikov2008-06-171-4/+5
| | | | llvm-svn: 52419
* Provide generic hooks for icache invalidation. Add PPC implementation.Anton Korobeynikov2008-06-174-29/+11
| | | | | | Patch by Gary Benson! llvm-svn: 52418
* revert recent patch which is causing widespread breakage.Chris Lattner2008-06-171-85/+53
| | | | llvm-svn: 52415
* Don't forget to initialize SymbolSearchingDisabled.Evan Cheng2008-06-171-0/+1
| | | | llvm-svn: 52414
* Fix typo that changed the logic to something wrong.Duncan Sands2008-06-171-1/+1
| | | | | | Spotted by Nick Lewycky. llvm-svn: 52411
* Split type expansion into ExpandInteger and ExpandFloatDuncan Sands2008-06-177-1500/+1611
| | | | | | | | rather than bundling them together. Rename FloatToInt to PromoteFloat (better, if not perfect). Reorganize files by types rather than by operations. llvm-svn: 52408
* Learn IPConstProp to propagate arguments that are directly returned. StrictlyMatthijs Kooijman2008-06-171-2/+11
| | | | | | | | speaking these are not constant values. However, when a function always returns one of its arguments, then from the point of view of each caller the return value is constant (or at least a known value) and can be replaced. llvm-svn: 52397
* Learn IPConstProp to look at individual return values and propagate themMatthijs Kooijman2008-06-171-53/+76
| | | | | | | | | | | individually. Also learn IPConstProp how returning first class aggregates work, in addition to old style multiple return instructions. Modify the return-constants testscase to confirm this behaviour. llvm-svn: 52396
* Use a SmallVector instead of an array, since auto_ptr doesn't handle arraysMatthijs Kooijman2008-06-171-11/+8
| | | | | | properly. llvm-svn: 52390
* add a new -enable-value-prop flag for llcbeta, that enables propagationChris Lattner2008-06-171-12/+132
| | | | | | | | | | | of value info (sign/zero ext info) from one MBB to another. This doesn't handle much right now because of two limitations: 1) only handles zext/sext, not random bit propagation (no assert exists for this) 2) doesn't handle phis. llvm-svn: 52383
* Fix spelling.Duncan Sands2008-06-171-1/+1
| | | | llvm-svn: 52381
* Rather than avoiding to wrap ISD::DECLARE GV operand in X86ISD::Wrapper, ↵Evan Cheng2008-06-172-3/+22
| | | | | | simply handle it at dagisel time with x86 specific isel code. llvm-svn: 52377
* Add a missing ~ (dtor became ctor) which caused crashes on a bunch of stuff.Chris Lattner2008-06-161-2/+5
| | | | llvm-svn: 52374
* Do not issue identity copies.Evan Cheng2008-06-161-13/+22
| | | | llvm-svn: 52373
* Refine the change in r52258 for avoiding use-before-def conditionsDan Gohman2008-06-161-9/+12
| | | | | | | | | when changing the stride of a comparison so that it's slightly more precise, by having it scan the instruction list to determine if there is a use of the condition after the point where the condition will be inserted. llvm-svn: 52371
OpenPOWER on IntegriCloud