aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add some new instructions to the classifier. With this, we correctly insertChris Lattner2006-03-071-0/+11
| | | | | | | a nop into Freebench/neural, which speeds it up from 136->129s (~5.4%). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26590 91177308-0d34-0410-b5e6-96231b3b80d8
* add some comments that describe what we modelChris Lattner2006-03-071-3/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26588 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a very very simple hazard recognizer for LSU rejects and ctr set/readChris Lattner2006-03-073-2/+292
| | | | | | | flushes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26587 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some formatting, when looking for hazards, prefer target nodes overChris Lattner2006-03-071-7/+15
| | | | | | | things like copyfromreg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26586 91177308-0d34-0410-b5e6-96231b3b80d8
* add a noteChris Lattner2006-03-071-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26585 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep VC++ building.Jeff Cohen2006-03-071-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26584 91177308-0d34-0410-b5e6-96231b3b80d8
* add a noteChris Lattner2006-03-071-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26583 91177308-0d34-0410-b5e6-96231b3b80d8
* - Emit subsections_via_symbols for Darwin.Evan Cheng2006-03-074-20/+41
| | | | | | | - Conditionalize Dwarf debugging output (Darwin only for now). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26582 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable Dwarf debugging info.Evan Cheng2006-03-078-6/+83
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26581 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach the alignment handling code to look through constant expr casts and GEPsChris Lattner2006-03-071-4/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26580 91177308-0d34-0410-b5e6-96231b3b80d8
* new regression testChris Lattner2006-03-061-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26579 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach instcombine to increase the alignment of memset/memcpy/memmove whenChris Lattner2006-03-061-3/+74
| | | | | | | | | | | | | the pointer is known to come from either a global variable, alloca or malloc. This allows us to compile this: P = malloc(28); memset(P, 0, 28); into explicit stores on PPC instead of a memset call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26577 91177308-0d34-0410-b5e6-96231b3b80d8
* update file commentChris Lattner2006-03-061-3/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26573 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some code that doesn't make senseEvan Cheng2006-03-061-12/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26572 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure command line options are parsed before we try to add the LibPathReid Spencer2006-03-061-4/+4
| | | | | | | (-L options) to TheLinker. Problem noticed by Wink Saville. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26571 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove SUnit::Priority1: it is re-calculated on demand as number of liveEvan Cheng2006-03-061-35/+25
| | | | | | | range to be generated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26570 91177308-0d34-0410-b5e6-96231b3b80d8
* Hoist the HazardRecognizer out of the ScheduleDAGList.cpp file to whereChris Lattner2006-03-062-112/+32
| | | | | | | | | targets can implement them. Make the top-down scheduler non-g5-specific. Remove the old testing hazard recognizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26569 91177308-0d34-0410-b5e6-96231b3b80d8
* Hoist the HazardRecognizer out of the ScheduleDAGList.cpp file to whereChris Lattner2006-03-062-6/+57
| | | | | | | targets can implement them. Make the top-down scheduler non-g5-specific. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26568 91177308-0d34-0410-b5e6-96231b3b80d8
* Comment fixesChris Lattner2006-03-051-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26567 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't depend on the C99 copysign function, implement it ourselves.Chris Lattner2006-03-051-7/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26566 91177308-0d34-0410-b5e6-96231b3b80d8
* new testcase I forgot to check in earlierChris Lattner2006-03-051-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26565 91177308-0d34-0410-b5e6-96231b3b80d8
* When a hazard recognizer needs noops to be inserted, do so. This representsChris Lattner2006-03-052-10/+19
| | | | | | | noops as null pointers in the instruction sequence. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26564 91177308-0d34-0410-b5e6-96231b3b80d8
* add an emitnoop methodChris Lattner2006-03-051-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26563 91177308-0d34-0410-b5e6-96231b3b80d8
* implement TII::insertNoopChris Lattner2006-03-053-1/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26562 91177308-0d34-0410-b5e6-96231b3b80d8
* custom lowered nodes are legal tooChris Lattner2006-03-051-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26561 91177308-0d34-0410-b5e6-96231b3b80d8
* add a hook to insert a noopChris Lattner2006-03-051-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26560 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement G5HazardRecognizer as a trivial thing that wants 5 cycles betweenChris Lattner2006-03-051-2/+42
| | | | | | | copyfromreg nodes. Clearly useful! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26559 91177308-0d34-0410-b5e6-96231b3b80d8
* Add basic hazard recognizer support. noop insertion isn't complete yet though.Chris Lattner2006-03-051-15/+104
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26558 91177308-0d34-0410-b5e6-96231b3b80d8
* For transforms the behave differently if main goes away, add an option to ↵Andrew Lenharth2006-03-051-0/+13
| | | | | | prevent bugpoint from removing main git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26557 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix VC++ compilation error.Jeff Cohen2006-03-051-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26554 91177308-0d34-0410-b5e6-96231b3b80d8
* Breathe some life into a comment.Jim Laskey2006-03-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26553 91177308-0d34-0410-b5e6-96231b3b80d8
* Split the list scheduler into top-down and bottom-up pieces. The priorityChris Lattner2006-03-052-43/+185
| | | | | | | | | function of the top-down scheduler are completely bogus currently, and having (future) PPC specific in this file is also wrong, but this is a small incremental step. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26552 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new scheduling type. This is, of course, a hack. Proper factoringChris Lattner2006-03-051-3/+8
| | | | | | | will come later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26551 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the available queue to being inside the ListSchedule method, since itChris Lattner2006-03-051-10/+15
| | | | | | | bounds its lifetime. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26550 91177308-0d34-0410-b5e6-96231b3b80d8
* add a noteChris Lattner2006-03-051-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26549 91177308-0d34-0410-b5e6-96231b3b80d8
* Reinstate this now that the offending opposite xform has been removed.Chris Lattner2006-03-051-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26548 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not fold (add (shl x, c1), (shl c2, c1)) -> (shl (add x, c2), c1),Chris Lattner2006-03-051-18/+0
| | | | | | | we want to canonicalize the other way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26547 91177308-0d34-0410-b5e6-96231b3b80d8
* print arbitrary constant pool entriesChris Lattner2006-03-051-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26545 91177308-0d34-0410-b5e6-96231b3b80d8
* Back out fold (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2) for now.Evan Cheng2006-03-051-7/+0
| | | | | | | It's causing an infinite loop compiling ldecod on x86 / Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26544 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some simple copysign foldsChris Lattner2006-03-052-7/+61
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26543 91177308-0d34-0410-b5e6-96231b3b80d8
* Codegen copysign[f] into a FCOPYSIGN nodeChris Lattner2006-03-053-4/+63
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26542 91177308-0d34-0410-b5e6-96231b3b80d8
* Copysign needs to be expanded everywhere. Note that Alpha and IA64 shouldChris Lattner2006-03-055-0/+16
| | | | | | | implement copysign as a native op if they have it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26541 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a copysign nodeChris Lattner2006-03-051-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26540 91177308-0d34-0410-b5e6-96231b3b80d8
* add a note for something evan noticedChris Lattner2006-03-051-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26539 91177308-0d34-0410-b5e6-96231b3b80d8
* Make vector narrowing more effective, implementingChris Lattner2006-03-051-22/+62
| | | | | | | | Transforms/InstCombine/vec_narrow.ll. This add support for narrowing extract_element(insertelement) also. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26538 91177308-0d34-0410-b5e6-96231b3b80d8
* new testcase for vector narrowing.Chris Lattner2006-03-051-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26537 91177308-0d34-0410-b5e6-96231b3b80d8
* Implemented.Chris Lattner2006-03-041-16/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26536 91177308-0d34-0410-b5e6-96231b3b80d8
* fold (mul (add x, c1), c2) -> (add (mul x, c2), c1*c2)Chris Lattner2006-03-041-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fold (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2) This allows us to compile CodeGen/PowerPC/addi-reassoc.ll into: _test1: slwi r2, r4, 4 add r2, r2, r3 lwz r3, 36(r2) blr _test2: mulli r2, r4, 5 add r2, r2, r3 lbz r2, 11(r2) extsb r3, r2 blr instead of: _test1: addi r2, r4, 2 slwi r2, r2, 4 add r2, r3, r2 lwz r3, 4(r2) blr _test2: addi r2, r4, 2 mulli r2, r2, 5 add r2, r3, r2 lbz r2, 1(r2) extsb r3, r2 blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26535 91177308-0d34-0410-b5e6-96231b3b80d8
* new testcaseChris Lattner2006-03-041-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26534 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a crash compiling ObsequiChris Lattner2006-03-041-5/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26529 91177308-0d34-0410-b5e6-96231b3b80d8