summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* X86: Simplify shuffle mask generation code.Benjamin Kramer2012-01-301-53/+34
| | | | llvm-svn: 149248
* Fix compilation of ASan tests on OS X Lion (see ↵Alexander Potapenko2012-01-301-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 Topper2012-01-302-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 Lattner2012-01-301-0/+1
| | | | llvm-svn: 149230
* First step of flipping on ConstantDataSequential: enable ConstantDataVectorChris Lattner2012-01-301-7/+89
| | | | | | to be formed whenever ConstantVector::get is used. llvm-svn: 149226
* when verbose asm is on, print integers in ConstantDataSequentials justChris Lattner2012-01-301-0/+3
| | | | | | like normal integers. llvm-svn: 149223
* don't lose tail padding on ConstantDataAggregate vec3's.Chris Lattner2012-01-301-21/+24
| | | | llvm-svn: 149222
* Fix ConstantFoldShuffleVectorInstruction to properly handle the caseChris Lattner2012-01-301-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 Topper2012-01-304-452/+252
| | | | | | patterns with custom lowering to a target specific nodes. llvm-svn: 149216
* Add bitcode reader and writer support for ConstantDataAggregate, whichChris Lattner2012-01-302-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 supportDouglas Gregor2012-01-292-0/+217
| | | | | | library, since it doesn't really have anything to do with Clang. llvm-svn: 149203
* Cleanups for EABI standard functionsAnton Korobeynikov2012-01-291-2/+7
| | | | llvm-svn: 149195
* Use base AAPCS for varargs functions even for AAPCS-VFP CCAnton Korobeynikov2012-01-291-1/+3
| | | | llvm-svn: 149194
* Fix some scavenger performance issues.Jakob Stoklund Olesen2012-01-291-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 Olesen2012-01-291-7/+7
| | | | llvm-svn: 149188
* Fix typo.Nick Lewycky2012-01-281-2/+2
| | | | llvm-svn: 149185
* Add a note about a potential optimization for clz/ctz patterns for ARMBob Wilson2012-01-281-0/+16
| | | | | | (and other targets). llvm-svn: 149182
* Ensure .AliasedSymbol() is called on all uses of getSymbol(). Affects ARM ↵James Molloy2012-01-282-2/+2
| | | | | | | | and MIPS ELF backends. Fixes PR11877 llvm-svn: 149180
* Silence GCC's -Wreturn-type warning.Benjamin Kramer2012-01-281-0/+3
| | | | llvm-svn: 149179
* Small improvement to the recursion detection logic from the previous commit.Rafael Espindola2012-01-281-1/+3
| | | | llvm-svn: 149175
* Handle recursive variable definitions directly. This gives us better errorRafael Espindola2012-01-281-11/+15
| | | | | | messages and allows us to fix PR11865. llvm-svn: 149174
* [asan] correctly use ConstantExpr::getGetElementPtr. Catch by NAKAMURA TakumiKostya Serebryany2012-01-281-1/+1
| | | | llvm-svn: 149172
* Reapply r149159 with a fix to add to a PHI node with a non-null parent.Bill Wendling2012-01-281-34/+64
| | | | llvm-svn: 149164
* Remove code that adds live ranges for dead defs. It seems to be breaking things.Lang Hames2012-01-281-24/+0
| | | | llvm-svn: 149163
* Revert r149159 until I can fix tests.Bill Wendling2012-01-281-61/+32
| | | | llvm-svn: 149162
* Don't always create a separate block for the call to _Unwind_Resume.Bill Wendling2012-01-281-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 ReferenceDavid Greene2012-01-281-1/+1
| | | | | | Get the record name though the init to avoid an assert. llvm-svn: 149153
* Silence warning about parens for && within ||Lang Hames2012-01-271-1/+1
| | | | llvm-svn: 149152
* Add r149110 back with a fix for when the vector and the int have the sameRafael Espindola2012-01-272-0/+50
| | | | | | width. llvm-svn: 149151
* Revert r149110 and add a testcase that was crashing since that revision.Rafael Espindola2012-01-271-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 instructionsLang Hames2012-01-273-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 Hames2012-01-271-39/+53
| | | | llvm-svn: 149146
* Move some duplicate loops in the coalescer into their own function.Lang Hames2012-01-271-53/+39
| | | | llvm-svn: 149144
* Intel Syntax: Parse mem operand with seg reg. QWORD PTR FS:[320]Devang Patel2012-01-271-3/+5
| | | | llvm-svn: 149142
* Move some patterns back near their instructions and use AddedComplexity to ↵Craig Topper2012-01-271-49/+41
| | | | | | fix priority. Merge some patterns into their instruction definition. llvm-svn: 149122
* Physreg dead defs should be handled too.Lang Hames2012-01-271-1/+1
| | | | llvm-svn: 149118
* smallvectorize.Chris Lattner2012-01-271-6/+6
| | | | llvm-svn: 149117
* continue making the world safe for ConstantDataVector. At this point,Chris Lattner2012-01-2710-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 Wendling2012-01-271-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 Lattner2012-01-271-3/+1
| | | | llvm-svn: 149113
* Rewrite CanShareConstantPoolEntry to be implemented in terms of theChris Lattner2012-01-271-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 Lattner2012-01-271-0/+38
| | | | | | ConstantVector's to integer type. llvm-svn: 149110
* Keep source location information for X86 MCFixup's.Jim Grosbach2012-01-272-18/+23
| | | | llvm-svn: 149106
* Source information in 'expected relocatable expression' diagnostic.Jim Grosbach2012-01-271-1/+1
| | | | llvm-svn: 149105
* Better user diagnostics for more ARM MachO relocation errors.Jim Grosbach2012-01-271-4/+8
| | | | llvm-svn: 149102
* Better diagnostic for malformed .org assembly directive.Jim Grosbach2012-01-276-15/+21
| | | | | | Provide source line number information. llvm-svn: 149101
* Rewrite instruction operands in AdjustCopiesBackFrom. Fixes PR11861.Lang Hames2012-01-271-4/+6
| | | | llvm-svn: 149097
* Tidy up.Jim Grosbach2012-01-261-1/+1
| | | | llvm-svn: 149096
* Keep source information, if available, around for ARM Fixups.Jim Grosbach2012-01-263-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 Grosbach2012-01-261-0/+19
| | | | | | | Can be used to issue more user friendly diagnostics for faulty relocation constructs and such. llvm-svn: 149092
OpenPOWER on IntegriCloud