| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | When creating X86 MUL8 and DIV8 instructions, make sure we don't produce | Jakob Stoklund Olesen | 2010-06-26 | 1 | -37/+49 | |
| | | | | | | | | | | | | CopyFromReg nodes for aliasing registers (AX and AL). This confuses the fast register allocator. Instead of CopyFromReg(AL), use ExtractSubReg(CopyFromReg(AX), sub_8bit). This fixes PR7312. llvm-svn: 106934 | |||||
| * | Renumber NEON instruction formats to be consecutive. | Bob Wilson | 2010-06-26 | 3 | -26/+24 | |
| | | | | | llvm-svn: 106927 | |||||
| * | Rename ARM instruction formats NEONGetLnFrm, NEONSetLnFrm and NEONDupFrm to | Bob Wilson | 2010-06-25 | 3 | -27/+27 | |
| | | | | | | | "N..." instead of "NEON..." for consistency with the other NEON format names. llvm-svn: 106921 | |||||
| * | Add AVX convert CVTSS2SI{rr,rm} and CVTDQ2PS{rr,rm} instructions | Bruno Cardoso Lopes | 2010-06-25 | 1 | -0/+15 | |
| | | | | | llvm-svn: 106917 | |||||
| * | Remove unused NEONFrm and ThumbMiscFrm ARM instruction formats. | Bob Wilson | 2010-06-25 | 3 | -22/+7 | |
| | | | | | | | Renumber MiscFrm to 25. llvm-svn: 106916 | |||||
| * | Reapply r106896: | Bruno Cardoso Lopes | 2010-06-25 | 3 | -23/+115 | |
| | | | | | | | | Add several AVX MOV flavors Support VEX encoding for MRMDestReg llvm-svn: 106912 | |||||
| * | Thumb2ITBlockPass: Fix a possible dereference of an invalid iterator. This was | Daniel Dunbar | 2010-06-25 | 1 | -2/+2 | |
| | | | | | | | | | | introduced in r106343, but only showed up recently (with a particular compiler & linker combination) because of the particular check, and because we have no builtin checking for dereferencing the end of an array, which is truly unfortunate. llvm-svn: 106908 | |||||
| * | make sure to handle dbg_value instructions in the middle of the block, not | Jim Grosbach | 2010-06-25 | 1 | -2/+10 | |
| | | | | | | | just at the head, when doing diamond if-conversion. rdar://7797940 llvm-svn: 106907 | |||||
| * | revert this now, it's using avx instead of sse :) | Bruno Cardoso Lopes | 2010-06-25 | 2 | -111/+19 | |
| | | | | | llvm-svn: 106906 | |||||
| * | Don't track kills in VNInfo. Use interval ends instead. | Jakob Stoklund Olesen | 2010-06-25 | 6 | -191/+79 | |
| | | | | | | | | | | | | | The VNInfo.kills vector was almost unused except for all the code keeping it updated. The few places using it were easily rewritten to check for interval ends instead. The two new methods LiveInterval::killedAt and killedInRange are replacements. This brings us down to 3 independent data structures tracking kills. llvm-svn: 106905 | |||||
| * | Change if-conversion block size limit checks to add some flexibility. | Evan Cheng | 2010-06-25 | 7 | -31/+75 | |
| | | | | | llvm-svn: 106901 | |||||
| * | Add support for encoding 3-register NEON instructions, and fix | Bob Wilson | 2010-06-25 | 1 | -3/+36 | |
| | | | | | | | emitNEON2RegInstruction's handling of 2-address operands. llvm-svn: 106900 | |||||
| * | In GenerateReassociations, don't bother thinking about individual | Dan Gohman | 2010-06-25 | 1 | -8/+22 | |
| | | | | | | | | | SCEVUnknown values which are loop-variant, as LSR can't do anything interesting with these values in any case. This fixes very slow compile times on loops which have large numbers of such values. llvm-svn: 106897 | |||||
| * | Add several AVX MOV flavors | Bruno Cardoso Lopes | 2010-06-25 | 2 | -19/+111 | |
| | | | | | | | Support VEX encoding for MRMDestReg llvm-svn: 106896 | |||||
| * | Collect debug info for optimized variables of inlined functions. | Devang Patel | 2010-06-25 | 2 | -6/+30 | |
| | | | | | llvm-svn: 106895 | |||||
| * | 80 column and typo fix | Jim Grosbach | 2010-06-25 | 1 | -2/+2 | |
| | | | | | llvm-svn: 106894 | |||||
| * | The hasMemory argument is irrelevant to how the argument | Dale Johannesen | 2010-06-25 | 12 | -37/+14 | |
| | | | | | | | | | | for an "i" constraint should get lowered; PR 6309. While this argument was passed around a lot, this is the only place it was used, so it goes away from a lot of other places. llvm-svn: 106893 | |||||
| * | Add support for encoding 2-register NEON instructions. | Bob Wilson | 2010-06-25 | 1 | -3/+25 | |
| | | | | | llvm-svn: 106891 | |||||
| * | pcmpeqd and friends are Commutable. | Dan Gohman | 2010-06-25 | 1 | -3/+3 | |
| | | | | | llvm-svn: 106886 | |||||
| * | Fix indentation. | Bob Wilson | 2010-06-25 | 1 | -1/+1 | |
| | | | | | llvm-svn: 106881 | |||||
| * | - Reapply r106066 now that the bzip2 build regression has been fixed. | Bill Wendling | 2010-06-25 | 2 | -50/+30 | |
| | | | | | | | - 2010-06-25-CoalescerSubRegDefDead.ll is the testcase for r106878. llvm-svn: 106880 | |||||
| * | We should remove the live range from the destination register only if *all* defs | Bill Wendling | 2010-06-25 | 1 | -2/+2 | |
| | | | | | | | | | | are dead, not just the def of this register. I.e., a register could be dead, but it's subreg isn't. Testcase to follow with a subsequent patch. llvm-svn: 106878 | |||||
| * | Move the last piece of SSE2 convert instructions to the Convert Instructions ↵ | Bruno Cardoso Lopes | 2010-06-25 | 1 | -150/+151 | |
| | | | | | | | section llvm-svn: 106877 | |||||
| * | More SSE refactoring, this time with different types of MOVs | Bruno Cardoso Lopes | 2010-06-25 | 1 | -160/+125 | |
| | | | | | llvm-svn: 106876 | |||||
| * | Eliminate a redundant FoldingSet lookup. | Dan Gohman | 2010-06-25 | 1 | -3/+3 | |
| | | | | | llvm-svn: 106872 | |||||
| * | IT instructions are considered to be scheduling hazards, but are scheduled | Jim Grosbach | 2010-06-25 | 1 | -1/+13 | |
| | | | | | | | | | | | | | with the following instructions. This is done via trickery by considering the instruction preceding the IT to be the hazard. Care must be taken to ensure it's the first non-debug instruction, or the presence of debug info will affect codegen. Part of the continuing work for rdar://7797940, making ARM code-gen unaffected by the presence of debug information. llvm-svn: 106871 | |||||
| * | Refactoring of more SSE conversion instructions. Also add some AVX ↵ | Bruno Cardoso Lopes | 2010-06-25 | 1 | -105/+93 | |
| | | | | | | | instrinsics Int_V... placeholders llvm-svn: 106867 | |||||
| * | Cosmetic. | Dale Johannesen | 2010-06-25 | 1 | -5/+2 | |
| | | | | | llvm-svn: 106865 | |||||
| * | Rewrite MemoryBuffer::getSTDIN to use read(2) and a SmallVector buffer. | Benjamin Kramer | 2010-06-25 | 1 | -15/+15 | |
| | | | | | llvm-svn: 106856 | |||||
| * | Remove variables which are assigned to but for which the value | Duncan Sands | 2010-06-25 | 4 | -11/+1 | |
| | | | | | | | is not used. Spotted by gcc-4.6. llvm-svn: 106854 | |||||
| * | Bring back the empty vector workaround I removed in r106839. Looks like MSVC ↵ | Benjamin Kramer | 2010-06-25 | 1 | -1/+2 | |
| | | | | | | | needs it. llvm-svn: 106841 | |||||
| * | Tweak MemoryBuffer to allocate the class itself, the name and possibly the | Benjamin Kramer | 2010-06-25 | 1 | -70/+60 | |
| | | | | | | | | | | | buffer in the same chunk of memory. 2 less mallocs for every uninitialized MemoryBuffer and 1 less malloc for every MemoryBuffer pointing to a memory range translate into 20% less mallocs on clang -cc1 -Eonly Cocoa_h.m. llvm-svn: 106839 | |||||
| * | use ArgOperand accessors | Gabor Greif | 2010-06-25 | 1 | -9/+14 | |
| | | | | | | | | | | | and CallInst for getting hold of the intrinsic's arguments simplify along the way (at least for me this is much more legible now) Bill, Baldrick or Anton, please review\! llvm-svn: 106838 | |||||
| * | use ArgOperand API (the simple part) | Gabor Greif | 2010-06-25 | 1 | -2/+2 | |
| | | | | | llvm-svn: 106837 | |||||
| * | use ArgOperand API | Gabor Greif | 2010-06-25 | 1 | -140/+140 | |
| | | | | | llvm-svn: 106836 | |||||
| * | use ArgOperand API | Gabor Greif | 2010-06-25 | 1 | -1/+1 | |
| | | | | | llvm-svn: 106835 | |||||
| * | use ArgOperand API and CallSite to access arguments of CallInst | Gabor Greif | 2010-06-25 | 1 | -23/+26 | |
| | | | | | llvm-svn: 106833 | |||||
| * | use ArgOperand API and CallSite to access arguments of CallInst | Gabor Greif | 2010-06-25 | 2 | -9/+11 | |
| | | | | | llvm-svn: 106829 | |||||
| * | use ArgOperand API | Gabor Greif | 2010-06-25 | 1 | -1/+1 | |
| | | | | | llvm-svn: 106828 | |||||
| * | prune an include | Gabor Greif | 2010-06-25 | 1 | -1/+0 | |
| | | | | | llvm-svn: 106827 | |||||
| * | use ArgOperand API (one more hunk I could split) | Gabor Greif | 2010-06-25 | 1 | -2/+2 | |
| | | | | | llvm-svn: 106825 | |||||
| * | use ArgOperand API (some hunks I could split) | Gabor Greif | 2010-06-25 | 2 | -14/+14 | |
| | | | | | llvm-svn: 106824 | |||||
| * | use ArgOperand API; tighten type of handleFreeWithNonTrivialDependency to be ↵ | Gabor Greif | 2010-06-25 | 1 | -5/+7 | |
| | | | | | | | able to use isFreeCall whithout a cast or new overload llvm-svn: 106823 | |||||
| * | Add missing ARM and Thumb data layout info for vector types. | Bob Wilson | 2010-06-25 | 1 | -4/+8 | |
| | | | | | | | Radar 8128745. llvm-svn: 106820 | |||||
| * | Reduce indentation. | Bob Wilson | 2010-06-25 | 1 | -8/+7 | |
| | | | | | llvm-svn: 106819 | |||||
| * | Fix a case where an earlyclobber operand of an asm | Dale Johannesen | 2010-06-25 | 1 | -0/+17 | |
| | | | | | | | | | is reused as an input. PR 4118. Testcase is too big, as usual with bugs in this area, but there's one in the PR. llvm-svn: 106816 | |||||
| * | Add some AVX convert instructions | Bruno Cardoso Lopes | 2010-06-25 | 1 | -0/+24 | |
| | | | | | llvm-svn: 106815 | |||||
| * | Make sure all eliminated kills are removed from VNInfo lists. | Jakob Stoklund Olesen | 2010-06-24 | 1 | -0/+2 | |
| | | | | | | | | | This fixes PR7479 and PR7485. The test cases from those PRs are big, so not included. However, PR7485 comes from self hosting on FreeBSD, so we will surely hear about any regression. llvm-svn: 106811 | |||||
| * | Add some comments. | Dan Gohman | 2010-06-24 | 1 | -0/+7 | |
| | | | | | llvm-svn: 106809 | |||||
| * | Refactoring of SSE convert intrinsics | Bruno Cardoso Lopes | 2010-06-24 | 1 | -62/+53 | |
| | | | | | llvm-svn: 106808 | |||||

