| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Fix PR2369 by making scalarrepl more careful about promoting | Chris Lattner | 2008-06-22 | 1 | -5/+14 | |
| | | | | | | | | | | structures. Its default threshold is to promote things that are smaller than 128 bytes, which is sane. However, it is not sane to do this for things that turn into 128 *registers*. Add a cap on the number of registers introduced, defaulting to 128/4=32. llvm-svn: 52611 | |||||
| * | Make custom lowering of ADD work correctly. This | Duncan Sands | 2008-06-22 | 1 | -3/+3 | |
| | | | | | | | | | | | fixes PR2476; patch by Richard Osborne. The same problem exists for a bunch of other operators, but I'm ignoring this because they will be automagically fixed when the new LegalizeTypes infrastructure lands, since it already solves this problem centrally. llvm-svn: 52610 | |||||
| * | Fix for PR2479: correctly optimize expressions like (a > 13) & (a == | Eli Friedman | 2008-06-21 | 1 | -2/+1 | |
| | | | | | | | | | 15). See also PR1800, which is about the signed case. llvm-svn: 52608 | |||||
| * | Use Instruction::eraseFromParent(). | Dan Gohman | 2008-06-21 | 7 | -13/+13 | |
| | | | | | llvm-svn: 52606 | |||||
| * | Use Function's arg_size() and size() methods. | Dan Gohman | 2008-06-21 | 1 | -2/+2 | |
| | | | | | llvm-svn: 52605 | |||||
| * | Simplify some getNode calls. | Dan Gohman | 2008-06-21 | 1 | -6/+3 | |
| | | | | | llvm-svn: 52604 | |||||
| * | canClobberPhysRegDefs shouldn't called without checking hasPhysRegDefs; | Dan Gohman | 2008-06-21 | 1 | -3/+2 | |
| | | | | | | | check this with an assert. llvm-svn: 52603 | |||||
| * | Avoid creating a redundant zero APInt. | Dan Gohman | 2008-06-21 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52602 | |||||
| * | Use clear() to zero an existing APInt. | Dan Gohman | 2008-06-21 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52601 | |||||
| * | Use back() instead of [size()-1]. | Dan Gohman | 2008-06-21 | 2 | -3/+3 | |
| | | | | | llvm-svn: 52600 | |||||
| * | Use MachineBasicBlock::transferSuccessors. | Dan Gohman | 2008-06-21 | 3 | -21/+7 | |
| | | | | | llvm-svn: 52594 | |||||
| * | Use static_cast instead of reinterpret_cast for casting void*. | Dan Gohman | 2008-06-21 | 2 | -5/+5 | |
| | | | | | llvm-svn: 52592 | |||||
| * | Fix warning when assertions disabled. | Chris Lattner | 2008-06-21 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52590 | |||||
| * | fix warning when assertions disabled. | Chris Lattner | 2008-06-21 | 1 | -2/+1 | |
| | | | | | llvm-svn: 52589 | |||||
| * | fix warning when assertion disabled. | Chris Lattner | 2008-06-21 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52588 | |||||
| * | fix some warnings when assertions are disabled. | Chris Lattner | 2008-06-21 | 3 | -5/+5 | |
| | | | | | llvm-svn: 52587 | |||||
| * | Remove a redundant return. | Dan Gohman | 2008-06-21 | 1 | -2/+0 | |
| | | | | | llvm-svn: 52585 | |||||
| * | Remove ScheduleDAG's SUnitMap altogether. Instead, use SDNode's NodeId | Dan Gohman | 2008-06-21 | 4 | -50/+38 | |
| | | | | | | | | field, which is otherwise unused after instruction selection, as an index into the SUnit array. llvm-svn: 52583 | |||||
| * | Add a priority queue class, which is a wrapper around std::priority_queue | Dan Gohman | 2008-06-21 | 2 | -11/+8 | |
| | | | | | | | | and provides fairly efficient removal of arbitrary elements. Switch ScheduleDAGRRList from std::set to this new priority queue. llvm-svn: 52582 | |||||
| * | Support for load/store of expanded float types. I | Duncan Sands | 2008-06-21 | 3 | -1/+65 | |
| | | | | | | | | don't know if a truncating store is possible here, but added support for it anyway. llvm-svn: 52577 | |||||
| * | Change ScheduleDAG's SUnitMap from DenseMap<SDNode*, vector<SUnit*> > | Dan Gohman | 2008-06-21 | 4 | -34/+46 | |
| | | | | | | | | | to DenseMap<SDNode*, SUnit*>, and adjust the way cloned SUnit nodes are handled so that only the original node needs to be in the map. This speeds up llc on 447.dealII.llvm.bc by about 2%. llvm-svn: 52576 | |||||
| * | Enable PRE. | Evan Cheng | 2008-06-21 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52574 | |||||
| * | Undo spill weight tweak. Need to investigate the performance regressions. | Evan Cheng | 2008-06-21 | 2 | -10/+5 | |
| | | | | | llvm-svn: 52572 | |||||
| * | Simplify some template parameterization. | Dan Gohman | 2008-06-21 | 1 | -19/+12 | |
| | | | | | llvm-svn: 52571 | |||||
| * | Back out Matthijs' DAE patches. It's miscompiling gcc driver. | Evan Cheng | 2008-06-21 | 1 | -518/+367 | |
| | | | | | llvm-svn: 52570 | |||||
| * | Enhanced heuristic to determine the *best* register to spill. Instead of ↵ | Evan Cheng | 2008-06-20 | 1 | -66/+176 | |
| | | | | | | | | | picking the register with the lowest spill weight. Consider (up to) 2 additional registers with spill weights that are close to the lowest spill weight. The one with fewest defs and uses that conflicts with the current interval (weighted by loop depth) is the spill candidate. This is not always a win, but there are much more wins than loses and wins tend to be more noticeable. llvm-svn: 52554 | |||||
| * | Share some code that is common between integer and | Duncan Sands | 2008-06-20 | 6 | -412/+560 | |
| | | | | | | | float expansion (and sometimes vector splitting too). llvm-svn: 52548 | |||||
| * | Rename the operation of turning a float type into an | Duncan Sands | 2008-06-20 | 5 | -77/+76 | |
| | | | | | | | | | | integer of the same type. Before it was "promotion", but this is confusing because it is quite different to promotion of integers. Call it "softening" instead, inspired by "soft float". llvm-svn: 52546 | |||||
| * | Clean up some uses of std::distance, now that we have allnodes_size. | Dan Gohman | 2008-06-20 | 2 | -4/+3 | |
| | | | | | llvm-svn: 52545 | |||||
| * | Clean up a use of std::distance. | Dan Gohman | 2008-06-20 | 1 | -2/+1 | |
| | | | | | llvm-svn: 52544 | |||||
| * | Tidy up some commments and use the getAggregateOperand and | Dan Gohman | 2008-06-20 | 1 | -9/+9 | |
| | | | | | | | getInsertedValueOperand accessors. Thanks Matthijs! llvm-svn: 52543 | |||||
| * | Fix the conditions under which SCCP should examine insertvalue | Dan Gohman | 2008-06-20 | 1 | -1/+18 | |
| | | | | | | | instructions. Thanks to Matthijs Kooijman for pointing this out! llvm-svn: 52542 | |||||
| * | 80 column and trailing whitespace fixes. | Matthijs Kooijman | 2008-06-20 | 1 | -49/+72 | |
| | | | | | llvm-svn: 52539 | |||||
| * | Don't let DeadArgumentElimination attempt to update callers when the return | Matthijs Kooijman | 2008-06-20 | 1 | -9/+12 | |
| | | | | | | | type wasn't changed. llvm-svn: 52538 | |||||
| * | Don't let DeadArgElimination change the return type ({} into void and {T} | Matthijs Kooijman | 2008-06-20 | 1 | -7/+13 | |
| | | | | | | | into T) when no return values are actually dead. llvm-svn: 52537 | |||||
| * | Explicitely track if any arguments or return values were removed in | Matthijs Kooijman | 2008-06-20 | 1 | -1/+10 | |
| | | | | | | | | | DeadArgumentElimination and assert that the function type does not change if nothing was changed. This should catch subtle changes in function type that are not intended. llvm-svn: 52536 | |||||
| * | Remove debug output. | Matthijs Kooijman | 2008-06-20 | 1 | -4/+0 | |
| | | | | | llvm-svn: 52535 | |||||
| * | Recommit r52459, rewriting of the dead argument elimination pass. | Matthijs Kooijman | 2008-06-20 | 1 | -369/+483 | |
| | | | | | | | | | | | | | This is a fixed version that no longer uses multimap::equal_range, which resulted in a pointer invalidation problem. Also, DAE::InspectedFunctions was not really necessary, so it got removed. Lastly, this version no longer applies the extra arg hack on functions who did not have any arguments to start with. llvm-svn: 52532 | |||||
| * | Really disable PRE. | Owen Anderson | 2008-06-20 | 1 | -1/+1 | |
| | | | | | llvm-svn: 52531 | |||||
| * | Fix an error handling redefinition of linkonce functions where the | Chris Lattner | 2008-06-20 | 1 | -18/+14 | |
| | | | | | | | types differ. Patch by Nathan Keynes! llvm-svn: 52527 | |||||
| * | Fix PR2471, which is a bug involving an invalid promotion from a conditional ↵ | Chris Lattner | 2008-06-20 | 1 | -1/+7 | |
| | | | | | | | load. llvm-svn: 52525 | |||||
| * | Add C binding for ExecutionEngine::addGlobalMapping. | Gordon Henriksen | 2008-06-20 | 1 | -0/+5 | |
| | | | | | llvm-svn: 52523 | |||||
| * | Teach ReturnInst lowering about aggregate return values. | Dan Gohman | 2008-06-20 | 1 | -22/+28 | |
| | | | | | llvm-svn: 52522 | |||||
| * | Change around the data structures used to store availability sets, resulting ↵ | Owen Anderson | 2008-06-20 | 1 | -26/+64 | |
| | | | | | | | in a GVN+PRE that is faster that GVN alone was before. llvm-svn: 52521 | |||||
| * | Teach SCCP about insertvalue and extractvalue, and about | Dan Gohman | 2008-06-20 | 1 | -13/+107 | |
| | | | | | | | | propagating constants across aggregate return values when insertvalue and extractvalue are used. llvm-svn: 52520 | |||||
| * | Teach InlineFunction how to differentiate between multiple-value | Dan Gohman | 2008-06-20 | 1 | -2/+10 | |
| | | | | | | | | return statements and aggregate returns so that it handles both correctly. llvm-svn: 52519 | |||||
| * | Disable PRE for now. It seems to be breaking llvm-gcc bootstrapping. | Evan Cheng | 2008-06-20 | 1 | -2/+2 | |
| | | | | | llvm-svn: 52518 | |||||
| * | Fix the index calculations for the extractvalue lowering code. | Dan Gohman | 2008-06-20 | 1 | -2/+2 | |
| | | | | | llvm-svn: 52517 | |||||
| * | Simplify the ComputeLinearIndex logic and fix a few bugs. | Dan Gohman | 2008-06-20 | 1 | -16/+10 | |
| | | | | | llvm-svn: 52516 | |||||
| * | Simplify this code. Thanks Chris! | Dan Gohman | 2008-06-20 | 1 | -3/+2 | |
| | | | | | llvm-svn: 52514 | |||||

