| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Turn a memcpy from string constant into a series of stores of constant values. | Evan Cheng | 2006-02-15 | 1 | -47/+69 | |
| | | | | | llvm-svn: 26219 | |||||
| * | Should not combine ISD::LOCATIONs until we have scheme to remove from | Jim Laskey | 2006-02-15 | 2 | -36/+2 | |
| | | | | | | | MachineDebugInfo tables. llvm-svn: 26216 | |||||
| * | Lower memcpy with small constant size operand into a series of load / store | Evan Cheng | 2006-02-15 | 1 | -8/+34 | |
| | | | | | | | ops. llvm-svn: 26195 | |||||
| * | Doh again! | Evan Cheng | 2006-02-14 | 1 | -1/+1 | |
| | | | | | llvm-svn: 26188 | |||||
| * | Using wrong DW_FORM. | Jim Laskey | 2006-02-14 | 1 | -1/+1 | |
| | | | | | llvm-svn: 26184 | |||||
| * | Keep to < 80 cols | Evan Cheng | 2006-02-14 | 1 | -6/+6 | |
| | | | | | llvm-svn: 26177 | |||||
| * | Missed a break so memcpy cases fell through to memset. Doh. | Evan Cheng | 2006-02-14 | 1 | -1/+1 | |
| | | | | | llvm-svn: 26176 | |||||
| * | Fixed a build breakage. | Evan Cheng | 2006-02-14 | 1 | -14/+23 | |
| | | | | | llvm-svn: 26175 | |||||
| * | Rename maxStoresPerMemSet to maxStoresPerMemset, etc. | Evan Cheng | 2006-02-14 | 1 | -1/+1 | |
| | | | | | llvm-svn: 26174 | |||||
| * | Expand memset dst, c, size to a series of stores if size falls below the | Evan Cheng | 2006-02-14 | 1 | -4/+127 | |
| | | | | | | | target specific theshold, e.g. 16 for x86. llvm-svn: 26171 | |||||
| * | now that libcalls don't suck, we can remove this hack | Chris Lattner | 2006-02-14 | 1 | -6/+2 | |
| | | | | | llvm-svn: 26164 | |||||
| * | Fix a latent bug in the call sequence handling stuff. Some targets (e.g. x86) | Chris Lattner | 2006-02-14 | 1 | -4/+11 | |
| | | | | | | | create these nodes with flag results. Remember that we legalized them. llvm-svn: 26156 | |||||
| * | Rename to better reflect usage (current and planned.) | Jim Laskey | 2006-02-13 | 2 | -3/+4 | |
| | | | | | llvm-svn: 26145 | |||||
| * | Completely rewrite libcall insertion by the legalizer, providing the | Chris Lattner | 2006-02-13 | 1 | -198/+217 | |
| | | | | | | | | | | | | | | | | | following handy-dandy properties: 1. it is always correct now 2. it is much faster than before 3. it is easier to understand This implementation builds off of the recent simplifications of the legalizer that made it single-pass instead of iterative. This fixes JM/lencod, JM/ldecod, and CodeGen/Generic/2006-02-12-InsertLibcall.ll (at least on PPC). llvm-svn: 26144 | |||||
| * | Reorg for integration with gcc4. Old style debug info will not be passed though | Jim Laskey | 2006-02-11 | 2 | -134/+267 | |
| | | | | | | | to SelIDAG. llvm-svn: 26115 | |||||
| * | Added SelectionDAG::InsertISelMapEntry(). This is used to workaround the gcc | Evan Cheng | 2006-02-09 | 1 | -0/+9 | |
| | | | | | | | | | problem where it inline the map insertion call too aggressively. Before this change it was producing a frame size of 24k for Select_store(), now it's down to 10k (by calling this method rather than calling the map insertion operator). llvm-svn: 26094 | |||||
| * | More changes to reduce frame size. | Evan Cheng | 2006-02-09 | 1 | -0/+243 | |
| | | | | | | | | | | Move all getTargetNode() out of SelectionDAG.h into SelectionDAG.cpp. This prevents them from being inlined. Change getTargetNode() so they return SDNode * instead of SDOperand to prevent copying. It should also help compilation speed. llvm-svn: 26083 | |||||
| * | Adjust to MachineConstantPool interface change: instead of keeping a | Chris Lattner | 2006-02-09 | 2 | -3/+37 | |
| | | | | | | | value/alignment pair for each constant, keep a value/offset pair. llvm-svn: 26078 | |||||
| * | rename fields of constant pool entries | Chris Lattner | 2006-02-09 | 2 | -6/+6 | |
| | | | | | llvm-svn: 26076 | |||||
| * | Simplify code, alignment must be specified now. | Chris Lattner | 2006-02-09 | 1 | -10/+1 | |
| | | | | | llvm-svn: 26074 | |||||
| * | Make MachineConstantPool entries alignments explicit | Chris Lattner | 2006-02-09 | 1 | -2/+12 | |
| | | | | | llvm-svn: 26071 | |||||
| * | Add support for assembler directives that wrap inline asm | Chris Lattner | 2006-02-08 | 1 | -1/+4 | |
| | | | | | llvm-svn: 26065 | |||||
| * | Compile this: | Chris Lattner | 2006-02-08 | 1 | -0/+26 | |
| | | | | | | | | | | | | | | | | xori r6, r2, 1 rlwinm r6, r6, 0, 31, 31 cmpwi cr0, r6, 0 bne cr0, LBB1_3 ; endif to this: rlwinm r6, r2, 0, 31, 31 cmpwi cr0, r6, 0 beq cr0, LBB1_3 ; endif llvm-svn: 26047 | |||||
| * | Add support for modifier characters to operand printers | Chris Lattner | 2006-02-06 | 1 | -2/+21 | |
| | | | | | llvm-svn: 26021 | |||||
| * | Goodbye nasty macro. | Jim Laskey | 2006-02-06 | 1 | -4/+4 | |
| | | | | | llvm-svn: 26019 | |||||
| * | Edit requests from Sabre. | Jim Laskey | 2006-02-06 | 1 | -85/+80 | |
| | | | | | llvm-svn: 26018 | |||||
| * | Changing model for the construction of debug information. | Jim Laskey | 2006-02-06 | 2 | -102/+622 | |
| | | | | | llvm-svn: 26016 | |||||
| * | 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 | |||||
| * | 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 | |||||
| * | * Added SDNode::isOnlyUse(). | Evan Cheng | 2006-02-05 | 1 | -3/+18 | |
| | | | | | | | * Fix hasNUsesOfValue(), it should be const. llvm-svn: 25990 | |||||
| * | make sure that global doubles are aligned to 8 bytes | Chris Lattner | 2006-02-05 | 1 | -5/+10 | |
| | | | | | llvm-svn: 25981 | |||||
| * | Implement the AsmPrinter::getPreferredAlignmentLog method. | Chris Lattner | 2006-02-05 | 1 | -0/+16 | |
| | | | | | llvm-svn: 25978 | |||||
| * | Fix VC++ warning. | Jeff Cohen | 2006-02-04 | 1 | -1/+0 | |
| | | | | | llvm-svn: 25975 | |||||
| * | Get rid of some memory leaks identified by Valgrind | Evan Cheng | 2006-02-04 | 2 | -2/+9 | |
| | | | | | llvm-svn: 25960 | |||||
| * | 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 | |||||
| * | Initial early support for non-register operands, like immediates | Chris Lattner | 2006-02-04 | 1 | -15/+42 | |
| | | | | | llvm-svn: 25952 | |||||
| * | 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 | |||||
| * | Add a framework for eliminating instructions that produces undemanded bits. | Nate Begeman | 2006-02-03 | 1 | -10/+30 | |
| | | | | | llvm-svn: 25945 | |||||
| * | 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 dead fn | Chris Lattner | 2006-02-03 | 1 | -11/+0 | |
| | | | | | llvm-svn: 25935 | |||||
| * | Add common code for reassociating ops in the dag combiner | Nate Begeman | 2006-02-03 | 1 | -50/+55 | |
| | | | | | llvm-svn: 25934 | |||||
| * | Fix VC++ compilation error caused by using a std::map iterator variable to ↵ | Jeff Cohen | 2006-02-03 | 1 | -1/+1 | |
| | | | | | | | | | receive a std::multimap iterator value. For some reason, GCC doesn't have a problem with this. llvm-svn: 25927 | |||||
| * | Remove move copies and dead stuff by not clobbering the result reg of a noop ↵ | Chris Lattner | 2006-02-03 | 1 | -12/+21 | |
| | | | | | | | copy. llvm-svn: 25926 | |||||
| * | Simplify some code | Chris Lattner | 2006-02-03 | 1 | -45/+40 | |
| | | | | | llvm-svn: 25924 | |||||
| * | Add code that checks for noop copies, which triggers when either: | Chris Lattner | 2006-02-03 | 1 | -0/+13 | |
| | | | | | | | | | | | | | 1. a target doesn't know how to fold load/stores into copies, or 2. the spiller rewrites the input to a copy to the same register as the dest instead of to the reloaded reg. This will be moved/improved in the near future, but allows elimination of some ancient x86 hacks. This eliminates 92 copies from SMG2000 on X86 and 163 copies from 252.eon. llvm-svn: 25922 | |||||

