summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* Remove FIXME - if there's a better way to do this it isn't here.Eric Christopher2010-04-021-3/+0
| | | | llvm-svn: 100176
* Revert the recent alignment changes. They're broken for -Os because,Dan Gohman2010-04-021-1/+1
| | | | | | | in particular, they end up aligning strings at 16-byte boundaries, and there's no way for GlobalOpt to check OptForSize. llvm-svn: 100172
* Teach AnalyzeBranch, RemoveBranch and the branchDale Johannesen2010-04-0210-6/+102
| | | | | | | folder to be tolerant of debug info following the branch(es) at the end of a block. llvm-svn: 100168
* Disambiguate conditional expression for newer GCCs.Chandler Carruth2010-04-021-2/+2
| | | | llvm-svn: 100167
* Change variables which are exactly 16 bytes to be 16-byte-aligned too.Dan Gohman2010-04-021-1/+1
| | | | | | This fixes test/Transforms/GlobalOpt/gv-align.ll. llvm-svn: 100161
* Revert r100143.Eric Christopher2010-04-011-3/+0
| | | | llvm-svn: 100146
* In 64-bit mode, use i64 to lower memcpy / memset instead of f64.Evan Cheng2010-04-011-0/+1
| | | | llvm-svn: 100137
* Add comments about DstAlign and SrcAlign.Evan Cheng2010-04-014-6/+26
| | | | llvm-svn: 100132
* - Avoid using floating point stores to implement memset unless the value is ↵Evan Cheng2010-04-014-4/+7
| | | | | | | | zero. - Do not try to infer GV alignment unless its type is sized. It's not possible to infer alignment if it has opaque type. llvm-svn: 100118
* Fix sdisel memcpy, memset, memmove lowering:Evan Cheng2010-04-014-15/+23
| | | | | | | | | | | | | 1. Makes it possible to lower with floating point loads and stores. 2. Avoid unaligned loads / stores unless it's fast. 3. Fix some memcpy lowering logic bug related to when to optimize a load from constant string into a constant. 4. Adjust x86 memcpy lowering threshold to make it more sane. 5. Fix x86 target hook so it uses vector and floating point memory ops more effectively. rdar://7774704 llvm-svn: 100090
* Nehalem unaligned memory access is fast.Evan Cheng2010-04-013-2/+15
| | | | llvm-svn: 100089
* Add aeskeygenassist intrinsic and rename all of the aes intrinsics toEric Christopher2010-04-011-21/+29
| | | | | | | aes instead of sse4.2. Add a brief todo for a subtarget flag and rework the aeskeygenassist instruction to more closely match the docs. llvm-svn: 100078
* vml[as] are slow on 1136jf-s also.Jim Grosbach2010-04-011-1/+2
| | | | llvm-svn: 100066
* reduce indentation, minor cleanups.Chris Lattner2010-03-311-38/+42
| | | | llvm-svn: 100042
* Use spaces, not tabsJakob Stoklund Olesen2010-03-311-1/+1
| | | | llvm-svn: 100037
* Comment the changes for r98218 and friends inside the source code.Bill Wendling2010-03-311-0/+5
| | | | llvm-svn: 100033
* Comment the changes for r98218 and friends inside the source code.Bill Wendling2010-03-312-0/+10
| | | | llvm-svn: 100031
* Fix PR6750. Don't try to merge a DomainValue with itself.Jakob Stoklund Olesen2010-03-311-0/+2
| | | | llvm-svn: 100016
* Replace V_SET0 with variants for each SSE execution domain.Jakob Stoklund Olesen2010-03-313-15/+26
| | | | llvm-svn: 99975
* Fix typo. Thank you, valgrind.Jakob Stoklund Olesen2010-03-311-1/+1
| | | | llvm-svn: 99974
* Enable -sse-domain-fix by default. Now with tests!Jakob Stoklund Olesen2010-03-301-6/+1
| | | | llvm-svn: 99954
* V_SETALLONES is an integer instruction.Jakob Stoklund Olesen2010-03-301-1/+1
| | | | | | | Since it is just a pxor in disguise, we should probably expand it to a full polymorphic triple. llvm-svn: 99953
* Renumber SSE execution domains for better code size.Jakob Stoklund Olesen2010-03-303-24/+21
| | | | | | | | SSEDomainFix will collapse to the domain with the lower number when it has a choice. The SSEPackedSingle domain often has smaller instructions, so prefer that. llvm-svn: 99952
* Revert Mon Ping's change 99928, since it broke all the llvm-gcc buildbots.Bob Wilson2010-03-306-19/+15
| | | | llvm-svn: 99948
* Revert "Enable -sse-domain-fix by default. What could possibly go wrong?"Jakob Stoklund Olesen2010-03-301-1/+6
| | | | | | Not running 'make check-all' before committing is a bad idea. llvm-svn: 99933
* Enable -sse-domain-fix by default. What could possibly go wrong?Jakob Stoklund Olesen2010-03-301-6/+1
| | | | llvm-svn: 99931
* Added support for address spaces and added a isVolatile field to memcpy, ↵Mon P Wang2010-03-306-15/+19
| | | | | | | | | memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) A update of langref will occur in a subsequent checkin. llvm-svn: 99928
* Add cross-block inference to SSEDomainFix.Jakob Stoklund Olesen2010-03-301-29/+85
| | | | llvm-svn: 99916
* Remove the pmulld intrinsic and autoupdate it as a vector multiply.Eric Christopher2010-03-302-3/+22
| | | | | | | Rewrite the pmulld patterns, and make sure that they fold in loads of arguments into the instruction. llvm-svn: 99910
* Rip out the 'is temporary' nonsense from the MCContext interface toChris Lattner2010-03-307-21/+18
| | | | | | | | | create symbols. It is extremely error prone and a source of a lot of the remaining integrated assembler bugs on x86-64. This fixes rdar://7807601. llvm-svn: 99902
* XFAIL some PIC16 tests when running under valgrind-leaks. I don't expect theseBenjamin Kramer2010-03-301-0/+2
| | | | | | to be fixed any time soon. llvm-svn: 99888
* PIC16: Plug a leak in PIC16Section by allocating name & address strings in theBenjamin Kramer2010-03-302-13/+20
| | | | | | MCContext. There is still one leak left in PIC16Section (the Items vector). llvm-svn: 99887
* Add FIXME for operand promotion.Eric Christopher2010-03-301-0/+4
| | | | llvm-svn: 99859
* Be gentle to MSVC. C++ is hard, after all.Jakob Stoklund Olesen2010-03-301-2/+3
| | | | llvm-svn: 99855
* Basic implementation of SSEDomainFix pass.Jakob Stoklund Olesen2010-03-293-57/+399
| | | | | | Cross-block inference is primitive and wrong, but the pass is working otherwise. llvm-svn: 99848
* Make isInt?? and isUint?? template specializations of the generic versions. ThisBenjamin Kramer2010-03-299-40/+42
| | | | | | | makes calls a little bit more consistent and allows easy removal of the specializations in the future. Convert all callers to the templated functions. llvm-svn: 99838
* We'll never match these as instructions, just as intrinsics so removeEric Christopher2010-03-291-16/+10
| | | | | | the SDNodes. llvm-svn: 99835
* Remove a bunch of integer width predicate functions in favor of MathExtras.Benjamin Kramer2010-03-294-139/+11
| | | | | | | Most of these were unused, some of them were wrong and unused (isS16Constant<short>, isS10Constant<short>). llvm-svn: 99827
* From Kalle Raiskila:Chris Lattner2010-03-294-14/+158
| | | | | | | | "the bigstack patch for SPU, with testcase. It is essentially the patch committed as 97091, and reverted as 97099, but with the following additions: -in vararg handling, registers are marked to be live, to not confuse the register scavenger -function prologue and epilogue are not emitted, if the stack size is 16. 16 means it is empty - there is only the register scavenger emergency spill slot, which is not used as there is no stack." llvm-svn: 99819
* add a note.Chris Lattner2010-03-291-0/+3
| | | | llvm-svn: 99815
* Add NVTBLFrm to represent A8.6.406 VTBL, VTBX Vector Table Lookup Instructions.Johnny Chen2010-03-292-8/+9
| | | | | | | | | | | | | These instructions use byte index in a control vector (M:Vm) to lookup byte values in a table and generate a new vector (D:Vd). The table is specified via a list of vectors, which can be: {Dn} {Dn D<n+1>} {Dn D<n+1> D<n+2>} {Dn D<n+1> D<n+2> D<n+3>} llvm-svn: 99789
* zap an extra line that Eli noticed!Chris Lattner2010-03-281-1/+0
| | | | llvm-svn: 99770
* fix a type contradition: XCoreISD::RETSP has one argument, not zero.Chris Lattner2010-03-281-1/+1
| | | | llvm-svn: 99760
* remove a pattern with no testcase that doesn't appear to be Chris Lattner2010-03-281-2/+0
| | | | | | matchable: it seems like it would always constant fold. llvm-svn: 99758
* fix integer negates to use the proper type for the zero vectors,Chris Lattner2010-03-281-11/+14
| | | | | | | this also depends on the new "bitconvert dropping" behavior just added to tblgen. llvm-svn: 99757
* fix a typo, bitconvert from node to itself isn't valid.Chris Lattner2010-03-281-1/+1
| | | | llvm-svn: 99755
* fix vnot matching to explicitly specify the type of theChris Lattner2010-03-281-10/+16
| | | | | | | | | input to be v8i8 or v16i8, which buildvectors get canonicalized to. This allows the patterns that were previously using a bare 'vnot' to match, before they couldn't. llvm-svn: 99754
* fix up vnot matching, eliminating a dead pattern, correcting a couple ofChris Lattner2010-03-281-6/+11
| | | | | | | patterns that would never match because of bitcast, and eliminating use of vnot_conv. llvm-svn: 99753
* stop using vnot_convChris Lattner2010-03-281-3/+8
| | | | llvm-svn: 99750
* revert r99743, this is saying that the repmovs instructinos have anChris Lattner2010-03-281-2/+4
| | | | | | *input* of other type, which is the VT. llvm-svn: 99749
OpenPOWER on IntegriCloud