| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Back out previous commit, it isn't safe. | Nate Begeman | 2006-02-05 | 1 | -6/+0 |
| | | | | | llvm-svn: 26006 | ||||
| * | fold c1 << (x + c2) into (c1 << c2) << x. fix a warning. | Nate Begeman | 2006-02-05 | 1 | -1/+7 |
| | | | | | llvm-svn: 26005 | ||||
| * | some stuff is done | Chris Lattner | 2006-02-05 | 1 | -4/+0 |
| | | | | | llvm-svn: 26004 | ||||
| * | Turn A % (C << N), where C is 2^k, into A & ((C << N)-1) [urem only]. | Chris Lattner | 2006-02-05 | 1 | -0/+35 |
| | | | | | | | | | Turn A / (C1 << N), where C1 is "1<<C2" into A >> (N+C2) [udiv only]. Tested with: rem.ll:test5, div.ll:test10 llvm-svn: 26003 | ||||
| * | Handle urem by shifted powers of 2. | Nate Begeman | 2006-02-05 | 1 | -4/+15 |
| | | | | | llvm-svn: 26001 | ||||
| * | handle combining A / (B << N) into A >>u (log2(B)+N) when B is a power of 2 | Nate Begeman | 2006-02-05 | 1 | -2/+13 |
| | | | | | llvm-svn: 26000 | ||||
| * | Use SelectRoot() as the entry to any tblgen based isel. | Evan Cheng | 2006-02-05 | 1 | -1/+2 |
| | | | | | llvm-svn: 25998 | ||||
| * | Use SelectRoot() as entry of any tblgen based isel. | Evan Cheng | 2006-02-05 | 4 | -4/+8 |
| | | | | | llvm-svn: 25997 | ||||
| * | Remove the SparcV8 backend. It has been renamed to be the Sparc backend. | Chris Lattner | 2006-02-05 | 19 | -3687/+0 |
| | | | | | llvm-svn: 25992 | ||||
| * | remove V8 reference | Chris Lattner | 2006-02-05 | 1 | -1/+1 |
| | | | | | llvm-svn: 25991 | ||||
| * | * Added SDNode::isOnlyUse(). | Evan Cheng | 2006-02-05 | 1 | -3/+18 |
| | | | | | | | * Fix hasNUsesOfValue(), it should be const. llvm-svn: 25990 | ||||
| * | Rename SPARC V8 target to be the LLVM SPARC target. | Chris Lattner | 2006-02-05 | 20 | -0/+3682 |
| | | | | | llvm-svn: 25985 | ||||
| * | add a note | Chris Lattner | 2006-02-05 | 1 | -0/+11 |
| | | | | | llvm-svn: 25984 | ||||
| * | Re-commit the last bit of change that was backed out. | Evan Cheng | 2006-02-05 | 1 | -13/+2 |
| | | | | | llvm-svn: 25983 | ||||
| * | make sure that global doubles are aligned to 8 bytes | Chris Lattner | 2006-02-05 | 1 | -5/+10 |
| | | | | | llvm-svn: 25981 | ||||
| * | Use getPreferredAlignmentLog. | Chris Lattner | 2006-02-05 | 1 | -1/+1 |
| | | | | | llvm-svn: 25980 | ||||
| * | Use the asmprinter to find out what the preferred alignment of a global is. | Chris Lattner | 2006-02-05 | 1 | -1/+1 |
| | | | | | | | | This patch speeds up 172.mgrid from 31.81s to 11.39s on darwin/ppc. Many many thanks to Nate for tracking down the root cause of the issue. llvm-svn: 25979 | ||||
| * | Implement the AsmPrinter::getPreferredAlignmentLog method. | Chris Lattner | 2006-02-05 | 1 | -0/+16 |
| | | | | | llvm-svn: 25978 | ||||
| * | linkage fix for weak functions | Andrew Lenharth | 2006-02-04 | 1 | -3/+16 |
| | | | | | llvm-svn: 25976 | ||||
| * | Fix VC++ warning. | Jeff Cohen | 2006-02-04 | 1 | -1/+0 |
| | | | | | llvm-svn: 25975 | ||||
| * | Use SCEVExpander::InsertCastOfTo instead of our own code. This reduces | Chris Lattner | 2006-02-04 | 1 | -18/+1 |
| | | | | | | | #LLVM LOC, and auto-cse's cast instructions. llvm-svn: 25974 | ||||
| * | Pull the InsertCastOfTo out of the header, implement CSE'ing of arguments. | Chris Lattner | 2006-02-04 | 1 | -0/+51 |
| | | | | | llvm-svn: 25973 | ||||
| * | Temporarily revert this patch, which probably breaks with the | Chris Lattner | 2006-02-04 | 1 | -7/+13 |
| | | | | | | | tblgen patch reverted. llvm-svn: 25971 | ||||
| * | Value# select instructions, allowing -gcse to remove duplicates | Chris Lattner | 2006-02-04 | 1 | -1/+36 |
| | | | | | llvm-svn: 25969 | ||||
| * | Complex pattern's custom matcher should not call Select() on any operands. | Evan Cheng | 2006-02-04 | 1 | -13/+7 |
| | | | | | | | Select them afterwards if it returns true. llvm-svn: 25968 | ||||
| * | Custom lower VAARG for the case when we are doing vaarg(double). In this | Chris Lattner | 2006-02-04 | 1 | -3/+35 |
| | | | | | | | | case, the double being loaded may not be 8-byte aligned, so we have to use our standard bit_convert game. llvm-svn: 25967 | ||||
| * | Fix a nasty typo that broke functions with big stack frames. | Chris Lattner | 2006-02-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 25966 | ||||
| * | fix a bug in my last checkin | Chris Lattner | 2006-02-04 | 1 | -2/+2 |
| | | | | | llvm-svn: 25965 | ||||
| * | Fix two significant bugs in LSR: | Chris Lattner | 2006-02-04 | 1 | -14/+75 |
| | | | | | | | | | | | 1. When rewriting code in outer loops, sometimes we would insert code into inner loops that is invariant in that loop. 2. Notice that 4*(2+x) is 8+4*x and use that to simplify expressions. This is a performance neutral change. llvm-svn: 25964 | ||||
| * | Remove some stuff that now works | Nate Begeman | 2006-02-04 | 1 | -53/+0 |
| | | | | | llvm-svn: 25963 | ||||
| * | add a note | Chris Lattner | 2006-02-04 | 1 | -0/+1 |
| | | | | | llvm-svn: 25962 | ||||
| * | Two changes: | Chris Lattner | 2006-02-04 | 5 | -17/+24 |
| | | | | | | | | | | | 1. Treat FMOVD as a copy instruction, to help with coallescing in V9 mode 2. When in V9 mode, insert FMOVD instead of FpMOVD instructions, as we don't ever rewrite FpMOVD instructions into FMOVS instructions, thus we just end up with commented out copies! This should fix a bunch of failures in V9 mode on sparc. llvm-svn: 25961 | ||||
| * | Get rid of some memory leaks identified by Valgrind | Evan Cheng | 2006-02-04 | 2 | -2/+9 |
| | | | | | llvm-svn: 25960 | ||||
| * | Let bugpoint work on sparc with v9 instructions enabled. | Chris Lattner | 2006-02-04 | 1 | -0/+6 |
| | | | | | llvm-svn: 25958 | ||||
| * | Fix VC++ warning. | Jeff Cohen | 2006-02-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 25957 | ||||
| * | Add initial support for immediates. This allows us to compile this: | Chris Lattner | 2006-02-04 | 2 | -6/+16 |
| | | | | | | | | | | | | | | | | | | | int %rlwnm(int %A, int %B) { %C = call int asm "rlwnm $0, $1, $2, $3, $4", "=r,r,r,n,n"(int %A, int %B, int 4, int 17) ret int %C } into: _rlwnm: or r2, r3, r3 or r3, r4, r4 rlwnm r2, r2, r3, 4, 17 ;; note the immediates :) or r3, r2, r2 blr llvm-svn: 25955 | ||||
| * | Remove an unnecessary predicate. | Evan Cheng | 2006-02-04 | 1 | -2/+1 |
| | | | | | llvm-svn: 25954 | ||||
| * | Separate FILD and FILD_FLAG, the later is only used for SSE2. It produces a | Evan Cheng | 2006-02-04 | 3 | -8/+15 |
| | | | | | | | flag so it can be flagged to a FST. llvm-svn: 25953 | ||||
| * | Initial early support for non-register operands, like immediates | Chris Lattner | 2006-02-04 | 1 | -15/+42 |
| | | | | | llvm-svn: 25952 | ||||
| * | implementation of some methods for inlineasm | Chris Lattner | 2006-02-04 | 1 | -1/+41 |
| | | | | | llvm-svn: 25951 | ||||
| * | Handle another case exposed on X86. | Chris Lattner | 2006-02-03 | 1 | -0/+4 |
| | | | | | llvm-svn: 25949 | ||||
| * | Fix a nasty problem on two-address machines in the following situation: | Chris Lattner | 2006-02-03 | 1 | -9/+27 |
| | | | | | | | | | | | | | | | | | | | | | | | | | store EAX -> [ss#0] [ss#0] += 1 ... use(EAX) In this case, it is not valid to rewrite this as: store EAX -> [ss#0] EAX += 1 store EAX -> [ss#0] ;;; this would also delete the store above ... use(EAX) ... because EAX is not a dead at that point. Keep track of which registers we are allowed to clobber, and which ones we aren't, and don't clobber the ones we're not supposed to. :) This should resolve the issues on X86 last night. llvm-svn: 25948 | ||||
| * | significantly simplify the VirtRegMap code by pulling the SpillSlotsAvailable | Chris Lattner | 2006-02-03 | 1 | -70/+98 |
| | | | | | | | | | | and PhysRegsAvailable maps out into a new AvailableSpills struct. No functionality change. This paves the way for a bugfix, coming up next. llvm-svn: 25947 | ||||
| * | Implement some feedback from sabre | Nate Begeman | 2006-02-03 | 1 | -5/+5 |
| | | | | | llvm-svn: 25946 | ||||
| * | Add a framework for eliminating instructions that produces undemanded bits. | Nate Begeman | 2006-02-03 | 2 | -11/+87 |
| | | | | | llvm-svn: 25945 | ||||
| * | add a note | Chris Lattner | 2006-02-03 | 1 | -0/+2 |
| | | | | | llvm-svn: 25944 | ||||
| * | another case Nate came up with | Chris Lattner | 2006-02-03 | 1 | -0/+3 |
| | | | | | llvm-svn: 25943 | ||||
| * | add a note | Chris Lattner | 2006-02-03 | 1 | -0/+4 |
| | | | | | llvm-svn: 25942 | ||||
| * | remove some #ifdef'd out code, which should properly be in the dag combiner ↵ | Chris Lattner | 2006-02-03 | 1 | -30/+0 |
| | | | | | | | anyway. llvm-svn: 25941 | ||||
| * | remove an old comment | Chris Lattner | 2006-02-03 | 1 | -3/+2 |
| | | | | | llvm-svn: 25940 | ||||

