| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | - 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 | ||||
| * | - Add AVX form of all SSE2 logical instructions | Bruno Cardoso Lopes | 2010-06-30 | 2 | -22/+99 |
| | | | | | | | - Add VEX encoding bits to x86 MRM0r-MRM7r llvm-svn: 107238 | ||||
| * | Do not construct DIE for already processed MDNode. | Devang Patel | 2010-06-30 | 1 | -1/+2 |
| | | | | | llvm-svn: 107237 | ||||
| * | Use skipInstruction() as a simpler way of iterating over instructions using ↵ | Jakob Stoklund Olesen | 2010-06-30 | 1 | -10/+2 |
| | | | | | | | SrcReg llvm-svn: 107234 | ||||
| * | Use clEnumValN macro to work around keyword clash | Jakob Stoklund Olesen | 2010-06-30 | 1 | -1/+1 |
| | | | | | llvm-svn: 107233 | ||||
| * | Add variables into a scope before constructing scope DIE otherwise variables ↵ | Devang Patel | 2010-06-30 | 1 | -2/+2 |
| | | | | | | | won't be included DIE tree. llvm-svn: 107228 | ||||
| * | Begin implementation of an inline spiller. | Jakob Stoklund Olesen | 2010-06-29 | 3 | -1/+147 |
| | | | | | | | | | | | | InlineSpiller inserts loads and spills immediately instead of deferring to VirtRegMap. This is possible now because SlotIndexes allows instructions to be inserted and renumbered. This is work in progress, and is mostly a copy of TrivialSpiller so far. It works very well for functions that don't require spilling. llvm-svn: 107227 | ||||
| * | Add *several* AVX integer packed binop instructions | Bruno Cardoso Lopes | 2010-06-29 | 1 | -35/+109 |
| | | | | | llvm-svn: 107225 | ||||
| * | Fix ScalarEvolution's tripcount computation for chains of loops | Dan Gohman | 2010-06-29 | 1 | -41/+61 |
| | | | | | | | | where each loop's induction variable's start value is the exit value of a preceding loop. llvm-svn: 107224 | ||||

