aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup. Document. Make sure that this build_vector optimization only runs ↵Nadav Rotem2011-10-311-16/+29
| | | | | | before the op legalizer and that the used type is legal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143358 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM writeback vs. stride operands for VST/VLD.Jim Grosbach2011-10-311-239/+240
| | | | | | | The _fixed variants have a writeback operand, but not a stride operand. Split the conditional flag to distinguish the cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143356 91177308-0d34-0410-b5e6-96231b3b80d8
* Move test to the X86 directory, note the PR number and only run MC once.Rafael Espindola2011-10-312-6/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143352 91177308-0d34-0410-b5e6-96231b3b80d8
* More not-crashing NEON disassembly updates for the vld refactoring.Owen Anderson2011-10-312-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143351 91177308-0d34-0410-b5e6-96231b3b80d8
* docs/*.html: Fix markups.NAKAMURA Takumi2011-10-314-11/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143349 91177308-0d34-0410-b5e6-96231b3b80d8
* docs/*.html: Appease W3C Checker to add "charset=utf-8".NAKAMURA Takumi2011-10-3118-1/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143348 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix operand type for int_x86_ssse3_phadd_sw_128 intrinsicCraig Topper2011-10-312-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143336 91177308-0d34-0410-b5e6-96231b3b80d8
* Test case for X86 FS/GS Base intrinsicsCraig Topper2011-10-311-0/+57
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143332 91177308-0d34-0410-b5e6-96231b3b80d8
* Begin adding AVX2 instructions. No selection support yet other than intrinsics.Craig Topper2011-10-313-146/+920
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143331 91177308-0d34-0410-b5e6-96231b3b80d8
* Close <div> that was indenting the rest of the page.Nick Lewycky2011-10-311-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143328 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch new .file directive emission off by default, change llc's flag for it toNick Lewycky2011-10-313-6/+6
| | | | | | | -enable-dwarf-directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143326 91177308-0d34-0410-b5e6-96231b3b80d8
* Add intrinsics and feature flag for read/write FS/GS base instructions. Also ↵Craig Topper2011-10-306-19/+75
| | | | | | add AVX2 feature flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143319 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply commit 143214 with a fix: m_ICmp doesn't match conditionsDuncan Sands2011-10-302-29/+83
| | | | | | | | | | | | | with the given predicate, it matches any condition and returns the predicate - d'oh! Original commit message: The expression icmp eq (select (icmp eq x, 0), 1, x), 0 folds to false. Spotted by my super-optimizer in 186.crafty and 450.soplex. We really need a proper infrastructure for handling generalizations of this kind of thing (which occur a lot), however this case is so simple that I decided to go ahead and implement it directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143318 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark X86 pcmpeq b/w/d intrinsics as being Commutative. pcmpeqq is already ↵Craig Topper2011-10-301-6/+6
| | | | | | marked as Commutative. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143317 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach ModuleLinker::getLinkageResult about materialisable functionsPeter Collingbourne2011-10-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143316 91177308-0d34-0410-b5e6-96231b3b80d8
* X86: Emit logical shift by constant splat of <16 x i8> as a <8 x i16> shift ↵Benjamin Kramer2011-10-302-0/+44
| | | | | | and zero out the bits where zeros should've been shifted in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143315 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix return type for X86 mpsadbw instrinsic. The instruction takes in a ↵Craig Topper2011-10-302-5/+5
| | | | | | vector of 8-bit integers, but produces a vector of 16-bit integers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143313 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix pr11266.Nadav Rotem2011-10-303-6/+56
| | | | | | | | | | | On x86: (shl V, 1) -> add V,V Hardware support for vector-shift is sparse and in many cases we scalarize the result. Additionally, on sandybridge padd is faster than shl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143311 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence compiler warning.Benjamin Kramer2011-10-301-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143308 91177308-0d34-0410-b5e6-96231b3b80d8
* Stabilize the test by specifying an exact cpu targetNadav Rotem2011-10-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143307 91177308-0d34-0410-b5e6-96231b3b80d8
* Update on PPC32.Roman Divacky2011-10-301-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143306 91177308-0d34-0410-b5e6-96231b3b80d8
* Do a relative path ln command instead of an absolute path one. Some people ↵Bill Wendling2011-10-291-2/+2
| | | | | | strangely enough have different directory layouts... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143302 91177308-0d34-0410-b5e6-96231b3b80d8
* CREDITS.TXT: Add a line. (test commit)NAKAMURA Takumi2011-10-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143300 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new DAGCombine optimization for BUILD_VECTOR.Nadav Rotem2011-10-294-5/+106
| | | | | | | | | If all of the inputs are zero/any_extended, create a new simple BV which can be further optimized by other BV optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143297 91177308-0d34-0410-b5e6-96231b3b80d8
* Force SSE for this test.Benjamin Kramer2011-10-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143291 91177308-0d34-0410-b5e6-96231b3b80d8
* PPC: Disable moves for all CR subregisters.Benjamin Kramer2011-10-291-3/+1
| | | | | | Should fix assertion failures on ppc buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143290 91177308-0d34-0410-b5e6-96231b3b80d8
* SimplifyLibCalls: Use IRBuilder.CreateGlobalString when creating a string ↵Benjamin Kramer2011-10-292-6/+5
| | | | | | | | for printf->puts, which correctly sets the unnamed_addr bit on the resulting GlobalVariable. Fixes PR11264. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143289 91177308-0d34-0410-b5e6-96231b3b80d8
* Test.llvm2011-10-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143277 91177308-0d34-0410-b5e6-96231b3b80d8
* Revise ThreadSanitizer mention so that it lists the correct frontends.Bill Wendling2011-10-291-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143268 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Cling to the External Projects list.Bill Wendling2011-10-291-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143267 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r143214; it's breaking a bunch of stuff.Eli Friedman2011-10-292-54/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143265 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r143206, as there are still some failing tests.Dan Gohman2011-10-2919-699/+561
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143262 91177308-0d34-0410-b5e6-96231b3b80d8
* test/CodeGen/PowerPC/2008-10-17-AsmMatchingOperands.ll: [PR11218] Mark ↵NAKAMURA Takumi2011-10-281-0/+4
| | | | | | "REQUIRES: asserts" for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143247 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM mode 'mov' to 'mvn' assembler alias.Jim Grosbach2011-10-282-2/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143237 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Thumb2 alias for "mov Rd, #imm" to "mvn Rd, #~imm".Jim Grosbach2011-10-283-1/+36
| | | | | | | | | | | | When '~imm' is encodable as a t2_so_imm but plain 'imm' is not. For example, mov r2, #-3 becomes mvn r2, #2 rdar://10349224 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143235 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow InstAlias's to use immediate matcher patterns that xform the value.Jim Grosbach2011-10-282-5/+29
| | | | | | | | | For example, On ARM, "mov r3, #-3" is an alias for "mvn r3, #2", so we want to use a matcher pattern that handles the bitwise negation when mapping to t2MVNi. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143233 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix illegal disassembly testcase.Owen Anderson2011-10-281-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143231 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify example snippets a bit.Jim Grosbach2011-10-281-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143224 91177308-0d34-0410-b5e6-96231b3b80d8
* Specify that the high bit of the alignment field is fixed to 0 on these ↵Owen Anderson2011-10-281-2/+2
| | | | | | instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143220 91177308-0d34-0410-b5e6-96231b3b80d8
* Make changes necessary in LowerFormalArguments to support Mips64.Akira Hatanaka2011-10-281-17/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143218 91177308-0d34-0410-b5e6-96231b3b80d8
* Make changes necessary in LowerCall to support Mips64.Akira Hatanaka2011-10-281-25/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143217 91177308-0d34-0410-b5e6-96231b3b80d8
* The expression icmp eq (select (icmp eq x, 0), 1, x), 0 folds to false.Duncan Sands2011-10-282-29/+54
| | | | | | | | | | Spotted by my super-optimizer in 186.crafty and 450.soplex. We really need a proper infrastructure for handling generalizations of this kind of thing (which occur a lot), however this case is so simple that I decided to go ahead and implement it directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143214 91177308-0d34-0410-b5e6-96231b3b80d8
* Add variable IsO32 to MipsTargetLowering.Akira Hatanaka2011-10-282-10/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143213 91177308-0d34-0410-b5e6-96231b3b80d8
* A shift of a power of two is a power of two or zero.Duncan Sands2011-10-282-1/+16
| | | | | | | For completeness - not spotted in the wild. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143211 91177308-0d34-0410-b5e6-96231b3b80d8
* Fold icmp ugt (udiv X, Y), X to false. Spotted by my super-optimizerDuncan Sands2011-10-282-0/+36
| | | | | | | in 186.crafty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143209 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r143202, with a manual decoding hook for SWP. This change ↵Owen Anderson2011-10-284-2/+28
| | | | | | inadvertantly exposed a decoding ambiguity between SWP and CPS that the auto-generated decoder can't handle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143208 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r143177 and r143179 (reverting r143188), with schedulerDan Gohman2011-10-2819-561/+699
| | | | | | | | | | fixes: Use a separate register, instead of SP, as the calling-convention resource, to avoid spurious conflicts with actual uses of SP. Also, fix unscheduling of calling sequences, which can be triggered by pseudo-two-address dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143206 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r143202.Owen Anderson2011-10-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143203 91177308-0d34-0410-b5e6-96231b3b80d8
* Specify fixed bits on CPS instructions to enable roundtripping.Owen Anderson2011-10-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143202 91177308-0d34-0410-b5e6-96231b3b80d8
* Thumb2 ADD/SUB instructions encoding selection outside IT block.Jim Grosbach2011-10-283-2/+27
| | | | | | | | | | | | Outside an IT block, "add r3, #2" should select a 32-bit wide encoding rather than generating an error indicating the 16-bit encoding is only legal in an IT block (outside, the 'S' suffic is required for the 16-bit encoding). rdar://10348481 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143201 91177308-0d34-0410-b5e6-96231b3b80d8