summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
...
* PTX: add flag to disable mad/fma selectionJustin Holewinski2011-05-184-4/+19
| | | | | | Patch by Dan Bailey llvm-svn: 131537
* In r131488 I misunderstood how VREV works. It splits the vector in half and ↵Tanya Lattner2011-05-182-1343/+1350
| | | | | | | | splits each half. Therefore, the real problem was that we were using a VREV64 for a 4xi16, when we should have been using a VREV32. Updated test case and reverted change to the PerfectShuffle Table. llvm-svn: 131529
* Fix typo.Cameron Zwarich2011-05-181-4/+4
| | | | llvm-svn: 131519
* Fix more of PR8825 by correctly using rGPR registers when lowering atomicCameron Zwarich2011-05-181-2/+11
| | | | | | compare-and-swap intrinsics. llvm-svn: 131518
* Actually, the address operand of the Thumb2 LDREX / STREX instructions *can*Cameron Zwarich2011-05-171-1/+1
| | | | | | take r13, so we can just make it a GPR. This fixes PR8825. llvm-svn: 131507
* Correct a minor problem with the Thumb2 LDREX and STREX instruction ↵Cameron Zwarich2011-05-171-1/+1
| | | | | | | | encodings. They were marked as taking a tGPR when in reality they take an rGPR. llvm-svn: 131506
* vrev is incorrectly defined in the perfect shuffle table. The ordering is ↵Tanya Lattner2011-05-171-6565/+6566
| | | | | | backwards (should be 0x3210 versus 0x1032) which exposed a bug when doing a shuffle on a 4xi16. I've attached a test case. llvm-svn: 131488
* Enable autodetect of popcntMon P Wang2011-05-171-0/+1
| | | | llvm-svn: 131476
* Add x86 fast-isel for calls returning first-class aggregates. rdar://9435872.Eli Friedman2011-05-171-46/+51
| | | | | | This is r131438 with a couple small fixes. llvm-svn: 131474
* Clean up the mess created by r131467+r131469.Eli Friedman2011-05-172-16/+0
| | | | llvm-svn: 131471
* Revert 131467 due to buildbot complaint.Stuart Hastings2011-05-172-74/+28
| | | | llvm-svn: 131469
* Fix an obscure issue in X86_64 parameter passing: if a tiny byval isStuart Hastings2011-05-172-13/+75
| | | | | | | passed as the fifth parameter, insure it's passed correctly (in R9). rdar://problem/6920088 llvm-svn: 131467
* Fix a bug in PerformEXTRACT_VECTOR_ELTCombine. The code created an ADD SDNodeNadav Rotem2011-05-171-2/+2
| | | | | | | with two different types, in cases where the index and the ptr had different types. llvm-svn: 131461
* Update comment.Eric Christopher2011-05-171-4/+4
| | | | llvm-svn: 131459
* Support XOR and AND optimization with no return value.Eric Christopher2011-05-172-5/+51
| | | | | | Finishes off rdar://8470697 llvm-svn: 131458
* Couple less magic numbers.Eric Christopher2011-05-171-3/+5
| | | | llvm-svn: 131457
* Make this code a little less magic number laden.Eric Christopher2011-05-171-12/+30
| | | | llvm-svn: 131456
* add a noteChris Lattner2011-05-171-0/+26
| | | | llvm-svn: 131455
* Back out r131444 and r131438; they're breaking nightly tests. I'll look intoEli Friedman2011-05-171-43/+48
| | | | | | it more tomorrow. llvm-svn: 131451
* Add x86 fast-isel for calls returning first-class aggregates. rdar://9435872.Eli Friedman2011-05-171-48/+43
| | | | llvm-svn: 131438
* Kill some dead code.Jim Grosbach2011-05-161-3/+1
| | | | llvm-svn: 131431
* Remove dead code. Fix associated test to use FileCheck.Eli Friedman2011-05-161-14/+0
| | | | llvm-svn: 131424
* Make fast-isel work correctly s/uadd.with.overflow intrinsics.Eli Friedman2011-05-161-76/+7
| | | | llvm-svn: 131420
* sets bit 0 of the function address of thumb function in .symtabRafael Espindola2011-05-162-6/+21
| | | | | | | | | | ("T is 1 if the target symbol S has type STT_FUNC and the symbol addresses a Thumb instruction ;it is 0 otherwise." from "ELF for the ARM Architecture" 4.7.1.2) Patch by Koan-Sin Tan! llvm-svn: 131406
* Fix a FIXME by moving the fast-isel implementation of the objectsize ↵Eli Friedman2011-05-141-23/+0
| | | | | | intrinsic from the x86 code to the generic code. llvm-svn: 131332
* Don't produce a vmovntdq if we don't have AVX support.Rafael Espindola2011-05-141-1/+1
| | | | llvm-svn: 131330
* Zap useless code; this hasn't done anything useful since fast-isel switched ↵Eli Friedman2011-05-141-29/+0
| | | | | | to being bottom-up (a very long time ago). llvm-svn: 131329
* Fix a source of non determinism in FindUsedTypes, use a SetVector instead of aJulien Lerouge2011-05-131-5/+4
| | | | | | | | set. rdar://9423996 llvm-svn: 131283
* Fix setting of isCommutable flag.Akira Hatanaka2011-05-122-16/+25
| | | | llvm-svn: 131233
* Turn this into a table, this will make more sense shortly.Eric Christopher2011-05-111-11/+29
| | | | | | Part of rdar://8470697 llvm-svn: 131200
* Fix encoding of Thumb BLX register instructions. Patch by Koan-Sin Tan.Owen Anderson2011-05-111-4/+8
| | | | llvm-svn: 131189
* Add custom lowering of X86 vector SRA/SRL/SHL when the shift amount is a ↵Nadav Rotem2011-05-112-11/+80
| | | | | | splat vector. llvm-svn: 131179
* Give the 'eh.sjlj.dispatchsetup' intrinsic call the value coming from the setjmpBill Wendling2011-05-112-4/+4
| | | | | | | | intrinsic call. This prevents it from being reordered so that it appears *before* the setjmp intrinsic (thus making it completely useless). <rdar://problem/9409683> llvm-svn: 131174
* Optimize atomic lock or that doesn't use the result value.Eric Christopher2011-05-102-1/+83
| | | | | | | | Next up: xor and and. Part of rdar://8470697 llvm-svn: 131171
* Refactor lock versions of binary operators to be a little lessEric Christopher2011-05-101-73/+83
| | | | | | cut and paste. llvm-svn: 131139
* First cut at getting debugging support for ARM/MC/ELF/.oJason W Kim2011-05-101-1/+0
| | | | | | | DWARF stuff also gets fixed up by ELFARMAsmBackend::ApplyFixup(), but the offset is not guaranteed to be mod 4 == 0 as in text/data. llvm-svn: 131137
* PTX: add PTX 2.3 setting in PTX sub-target.Justin Holewinski2011-05-102-0/+4
| | | | | | Patch by Wei-Ren Chen llvm-svn: 131123
* Fix td file comments for Mips.Eric Christopher2011-05-093-3/+7
| | | | | | Patch by Liu <proljc@gmail.com>! llvm-svn: 131086
* Fixed MC encoding for index_align for VLD1/VST1 (single element from one ↵Mon P Wang2011-05-094-2/+60
| | | | | | lane) for size 32 llvm-svn: 131085
* X86: Add a bunch of peeps for add and sub of SETB.Benjamin Kramer2011-05-081-0/+24
| | | | | | | | | | | | | | | | "b + ((a < b) ? 1 : 0)" compiles into cmpl %esi, %edi adcl $0, %esi instead of cmpl %esi, %edi sbbl %eax, %eax andl $1, %eax addl %esi, %eax This saves a register, a false dependency on %eax (Intel's CPUs still don't ignore it) and it's shorter. llvm-svn: 131070
* Eliminate the ARM sub-register indexes that are not needed by the sources.Jakob Stoklund Olesen2011-05-071-33/+6
| | | | | | | Tablegen will invent its own names for these indexes, and the register file is a bit simpler. llvm-svn: 131059
* Fix the non-MC encoding of pkhbt and pkhtb.Eric Christopher2011-05-071-0/+6
| | | | | | Patch by Stephen Hines. llvm-svn: 131045
* 1. Keep lines in 80 columns.Akira Hatanaka2011-05-062-6/+6
| | | | | | | 2. Remove unused function. 3. Correct indentation. llvm-svn: 131028
* Make the logic for determining function alignment more explicit. No ↵Eli Friedman2011-05-0626-97/+30
| | | | | | functionality change. llvm-svn: 131012
* Dead code elimination.Rafael Espindola2011-05-062-4/+0
| | | | llvm-svn: 130984
* PTX: add PTX 2.3 language targetJustin Holewinski2011-05-063-1/+7
| | | | | | Patch by Wei-Ren Chen llvm-svn: 130980
* Move PPC Linux to CFI.Rafael Espindola2011-05-051-1/+1
| | | | llvm-svn: 130951
* PR9848: pandn is not commutative.Eli Friedman2011-05-051-1/+1
| | | | | | No test because I can't think of any way to write one that won't break quickly. llvm-svn: 130932
* Remove a flag that would set the ".eh" symbol as .globl. MachO was the only oneBill Wendling2011-05-051-1/+0
| | | | | | | | who used this flag, and it now emits CFI and doesn't emit this anymore. All other targets left this flag "false". <rdar://problem/8486371> llvm-svn: 130918
* Fix X86RegisterInfo::getMatchingSuperRegClass for sub_8bit_hi.Jakob Stoklund Olesen2011-05-041-13/+8
| | | | | | | It is OK for B to be any GR8_ABCD_H superclass, the returned register class doesn't have to map surjectively onto B. llvm-svn: 130892
OpenPOWER on IntegriCloud