Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | X86: Simplify shuffle mask generation code. | Benjamin Kramer | 2012-01-30 | 1 | -53/+34 | |
| | | | | llvm-svn: 149248 | |||||
* | Fix compilation of ASan tests on OS X Lion (see ↵ | Alexander Potapenko | 2012-01-30 | 1 | -3/+15 | |
| | | | | | | | | http://code.google.com/p/address-sanitizer/issues/detail?id=32) The redzones emitted by AddressSanitizer for CFString instances confuse the linker and are of little use, so we shouldn't add them. llvm-svn: 149243 | |||||
* | Fix pattern for memory form of PSHUFD for use with FP vectors to remove ↵ | Craig Topper | 2012-01-30 | 2 | -10/+3 | |
| | | | | | | bitcast to an integer vector that normal code wouldn't have. Also remove bitcasts from code that turns splat vector loads into a shuffle as it was making the broken pattern necessary. llvm-svn: 149232 | |||||
* | fix a major oversight that is breaking some llvm-test tests. | Chris Lattner | 2012-01-30 | 1 | -0/+1 | |
| | | | | llvm-svn: 149230 | |||||
* | First step of flipping on ConstantDataSequential: enable ConstantDataVector | Chris Lattner | 2012-01-30 | 1 | -7/+89 | |
| | | | | | | to be formed whenever ConstantVector::get is used. llvm-svn: 149226 | |||||
* | when verbose asm is on, print integers in ConstantDataSequentials just | Chris Lattner | 2012-01-30 | 1 | -0/+3 | |
| | | | | | | like normal integers. llvm-svn: 149223 | |||||
* | don't lose tail padding on ConstantDataAggregate vec3's. | Chris Lattner | 2012-01-30 | 1 | -21/+24 | |
| | | | | llvm-svn: 149222 | |||||
* | Fix ConstantFoldShuffleVectorInstruction to properly handle the case | Chris Lattner | 2012-01-30 | 1 | -3/+5 | |
| | | | | | | when the result type has a different # elements than the input vectors. llvm-svn: 149221 | |||||
* | Move some XOP patterns into instruction definition. Replae VPCMOV intrinsic ↵ | Craig Topper | 2012-01-30 | 4 | -452/+252 | |
| | | | | | | patterns with custom lowering to a target specific nodes. llvm-svn: 149216 | |||||
* | Add bitcode reader and writer support for ConstantDataAggregate, which | Chris Lattner | 2012-01-30 | 2 | -2/+108 | |
| | | | | | | should be feature complete now. Lets see if it works. llvm-svn: 149215 | |||||
* | Move Clang's file-level locking facility over to LLVM's support | Douglas Gregor | 2012-01-29 | 2 | -0/+217 | |
| | | | | | | library, since it doesn't really have anything to do with Clang. llvm-svn: 149203 | |||||
* | Cleanups for EABI standard functions | Anton Korobeynikov | 2012-01-29 | 1 | -2/+7 | |
| | | | | llvm-svn: 149195 | |||||
* | Use base AAPCS for varargs functions even for AAPCS-VFP CC | Anton Korobeynikov | 2012-01-29 | 1 | -1/+3 | |
| | | | | llvm-svn: 149194 | |||||
* | Fix some scavenger performance issues. | Jakob Stoklund Olesen | 2012-01-29 | 1 | -20/+8 | |
| | | | | | | | | | | | | | - Don't call malloc+free in the very hot forward(). - Don't call isTiedToDefOperand(). - Don't create BitVector temporaries. - Merge DeadRegs into KillRegs. - Eliminate the early clobber checks, they were irrelevant to scavenging. - Remove unnecessary code from -Asserts builds. This speeds up ARM PEI by 3.4x and overall llc -O0 codegen time by 11%. llvm-svn: 149189 | |||||
* | Avoid creating BitVector temporaries. | Jakob Stoklund Olesen | 2012-01-29 | 1 | -7/+7 | |
| | | | | llvm-svn: 149188 | |||||
* | Fix typo. | Nick Lewycky | 2012-01-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 149185 | |||||
* | Add a note about a potential optimization for clz/ctz patterns for ARM | Bob Wilson | 2012-01-28 | 1 | -0/+16 | |
| | | | | | | (and other targets). llvm-svn: 149182 | |||||
* | Ensure .AliasedSymbol() is called on all uses of getSymbol(). Affects ARM ↵ | James Molloy | 2012-01-28 | 2 | -2/+2 | |
| | | | | | | | | and MIPS ELF backends. Fixes PR11877 llvm-svn: 149180 | |||||
* | Silence GCC's -Wreturn-type warning. | Benjamin Kramer | 2012-01-28 | 1 | -0/+3 | |
| | | | | llvm-svn: 149179 | |||||
* | Small improvement to the recursion detection logic from the previous commit. | Rafael Espindola | 2012-01-28 | 1 | -1/+3 | |
| | | | | llvm-svn: 149175 | |||||
* | Handle recursive variable definitions directly. This gives us better error | Rafael Espindola | 2012-01-28 | 1 | -11/+15 | |
| | | | | | | messages and allows us to fix PR11865. llvm-svn: 149174 | |||||
* | [asan] correctly use ConstantExpr::getGetElementPtr. Catch by NAKAMURA Takumi | Kostya Serebryany | 2012-01-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 149172 | |||||
* | Reapply r149159 with a fix to add to a PHI node with a non-null parent. | Bill Wendling | 2012-01-28 | 1 | -34/+64 | |
| | | | | llvm-svn: 149164 | |||||
* | Remove code that adds live ranges for dead defs. It seems to be breaking things. | Lang Hames | 2012-01-28 | 1 | -24/+0 | |
| | | | | llvm-svn: 149163 | |||||
* | Revert r149159 until I can fix tests. | Bill Wendling | 2012-01-28 | 1 | -61/+32 | |
| | | | | llvm-svn: 149162 | |||||
* | Don't always create a separate block for the call to _Unwind_Resume. | Bill Wendling | 2012-01-28 | 1 | -32/+61 | |
| | | | | | | | | | | | Sometimes there is only one 'resume' instruction per function. In those situations, we don't need a separate block for the call to _Unwind_Resume. In fact, it adds a lot of overhead to code-gen if we do that -- especially at -O0. If we have a single 'resume' instruction, just generate the call within that block. <rdar://problem/10694814> llvm-svn: 149159 | |||||
* | Fix Record Name Reference | David Greene | 2012-01-28 | 1 | -1/+1 | |
| | | | | | | Get the record name though the init to avoid an assert. llvm-svn: 149153 | |||||
* | Silence warning about parens for && within || | Lang Hames | 2012-01-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 149152 | |||||
* | Add r149110 back with a fix for when the vector and the int have the same | Rafael Espindola | 2012-01-27 | 2 | -0/+50 | |
| | | | | | | width. llvm-svn: 149151 | |||||
* | Revert r149110 and add a testcase that was crashing since that revision. | Rafael Espindola | 2012-01-27 | 1 | -38/+0 | |
| | | | | | | | Unfortunately I also had to disable constant-pool-sharing.ll the code it tests has been updated to use the IL logic. llvm-svn: 149148 | |||||
* | Add a "moveInstr" method to LiveIntervals. This can be used to move instructions | Lang Hames | 2012-01-27 | 3 | -1/+229 | |
| | | | | | | | | | around within a basic block while maintaining live-intervals. Updated ScheduleTopDownLive in MachineScheduler.cpp to use the moveInstr API when reordering MIs. llvm-svn: 149147 | |||||
* | Backing out ill-considered 'refactor'. | Lang Hames | 2012-01-27 | 1 | -39/+53 | |
| | | | | llvm-svn: 149146 | |||||
* | Move some duplicate loops in the coalescer into their own function. | Lang Hames | 2012-01-27 | 1 | -53/+39 | |
| | | | | llvm-svn: 149144 | |||||
* | Intel Syntax: Parse mem operand with seg reg. QWORD PTR FS:[320] | Devang Patel | 2012-01-27 | 1 | -3/+5 | |
| | | | | llvm-svn: 149142 | |||||
* | Move some patterns back near their instructions and use AddedComplexity to ↵ | Craig Topper | 2012-01-27 | 1 | -49/+41 | |
| | | | | | | fix priority. Merge some patterns into their instruction definition. llvm-svn: 149122 | |||||
* | Physreg dead defs should be handled too. | Lang Hames | 2012-01-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 149118 | |||||
* | smallvectorize. | Chris Lattner | 2012-01-27 | 1 | -6/+6 | |
| | | | | llvm-svn: 149117 | |||||
* | continue making the world safe for ConstantDataVector. At this point, | Chris Lattner | 2012-01-27 | 10 | -75/+108 | |
| | | | | | | | we should (theoretically optimize and codegen ConstantDataVector as well as ConstantVector. llvm-svn: 149116 | |||||
* | Place the GEP instructions nearer to the instructions which use them. | Bill Wendling | 2012-01-27 | 1 | -37/+36 | |
| | | | | | | | | | | | GEP instructions are there for the compiler and shouldn't really output much code (if any at all). When a GEP is stored in the entry block, Fast ISel (for one) will not know that it could fold it into further uses. For instance, inside of the EH handling code. This results in a lot of unnecessary spills and loads which bloat code and slows down pretty much everything. <rdar://problem/10694814> llvm-svn: 149114 | |||||
* | make sure the file's matching header is #include'd first. | Chris Lattner | 2012-01-27 | 1 | -3/+1 | |
| | | | | llvm-svn: 149113 | |||||
* | Rewrite CanShareConstantPoolEntry to be implemented in terms of the | Chris Lattner | 2012-01-27 | 1 | -26/+26 | |
| | | | | | | | | mid-level constant folding APIs instead of doing its own analysis. This makes it more general (e.g. can now share a <2 x i64> with a <4 x i32>) and avoid duplicating a bunch of logic. llvm-svn: 149111 | |||||
* | enhance constant folding to be able to constant fold bitcast of | Chris Lattner | 2012-01-27 | 1 | -0/+38 | |
| | | | | | | ConstantVector's to integer type. llvm-svn: 149110 | |||||
* | Keep source location information for X86 MCFixup's. | Jim Grosbach | 2012-01-27 | 2 | -18/+23 | |
| | | | | llvm-svn: 149106 | |||||
* | Source information in 'expected relocatable expression' diagnostic. | Jim Grosbach | 2012-01-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 149105 | |||||
* | Better user diagnostics for more ARM MachO relocation errors. | Jim Grosbach | 2012-01-27 | 1 | -4/+8 | |
| | | | | llvm-svn: 149102 | |||||
* | Better diagnostic for malformed .org assembly directive. | Jim Grosbach | 2012-01-27 | 6 | -15/+21 | |
| | | | | | | Provide source line number information. llvm-svn: 149101 | |||||
* | Rewrite instruction operands in AdjustCopiesBackFrom. Fixes PR11861. | Lang Hames | 2012-01-27 | 1 | -4/+6 | |
| | | | | llvm-svn: 149097 | |||||
* | Tidy up. | Jim Grosbach | 2012-01-26 | 1 | -1/+1 | |
| | | | | llvm-svn: 149096 | |||||
* | Keep source information, if available, around for ARM Fixups. | Jim Grosbach | 2012-01-26 | 3 | -9/+15 | |
| | | | | | | | | | | | | | | | | | Adjust an example MachObjectWriter diagnostic to use the information to issue a better message. Before: LLVM ERROR: unknown ARM fixup kind! After: x.s:6:5: error: unsupported relocation on symbol beq bar ^ rdar://9800182 llvm-svn: 149093 | |||||
* | Add simple support for keeping MCFixup source information. | Jim Grosbach | 2012-01-26 | 1 | -0/+19 | |
| | | | | | | | Can be used to issue more user friendly diagnostics for faulty relocation constructs and such. llvm-svn: 149092 |