| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | add patterns to the addi/addis/mulli etc instructions. Define predicates | Chris Lattner | 2005-09-08 | 2 | -16/+52 |
| | | | | | | | for matching signed 16-bit and shifted 16-bit ppc immediates llvm-svn: 23267 | ||||
| * | Add patterns for some new instructions, allowing the use of the ineg fragment. | Chris Lattner | 2005-09-08 | 2 | -10/+10 |
| | | | | | llvm-svn: 23266 | ||||
| * | ignore generated files | Chris Lattner | 2005-09-07 | 3 | -0/+3 |
| | | | | | llvm-svn: 23263 | ||||
| * | Remove some cases handled by the generated portion of the isel | Chris Lattner | 2005-09-07 | 1 | -13/+3 |
| | | | | | llvm-svn: 23262 | ||||
| * | Another round of dag combiner changes. This fixes some missing XOR folds | Nate Begeman | 2005-09-07 | 2 | -17/+48 |
| | | | | | | | as well as fixing how we replace old values with new values. llvm-svn: 23260 | ||||
| * | Fix a bug that Tzu-Chien Chiu noticed: live interval analysis does NOT | Chris Lattner | 2005-09-07 | 1 | -1/+0 |
| | | | | | | | preserve livevar llvm-svn: 23259 | ||||
| * | Implement a common missing fold, (add (add x, c1), c2) -> (add x, c1+c2). | Nate Begeman | 2005-09-07 | 1 | -8/+14 |
| | | | | | | | | This restores all of stanford to being identical with and without the dag combiner with the add folding turned off in sd.cpp. llvm-svn: 23258 | ||||
| * | On non-apple systems, when using -march=ppc32, do not print: | Chris Lattner | 2005-09-07 | 1 | -1/+1 |
| | | | | | | | | | '' is not a recognized processor for this target (ignoring processor) Default to "generic" instead of "" for the default CPU. llvm-svn: 23257 | ||||
| * | Print: | Chris Lattner | 2005-09-07 | 1 | -4/+4 |
| | | | | | | | | | | | '' is not a recognized processor for this target (ignoring processor) instead of: is not a recognized processor for this target (ignoring processor) llvm-svn: 23256 | ||||
| * | Fix a bug nate ran into with replacealluseswith. In the recursive cse case, | Chris Lattner | 2005-09-07 | 1 | -15/+45 |
| | | | | | | | | | we were losing a node, causing an assertion to fail. Now we eagerly delete discovered CSE's, and provide an optional vector to keep track of these discovered equivalences. llvm-svn: 23255 | ||||
| * | Add an option to the DAG Combiner to enable it for beta runs, and turn on | Nate Begeman | 2005-09-07 | 2 | -5/+25 |
| | | | | | | | that option for PowerPC's beta. llvm-svn: 23253 | ||||
| * | Implement i64<->fp using the fctidz/fcfid instructions on PowerPC when we | Nate Begeman | 2005-09-06 | 4 | -13/+69 |
| | | | | | | | | | | are allowed to generate 64-bit-only PowerPC instructions for 32 bit hosts, such as the PowerPC 970. This speeds up 189.lucas from 81.99 to 32.64 seconds. llvm-svn: 23250 | ||||
| * | Fix up the AssertXext problem, as well as adding it at calls | Andrew Lenharth | 2005-09-06 | 2 | -14/+25 |
| | | | | | llvm-svn: 23246 | ||||
| * | Add note about future optimization noted in the ppc compiler writer's guide | Nate Begeman | 2005-09-06 | 1 | -0/+4 |
| | | | | | llvm-svn: 23245 | ||||
| * | Add accessor for 64bit flag, so that we can tell when it is safe to | Nate Begeman | 2005-09-06 | 2 | -1/+3 |
| | | | | | | | generate the fun in-register fp<->long instructions. llvm-svn: 23244 | ||||
| * | Next round of DAGCombiner changes. This version now passes all the tests | Nate Begeman | 2005-09-06 | 1 | -236/+231 |
| | | | | | | | | I have run so far when run before Legalize. It still needs to pick up the SetCC folds, and nodes that use SetCC. llvm-svn: 23243 | ||||
| * | revert part of the last change, should fix regressions | Andrew Lenharth | 2005-09-04 | 2 | -6/+11 |
| | | | | | llvm-svn: 23241 | ||||
| * | explicitly specify an operands list for patterns with inputs (e.g. neg) | Chris Lattner | 2005-09-03 | 1 | -8/+13 |
| | | | | | llvm-svn: 23240 | ||||
| * | include the dag isel fragment | Chris Lattner | 2005-09-03 | 1 | -0/+2 |
| | | | | | llvm-svn: 23239 | ||||
| * | ask for a dag isel | Chris Lattner | 2005-09-03 | 1 | -1/+2 |
| | | | | | llvm-svn: 23238 | ||||
| * | Fix a checking failure in gs | Chris Lattner | 2005-09-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 23235 | ||||
| * | Change the isel to not break out of the big giant switch. Instead, the | Chris Lattner | 2005-09-03 | 1 | -59/+61 |
| | | | | | | | switch should never be exited, so its bottom is now unreachable. llvm-svn: 23234 | ||||
| * | rearrange logical ops to group them together more consistently. | Chris Lattner | 2005-09-03 | 1 | -16/+42 |
| | | | | | | | | | Define the PatFrag class which can be used to define subpatterns to match things with. Define 'not', and use it to define the patterns for andc, nand, etc. llvm-svn: 23233 | ||||
| * | Add AND/OR/XOR | Chris Lattner | 2005-09-02 | 2 | -31/+65 |
| | | | | | llvm-svn: 23232 | ||||
| * | Next round of DAG Combiner changes. Just need to support multiple return | Nate Begeman | 2005-09-02 | 1 | -302/+325 |
| | | | | | | | values, and then we should be able to hook it up. llvm-svn: 23231 | ||||
| * | Add some initial patterns to simple binary instructions, though they | Chris Lattner | 2005-09-02 | 2 | -25/+43 |
| | | | | | | | | | | currently don't do anything. This elides patterns for binary operators that ping on the carry flag, since we don't model it yet. This patch also removes PPC::SUB, because it is dead. llvm-svn: 23230 | ||||
| * | Clean up some code from the last checkin | Chris Lattner | 2005-09-02 | 1 | -24/+12 |
| | | | | | llvm-svn: 23229 | ||||
| * | Fix a bug in legalize where it would emit two calls to libcalls that return | Chris Lattner | 2005-09-02 | 1 | -10/+13 |
| | | | | | | | | | i64 values on targets that need that expanded to 32-bit registers. This fixes PowerPC/2005-09-02-LegalizeDuplicatesCalls.ll and speeds up 189.lucas from taking 122.72s to 81.96s on my desktop. llvm-svn: 23228 | ||||
| * | turn on dag isel by default | Chris Lattner | 2005-09-02 | 1 | -3/+3 |
| | | | | | llvm-svn: 23226 | ||||
| * | Make sure to auto-cse nullary ops | Chris Lattner | 2005-09-02 | 1 | -3/+9 |
| | | | | | llvm-svn: 23224 | ||||
| * | Add help support for -mcpu and -mattr. | Jim Laskey | 2005-09-02 | 3 | -24/+57 |
| | | | | | llvm-svn: 23222 | ||||
| * | Fix some buggy logic where we would try to remove nodes with two operands | Chris Lattner | 2005-09-02 | 1 | -34/+56 |
| | | | | | | | | | | | from the binary ops map, even if they had multiple results. This latent bug caused a few failures with the dag isel last night. To prevent stuff like this from happening in the future, add some really strict checking to make sure that the CSE maps always match up with reality! llvm-svn: 23221 | ||||
| * | Pull out Lowering in preperation for multiple ISels. Oh, and get rid of ↵ | Andrew Lenharth | 2005-09-02 | 3 | -434/+435 |
| | | | | | | | some stuff llvm-svn: 23220 | ||||
| * | Don't create zero sized stack objects even for array allocas with a zero | Chris Lattner | 2005-09-02 | 1 | -1/+2 |
| | | | | | | | number of elements. llvm-svn: 23219 | ||||
| * | Decouple fsqrt from gpul optimizations, implementing fsqrt.ll. | Chris Lattner | 2005-09-02 | 3 | -8/+8 |
| | | | | | | | Remove the -enable-gpopt option which is subsumed by feature flags. llvm-svn: 23218 | ||||
| * | Fix the release build, noticed by Eric van Riet Paap | Chris Lattner | 2005-09-02 | 2 | -2/+2 |
| | | | | | llvm-svn: 23215 | ||||
| * | Fix a problem that Dan Berlin noticed, where reassociation would not succeed | Chris Lattner | 2005-09-02 | 1 | -0/+6 |
| | | | | | | | | | | | | | | | | | | | in building maximal expressions before simplifying them. In particular, i cases like this: X-(A+B+X) the code would consider A+B+X to be a maximal expression (not understanding that the single use '-' would be turned into a + later), simplify it (a noop) then later get simplified again. Each of these simplify steps is where the cost of reassociation comes from, so this patch should speed up the already fast pass a bit. Thanks to Dan for noticing this! llvm-svn: 23214 | ||||
| * | Avoid creating garbage instructions, just move the old add instruction | Chris Lattner | 2005-09-02 | 1 | -9/+11 |
| | | | | | | | to where we need it when converting -(A+B+C) -> -A + -B + -C. llvm-svn: 23213 | ||||
| * | add some assertions and fix problems where reassociate could access the | Chris Lattner | 2005-09-02 | 1 | -2/+11 |
| | | | | | | | Ops vector out of range llvm-svn: 23211 | ||||
| * | Fix VC++ build errors | Jeff Cohen | 2005-09-02 | 1 | -1/+1 |
| | | | | | llvm-svn: 23210 | ||||
| * | Restore this patch now that the latent bug has been fixed | Chris Lattner | 2005-09-02 | 1 | -2/+16 |
| | | | | | llvm-svn: 23209 | ||||
| * | Make sure to legalize assert[zs]ext's operand correctly | Chris Lattner | 2005-09-02 | 1 | -2/+7 |
| | | | | | llvm-svn: 23208 | ||||
| * | Revert the previous patch which causes a mysterious regression in toast. | Chris Lattner | 2005-09-02 | 1 | -16/+2 |
| | | | | | llvm-svn: 23207 | ||||
| * | Teach live intervals to not crash on dead livein regs | Chris Lattner | 2005-09-02 | 2 | -7/+13 |
| | | | | | llvm-svn: 23206 | ||||
| * | For values that are live across basic blocks and need promotion, use ANY_EXTEND | Chris Lattner | 2005-09-02 | 1 | -10/+5 |
| | | | | | | | | | instead of ZERO_EXTEND to eliminate extraneous extensions. This eliminates dead zero extensions on formal arguments and other cases on PPC, implementing the newly tightened up test/Regression/CodeGen/PowerPC/small-arguments.ll test. llvm-svn: 23205 | ||||
| * | legalize ANY_EXTEND appropriately | Chris Lattner | 2005-09-02 | 1 | -6/+26 |
| | | | | | llvm-svn: 23204 | ||||
| * | Add support for ANY_EXTEND and add a few minor folds for it | Chris Lattner | 2005-09-02 | 1 | -1/+11 |
| | | | | | llvm-svn: 23203 | ||||
| * | Handle any_extend like zext | Chris Lattner | 2005-09-02 | 1 | -0/+1 |
| | | | | | llvm-svn: 23202 | ||||
| * | Handle ANY_EXTEND like ZERO_EXTEND. Simplify the extend/truncate code on | Chris Lattner | 2005-09-02 | 1 | -59/+23 |
| | | | | | | | the observation that it only has to handle i1 -> i64 and i64 -> i1. llvm-svn: 23201 | ||||
| * | Implement small-arguments.ll:test3 by teaching the DAG optimizer that | Chris Lattner | 2005-09-01 | 1 | -2/+16 |
| | | | | | | | | the results of calls to functions returning small values are properly sign/zero extended. llvm-svn: 23198 | ||||

