| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fast isel no longer needs DeadMachineInstrElim to clean up after it. | Dan Gohman | 2010-07-01 | 1 | -12/+8 |
| | | | | | llvm-svn: 107381 | ||||
| * | Teach fast-isel to avoid loading a value from memory when it's already | Dan Gohman | 2010-07-01 | 1 | -0/+24 |
| | | | | | | | | available in a register. This is pretty primitive, but it reduces the number of instructions in common testcases by 4%. llvm-svn: 107380 | ||||
| * | Enable on-demand fast-isel. | Dan Gohman | 2010-07-01 | 3 | -2/+11 |
| | | | | | llvm-svn: 107377 | ||||
| * | Fix X86FastISel's add folding to actually work, and not fall back | Dan Gohman | 2010-07-01 | 1 | -4/+8 |
| | | | | | | | to SelectionDAG. llvm-svn: 107376 | ||||
| * | Add AVX SSE3 replicate and convert instructions | Bruno Cardoso Lopes | 2010-07-01 | 1 | -22/+45 |
| | | | | | llvm-svn: 107375 | ||||
| * | Teach X86FastISel to fold constant offsets and scaled indices in | Dan Gohman | 2010-07-01 | 1 | -14/+23 |
| | | | | | | | the same address. llvm-svn: 107373 | ||||
| * | Reapply r106422, splitting the code for materializing a value out of | Dan Gohman | 2010-07-01 | 2 | -11/+55 |
| | | | | | | | | SelectionDAGBuilder::getValue into a helper function, with fixes to use DenseMaps safely. llvm-svn: 107371 | ||||
| * | Don't use operator[] here, because it's not desirable to insert a default | Dan Gohman | 2010-07-01 | 1 | -2/+5 |
| | | | | | | | value if the search fails. llvm-svn: 107368 | ||||
| * | - Add AVX SSE2 Move doubleword and quadword instructions. | Bruno Cardoso Lopes | 2010-07-01 | 4 | -17/+139 |
| | | | | | | | | | - Add encode bits for VEX_W - All 128-bit SSE 1 & SSE2 instructions that are described in the .td file now have a AVX encoded form already working. llvm-svn: 107365 | ||||
| * | 80-col violation. | Mikhail Glushenkov | 2010-07-01 | 1 | -1/+2 |
| | | | | | llvm-svn: 107361 | ||||
| * | Trailing whitespace. | Mikhail Glushenkov | 2010-07-01 | 1 | -3/+3 |
| | | | | | llvm-svn: 107360 | ||||
| * | Add memory operand folding support to InlineSpiller. | Jakob Stoklund Olesen | 2010-07-01 | 1 | -0/+37 |
| | | | | | llvm-svn: 107355 | ||||
| * | Add support for rematerialization to InlineSpiller. | Jakob Stoklund Olesen | 2010-06-30 | 2 | -33/+130 |
| | | | | | llvm-svn: 107351 | ||||
| * | Use the catch-all selectors we already found when converting them to use the | Bill Wendling | 2010-06-30 | 1 | -16/+23 |
| | | | | | | | | correct catch-all value. This saves having to iterate through all of the selectors in the program again. llvm-svn: 107345 | ||||
| * | lowerinvoke needs to handle aggregate function args like sjlj eh does. | Jim Grosbach | 2010-06-30 | 1 | -4/+4 |
| | | | | | llvm-svn: 107335 | ||||
| * | Handle array and vector typed parameters in sjljehprepare like we do | Jim Grosbach | 2010-06-30 | 1 | -4/+4 |
| | | | | | | | structs. rdar://8145832 llvm-svn: 107332 | ||||
| * | Remove all debug info related named mdnodes. | Devang Patel | 2010-06-30 | 1 | -10/+6 |
| | | | | | llvm-svn: 107323 | ||||
| * | grammar tweak in comment. | Jim Grosbach | 2010-06-30 | 1 | -1/+1 |
| | | | | | llvm-svn: 107321 | ||||
| * | In ScalarEvolution::forgetValue, eliminate any SCEVUnknown | Dan Gohman | 2010-06-30 | 1 | -0/+20 |
| | | | | | | | | | | | | entries associated with the value being erased in the folding set map. These entries used to be harmless, because a SCEVUnknown doesn't store any information about its Value*, so having a new Value allocated at the old Value's address wasn't a problem. But now that ScalarEvolution is storing more information about values, this is no longer safe. llvm-svn: 107316 | ||||
| * | Move MOVD/MODQ code around, creating sections for each of them | Bruno Cardoso Lopes | 2010-06-30 | 1 | -52/+62 |
| | | | | | llvm-svn: 107308 | ||||
| * | Some fool committed without testing (or even building) first. | Jakob Stoklund Olesen | 2010-06-30 | 1 | -2/+2 |
| | | | | | llvm-svn: 107307 | ||||
| * | Add AVX SSE2 mask creation and conditional store instructions | Bruno Cardoso Lopes | 2010-06-30 | 1 | -10/+36 |
| | | | | | llvm-svn: 107306 | ||||
| * | Remember to track spill slot uses in VirtRegMap when inserting loads and stores. | Jakob Stoklund Olesen | 2010-06-30 | 2 | -0/+4 |
| | | | | | | | | | | LocalRewriter::runOnMachineFunction uses this information to mark dead spill slots. This means that InlineSpiller now also works for functions that spill. llvm-svn: 107302 | ||||
| * | Fix a bug introduced in r107211 where instructions with memory operands are ↵ | Bruno Cardoso Lopes | 2010-06-30 | 1 | -91/+78 |
| | | | | | | | declared as commutable llvm-svn: 107300 | ||||
| * | Revert the part of r107257 which introduced new logic for using | Dan Gohman | 2010-06-30 | 1 | -82/+11 |
| | | | | | | | | nsw and nuw flags from IR Instructions. On further consideration, this isn't valid. llvm-svn: 107298 | ||||
| * | Remove an unused variable. The call to getRoot has side-effects, so | Duncan Sands | 2010-06-30 | 1 | -1/+0 |
| | | | | | | | this could break something (but doesn't seem to). llvm-svn: 107295 | ||||
| * | Add AVX SSE2 packed integer extract/insert instructions | Bruno Cardoso Lopes | 2010-06-30 | 1 | -17/+42 |
| | | | | | llvm-svn: 107293 | ||||
| * | Rather than giving SmallPtrSetImpl a member field SmallArray which is magically | Duncan Sands | 2010-06-30 | 1 | -3/+6 |
| | | | | | | | | | | | | | | | | | replaced by a bigger array in SmallPtrSet (by overridding it), instead just use a pointer to the start of the storage, and have SmallPtrSet pass in the value to use. This has the disadvantage that SmallPtrSet becomes bigger by one pointer. It has the advantage that it no longer uses tricky C++ rules, and is clearly correct while I'm not sure the previous version was. This was inspired by g++-4.6 pointing out that SmallPtrSetImpl was writing off the end of SmallArray, which it was. Since SmallArray is replaced with a bigger array in SmallPtrSet, the write was still to valid memory. But it was writing off the end of the declared array type - sounds kind of dubious to me, like it sounded dubious to g++-4.6. Maybe g++-4.6 is wrong and this construct is perfectly valid and correctly compiled by all compilers, but I think it is better to avoid the whole can of worms by avoiding this construct. llvm-svn: 107285 | ||||
| * | use ArgOperand API | Gabor Greif | 2010-06-30 | 1 | -10/+10 |
| | | | | | llvm-svn: 107282 | ||||
| * | use ArgOperand API | Gabor Greif | 2010-06-30 | 1 | -1/+1 |
| | | | | | llvm-svn: 107280 | ||||
| * | use ArgOperand API | Gabor Greif | 2010-06-30 | 1 | -6/+6 |
| | | | | | llvm-svn: 107279 | ||||
| * | use ArgOperand API | Gabor Greif | 2010-06-30 | 1 | -10/+12 |
| | | | | | llvm-svn: 107278 | ||||
| * | use ArgOperand API | Gabor Greif | 2010-06-30 | 1 | -2/+2 |
| | | | | | llvm-svn: 107277 | ||||
| * | use CallSite::arg_end instead of CallInst::op_end | Gabor Greif | 2010-06-30 | 1 | -1/+1 |
| | | | | | llvm-svn: 107276 | ||||
| * | use getArgOperand (corrected by CallInst::ArgOffset) instead of getOperand | Gabor Greif | 2010-06-30 | 1 | -3/+3 |
| | | | | | llvm-svn: 107275 | ||||
| * | use getArgOperand (corrected by CallInst::ArgOffset) instead of getOperand | Gabor Greif | 2010-06-30 | 1 | -1/+2 |
| | | | | | llvm-svn: 107273 | ||||
| * | use getNumArgOperands instead of getNumOperands | Gabor Greif | 2010-06-30 | 1 | -2/+2 |
| | | | | | llvm-svn: 107272 | ||||
| * | use getArgOperand instead of getOperand | Gabor Greif | 2010-06-30 | 1 | -4/+4 |
| | | | | | llvm-svn: 107271 | ||||
| * | use getArgOperand instead of getOperand | Gabor Greif | 2010-06-30 | 1 | -2/+2 |
| | | | | | llvm-svn: 107270 | ||||
| * | use getArgOperand instead of getOperand | Gabor Greif | 2010-06-30 | 1 | -8/+8 |
| | | | | | llvm-svn: 107269 | ||||
| * | Improve ScalarEvolution's nsw and nuw preservation. | Dan Gohman | 2010-06-30 | 1 | -31/+105 |
| | | | | | llvm-svn: 107257 | ||||
| * | When computing a new ConservativeResult, intersect it with | Dan Gohman | 2010-06-30 | 1 | -1/+2 |
| | | | | | | | the old one instead of replacing it, to be more precise. llvm-svn: 107256 | ||||
| * | Rework scev-aa's basic computation so that it doesn't depend | Dan Gohman | 2010-06-30 | 1 | -7/+31 |
| | | | | | | | | | on ScalarEvolution successfully folding and preserving range information for both A-B and B-A. Now, if it gets either one, it's sufficient. llvm-svn: 107249 | ||||
| * | Simplify. | Dan Gohman | 2010-06-30 | 1 | -2/+1 |
| | | | | | llvm-svn: 107248 | ||||
| * | Add AVX SSE2 integer unpack instructions | Bruno Cardoso Lopes | 2010-06-30 | 1 | -10/+57 |
| | | | | | llvm-svn: 107246 | ||||
| * | Add AVX SSE2 packed integer shuffle instructions | Bruno Cardoso Lopes | 2010-06-30 | 1 | -0/+14 |
| | | | | | llvm-svn: 107245 | ||||
| * | Remove trailing whitespace, no functionality changes. | John Mosby | 2010-06-30 | 1 | -19/+18 |
| | | | | | llvm-svn: 107244 | ||||
| * | Small refactoring of SSE2 packed integer shuffle instructions | Bruno Cardoso Lopes | 2010-06-30 | 1 | -45/+26 |
| | | | | | llvm-svn: 107243 | ||||
| * | Add AVX SSE2 pack with saturation integer instructions | Bruno Cardoso Lopes | 2010-06-30 | 1 | -0/+9 |
| | | | | | llvm-svn: 107241 | ||||
| * | Add AVX SSE2 integer packed compare instructions | Bruno Cardoso Lopes | 2010-06-30 | 1 | -0/+17 |
| | | | | | llvm-svn: 107240 | ||||

