| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | handle equality memcmp of 8 bytes on x86-64 with two unaligned loads and a | Chris Lattner | 2009-12-24 | 1 | -19/+55 | |
| | | | | | | | | | compare. On other targets we end up with a call to memcmp because we don't want 16 individual byte loads. We should be able to use movups as well, but we're failing to select the generated icmp. llvm-svn: 92107 | |||||
| * | move an optimization for memcmp out of simplifylibcalls and into | Chris Lattner | 2009-12-24 | 2 | -0/+107 | |
| | | | | | | | | | | SDISel. This optimization was causing simplifylibcalls to introduce type-unsafe nastiness. This is the first step, I'll be expanding the memcmp optimizations shortly, covering things that we really really wouldn't want simplifylibcalls to do. llvm-svn: 92098 | |||||
| * | move a few more symbols to .rodata | Nuno Lopes | 2009-12-23 | 1 | -1/+1 | |
| | | | | | llvm-svn: 92011 | |||||
| * | Use more sensible type for flags in asms. PR 5570. | Dale Johannesen | 2009-12-23 | 2 | -5/+2 | |
| | | | | | | | Patch by Sylve`re Teissier (sorry, ASCII only). llvm-svn: 91988 | |||||
| * | Update objectsize intrinsic and associated dependencies. Fix | Eric Christopher | 2009-12-23 | 1 | -1/+1 | |
| | | | | | | | lowering code and update testcases. llvm-svn: 91979 | |||||
| * | Remove superfluous SDNode ordering. | Bill Wendling | 2009-12-23 | 1 | -48/+16 | |
| | | | | | llvm-svn: 91971 | |||||
| * | Remove node ordering from inline asm nodes. It's not needed. | Bill Wendling | 2009-12-23 | 1 | -16/+0 | |
| | | | | | llvm-svn: 91961 | |||||
| * | Remove node ordering from VA nodes. It's not needed. | Bill Wendling | 2009-12-23 | 1 | -25/+14 | |
| | | | | | llvm-svn: 91958 | |||||
| * | Revert r91949 r91942 and r91936. | Bill Wendling | 2009-12-23 | 1 | -407/+119 | |
| | | | | | llvm-svn: 91953 | |||||
| * | Finish up node ordering in ExpandNode. | Bill Wendling | 2009-12-23 | 1 | -45/+113 | |
| | | | | | llvm-svn: 91949 | |||||
| * | Assign ordering to nodes created in ExpandNode. Only roughly 1/2 of the function | Bill Wendling | 2009-12-22 | 1 | -84/+237 | |
| | | | | | | | is finished. llvm-svn: 91942 | |||||
| * | Assign ordering to SDNodes in PromoteNode. Also fixing a subtle bug where BSWAP | Bill Wendling | 2009-12-22 | 2 | -15/+83 | |
| | | | | | | | was using "Tmp1" in the first getNode call instead of Node->getOperand(0). llvm-svn: 91936 | |||||
| * | Allow 0 as an order number. Don't assign an order to formal arguments. | Bill Wendling | 2009-12-22 | 2 | -21/+11 | |
| | | | | | llvm-svn: 91920 | |||||
| * | Report an error for bad inline assembly, where the value passed for an | Bob Wilson | 2009-12-22 | 1 | -2/+6 | |
| | | | | | | | "indirect" operand is not a pointer. llvm-svn: 91913 | |||||
| * | Add more plumbing. This time in the LowerArguments and "get" functions which | Bill Wendling | 2009-12-22 | 5 | -49/+147 | |
| | | | | | | | | | return partial registers. This affected the back-end lowering code some. Also patch up some places I missed before in the "get" functions. llvm-svn: 91880 | |||||
| * | Add SDNode ordering to inlined asm and VA functions. | Bill Wendling | 2009-12-22 | 1 | -28/+78 | |
| | | | | | llvm-svn: 91876 | |||||
| * | Adding more assignment of ordering to SDNodes. This time in the "call" and | Bill Wendling | 2009-12-22 | 1 | -32/+66 | |
| | | | | | | | generic copy functions. llvm-svn: 91872 | |||||
| * | Add ordering of SDNodes to LowerCallTo. | Bill Wendling | 2009-12-22 | 1 | -19/+44 | |
| | | | | | llvm-svn: 91866 | |||||
| * | Now add ordering to SDNodes created by the massive intrinsic lowering function. | Bill Wendling | 2009-12-22 | 1 | -100/+183 | |
| | | | | | llvm-svn: 91863 | |||||
| * | To make things interesting, I added MORE code to set the ordering of | Bill Wendling | 2009-12-22 | 1 | -32/+387 | |
| | | | | | | | SDNodes. This time in the load/store and limited-precision code. llvm-svn: 91860 | |||||
| * | Add more plumbing to assign ordering to SDNodes. Have the "getValue" method | Bill Wendling | 2009-12-21 | 1 | -59/+133 | |
| | | | | | | | | assign the ordering when called. Combine some of the ordering assignments to keep things simple. llvm-svn: 91857 | |||||
| * | More ordering plumbing. This time for GEP. I need to remember to assign | Bill Wendling | 2009-12-21 | 1 | -4/+32 | |
| | | | | | | | orderings to values returned by getValue(). llvm-svn: 91850 | |||||
| * | Another incremental check-in for assigning ordering to SDNodes. This time for | Bill Wendling | 2009-12-21 | 1 | -25/+75 | |
| | | | | | | | shuffle and insert vector. llvm-svn: 91847 | |||||
| * | Assign ordering to more instructions. Incremental check-in. | Bill Wendling | 2009-12-21 | 1 | -57/+156 | |
| | | | | | llvm-svn: 91846 | |||||
| * | - Add a bit more plumbing assigning an order to SDNodes. | Bill Wendling | 2009-12-21 | 2 | -9/+32 | |
| | | | | | | | - Modify the "dump" method to emit the order of an SDNode. llvm-svn: 91845 | |||||
| * | First wave of plumbing for assigning an ordering to SDNodes. This takes care of | Bill Wendling | 2009-12-21 | 1 | -28/+43 | |
| | | | | | | | a lot of the branching instructions. llvm-svn: 91838 | |||||
| * | Place SDNodeOrdering.h in the directory it's used. | Bill Wendling | 2009-12-21 | 2 | -1/+59 | |
| | | | | | llvm-svn: 91834 | |||||
| * | Use 4-arg getVTList) variant instead of generic one, when possible | Anton Korobeynikov | 2009-12-19 | 1 | -0/+1 | |
| | | | | | llvm-svn: 91744 | |||||
| * | Changes from review: | Bill Wendling | 2009-12-18 | 4 | -143/+67 | |
| | | | | | | | | | | | | - Move DisableScheduling flag into TargetOption.h - Move SDNodeOrdering into its own header file. Give it a minimal interface that doesn't conflate construction with storage. - Move assigning the ordering into the SelectionDAGBuilder. This isn't used yet, so there should be no functional changes. llvm-svn: 91727 | |||||
| * | Increase opportunities to optimize (brcond (srl (and c1), c2)). | Evan Cheng | 2009-12-18 | 1 | -1/+28 | |
| | | | | | llvm-svn: 91717 | |||||
| * | Handle ARM inline asm "w" constraints with 64-bit ("d") registers. | Bob Wilson | 2009-12-18 | 1 | -1/+1 | |
| | | | | | | | | | The change in SelectionDAGBuilder is needed to allow using bitcasts to convert between f64 (the default type for ARM "d" registers) and 64-bit Neon vector types. Radar 7457110. llvm-svn: 91649 | |||||
| * | Introduce EVT::getHalfSizedIntegerVT() for use in ExpandUnalignedStore() in | Ken Dyck | 2009-12-17 | 1 | -6/+3 | |
| | | | | | | | | | | | | | | | LegalizeDAG.cpp. Unlike the code it replaces, which simply decrements the simple type by one, getHalfSizedIntegerVT() searches for the smallest simple integer type that is at least half the size of the type it is called on. This approach has the advantage that it will continue working if a new value type (such as i24) is added to MVT. Also, in preparation for new value types, remove the assertions that non-power-of-2 8-bit-mutiple types are Extended when legalizing extload and truncstore operations. llvm-svn: 91614 | |||||
| * | Fix a comment grammaro. | Bob Wilson | 2009-12-17 | 1 | -2/+2 | |
| | | | | | llvm-svn: 91584 | |||||
| * | Revert this dag combine change: | Evan Cheng | 2009-12-17 | 1 | -13/+0 | |
| | | | | | | | | | Fold (zext (and x, cst)) -> (and (zext x), cst) DAG combiner likes to optimize expression in the other way so this would end up cause an infinite looping. llvm-svn: 91574 | |||||
| * | Reapply r91392, it was only unmasking the bug, and since TOT is still broken ↵ | Daniel Dunbar | 2009-12-16 | 3 | -29/+155 | |
| | | | | | | | having it reverted does no good. llvm-svn: 91560 | |||||
| * | Revert "Initial work on disabling the scheduler. This is a work in progress, and | Daniel Dunbar | 2009-12-16 | 3 | -155/+29 | |
| | | | | | | | | this", this broke llvm-gcc bootstrap for release builds on x86_64-apple-darwin10. llvm-svn: 91533 | |||||
| * | Make 91378 more conservative. | Evan Cheng | 2009-12-15 | 1 | -1/+11 | |
| | | | | | | | | 1. Only perform (zext (shl (zext x), y)) -> (shl (zext x), y) when y is a constant. This makes sure it remove at least one zest. 2. If the shift is a left shift, make sure the original shift cannot shift out bits. llvm-svn: 91399 | |||||
| * | Initial work on disabling the scheduler. This is a work in progress, and this | Bill Wendling | 2009-12-15 | 3 | -29/+155 | |
| | | | | | | | | | | | | | | | | stuff isn't used just yet. We want to model the GCC `-fno-schedule-insns' and `-fno-schedule-insns2' flags. The hypothesis is that the people who use these flags know what they are doing, and have hand-optimized the C code to reduce latencies and other conflicts. The idea behind our scheme to turn off scheduling is to create a map "on the side" during DAG generation. It will order the nodes by how they appeared in the code. This map is then used during scheduling to get the ordering. llvm-svn: 91392 | |||||
| * | Fold (zext (and x, cst)) -> (and (zext x), cst). | Evan Cheng | 2009-12-15 | 1 | -0/+13 | |
| | | | | | llvm-svn: 91380 | |||||
| * | Propagate zest through logical shift. | Evan Cheng | 2009-12-15 | 1 | -0/+10 | |
| | | | | | llvm-svn: 91378 | |||||
| * | Fix integer cast code to handle vector types. | Dan Gohman | 2009-12-14 | 2 | -20/+45 | |
| | | | | | llvm-svn: 91362 | |||||
| * | Fix this to properly clear the FastISel debug location. Thanks to | Dan Gohman | 2009-12-14 | 1 | -1/+1 | |
| | | | | | | | Bill for spotting this! llvm-svn: 91355 | |||||
| * | Fix weird typo which leads to unallocated memory access for nodes with 4 ↵ | Anton Korobeynikov | 2009-12-13 | 1 | -1/+1 | |
| | | | | | | | results. llvm-svn: 91233 | |||||
| * | Delete an unnecessary line. The VTSDNode on a SIGN_EXTEND_REG is never | Dan Gohman | 2009-12-11 | 1 | -1/+0 | |
| | | | | | | | a vector type. llvm-svn: 91181 | |||||
| * | Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG. | Dan Gohman | 2009-12-11 | 7 | -32/+84 | |
| | | | | | llvm-svn: 91158 | |||||
| * | Fix the result type of SELECT nodes lowered from Select instructions with | Dan Gohman | 2009-12-11 | 1 | -1/+1 | |
| | | | | | | | aggregate return values. This fixes PR5754. llvm-svn: 91145 | |||||
| * | Teach InferPtrAlignment to infer GV+cst alignment and use it to simplify x86 ↵ | Evan Cheng | 2009-12-09 | 1 | -0/+6 | |
| | | | | | | | isl lowering code. llvm-svn: 90925 | |||||
| * | Move isConsecutiveLoad to SelectionDAG. It's not target dependent and it's ↵ | Evan Cheng | 2009-12-09 | 3 | -44/+44 | |
| | | | | | | | primary used by selectdag passes. llvm-svn: 90922 | |||||
| * | Infer alignment for non-fixed stack object. | Evan Cheng | 2009-12-09 | 1 | -3/+4 | |
| | | | | | llvm-svn: 90919 | |||||
| * | Add const qualifier. | Evan Cheng | 2009-12-09 | 1 | -1/+1 | |
| | | | | | llvm-svn: 90918 | |||||

