summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Move isSubRegOf into MRegisterInfo. Fix a missed move elimination in ↵Christopher Lamb2007-08-102-17/+35
| | | | | | LowerSubregs and add more debugging output there. llvm-svn: 41005
* Do not overuse std::string. Pass around char * directly.Devang Patel2007-08-103-15/+14
| | | | llvm-svn: 41001
* Clone loop.Devang Patel2007-08-101-5/+25
| | | | llvm-svn: 40998
* Add utility to clone loops.Devang Patel2007-08-102-0/+158
| | | | llvm-svn: 40997
* Add #ifndef guard.Devang Patel2007-08-101-0/+6
| | | | llvm-svn: 40991
* add #ifndef guardsChris Lattner2007-08-101-0/+5
| | | | llvm-svn: 40990
* add Value::getNameStart/getNameLen() accessors.Chris Lattner2007-08-102-1/+30
| | | | llvm-svn: 40989
* Add a test script for counting lines. This can be used instead of theDan Gohman2007-08-101-0/+17
| | | | | | | | "| grep foo | wc -l | grep 2" idiom used by many tests, so that, for example, tests don't mistakenly accept a count of 12 when 2 is expected. Also, the new form is more consice: "| grep foo | count 2". llvm-svn: 40988
* Fix EXTRACT_ELEMENT, EXTRACT_SUBVECTOR, and EXTRACT_VECTOR_ELT toDan Gohman2007-08-102-3/+16
| | | | | | | use an intptr ValueType instead of i32 for the index operand in getCopyToParts. llvm-svn: 40987
* propagate struct size and alignment of byval arguments to the DAGRafael Espindola2007-08-106-4/+40
| | | | llvm-svn: 40986
* For kicks, I though it would be fun to use the correct opcode.Bill Wendling2007-08-101-31/+32
| | | | llvm-svn: 40985
* memcpy with zero length is hugely expensive, so avoid it. This speeds up ↵Chris Lattner2007-08-101-1/+5
| | | | | | coallescing from 1.17s to 0.88s on siod. llvm-svn: 40984
* small speedup in the case where a smallvector is default ctor'd fromChris Lattner2007-08-101-1/+2
| | | | | | an empty vector. This speeds up llc slightly. llvm-svn: 40983
* Adding SSSE3 intrinsics.Bill Wendling2007-08-102-19/+400
| | | | llvm-svn: 40982
* minor simplifications.Chris Lattner2007-08-101-10/+8
| | | | llvm-svn: 40981
* avoid copying strings.Chris Lattner2007-08-102-6/+7
| | | | llvm-svn: 40980
* Remove unncessary duplication.Devang Patel2007-08-101-14/+1
| | | | llvm-svn: 40979
* Calculate exit and start value of true loop and false loop respectively.Devang Patel2007-08-101-2/+28
| | | | llvm-svn: 40978
* ExitCondition and Induction variable are loop constraints Devang Patel2007-08-101-71/+145
| | | | | | not split condition constraints. llvm-svn: 40977
* unbreak the buildChris Lattner2007-08-091-1/+1
| | | | llvm-svn: 40976
* Bug fix. ~1U marks the val# dead.Evan Cheng2007-08-091-1/+1
| | | | llvm-svn: 40975
* Patch 10 for long double. Doing constants right needs expanding ConstantFPDale Johannesen2007-08-093-7/+28
| | | | | | | | | | | | to handle values bigger than double. If we assume host==target and host long double works correctly, this is not too bad, but we don't want to have that limitation longterm. I could implement accepting double constants as long double or something like that, which would lead to incorrect codegen with no errors; the more I think about that the worse it seems. Rather than do such a hack that would be backed out later, I'm settling for giving reasonable error messages, for now. llvm-svn: 40974
* Temporarily backing out this change until we know why some dejagnu tests are ↵Evan Cheng2007-08-091-3/+2
| | | | | | failing. llvm-svn: 40973
* divb / mulb outputs to ah. Under x86-64 it's not legal to read ah if the ↵Evan Cheng2007-08-092-4/+46
| | | | | | instruction requires a rex prefix (i.e. outputs to r8b, etc.). So issue shift right by 8 on AX and then truncate it to 8 bits instead. llvm-svn: 40972
* when we see a unaligned load from an insufficiently aligned global orChris Lattner2007-08-092-21/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alloca, increase the alignment of the load, turning it into an aligned load. This allows us to compile: #include <xmmintrin.h> __m128i foo(__m128i x){ static const unsigned int c_0[4] = { 0, 0, 0, 0 }; __m128i v_Zero = _mm_loadu_si128((__m128i*)c_0); x = _mm_unpacklo_epi8(x, v_Zero); return x; } into: _foo: punpcklbw _c_0.5944, %xmm0 ret .data .lcomm _c_0.5944,16,4 # c_0.5944 instead of: _foo: movdqu _c_0.5944, %xmm1 punpcklbw %xmm1, %xmm0 ret .data .lcomm _c_0.5944,16,2 # c_0.5944 llvm-svn: 40971
* GR16_ sub-register class should be GR8_, not GR8. That is, it should only be ↵Evan Cheng2007-08-091-3/+4
| | | | | | 8-bit registers in 32-bit mode. Ditto for GR32_. llvm-svn: 40970
* Update per review comments.Dale Johannesen2007-08-092-32/+17
| | | | llvm-svn: 40965
* Make NonLocal and None const in the right way. :-)Owen Anderson2007-08-095-32/+30
| | | | llvm-svn: 40961
* Traverse loop blocks' terminators to find split candidates.Devang Patel2007-08-091-48/+106
| | | | llvm-svn: 40960
* long double 9 of N. This finishes up the X86-32 bitsDale Johannesen2007-08-094-23/+96
| | | | | | | | (constants are still not handled). Adds ConvertActions to control fp-to-fp conversions (these are currently defaulted for all other targets, so no changes there). llvm-svn: 40958
* Fix arguments for some Altivec instructions. From SWB.Dale Johannesen2007-08-091-9/+15
| | | | llvm-svn: 40957
* If a target really needs to custom lower constants, it should be allowedScott Michel2007-08-081-3/+11
| | | | | | to do so. llvm-svn: 40955
* Add more comments to memdep.Owen Anderson2007-08-081-1/+27
| | | | llvm-svn: 40953
* Add cost analysis.Devang Patel2007-08-081-11/+41
| | | | llvm-svn: 40952
* Make memdep fit in 80 cols.Owen Anderson2007-08-081-15/+26
| | | | llvm-svn: 40950
* Add one more comment.Owen Anderson2007-08-081-0/+3
| | | | llvm-svn: 40949
* Cleanup and comment-ize the memdep header.Owen Anderson2007-08-081-11/+18
| | | | llvm-svn: 40948
* Preserve dom info while processing one iteration loop.Devang Patel2007-08-081-0/+17
| | | | llvm-svn: 40947
* Change the None and NonLocal markers in memdep to be const.Owen Anderson2007-08-085-30/+30
| | | | llvm-svn: 40946
* Separate program name from error message with a :Reid Spencer2007-08-081-1/+1
| | | | llvm-svn: 40945
* Clear split info.Devang Patel2007-08-081-0/+11
| | | | llvm-svn: 40944
* Terminate an error message with a newline.Reid Spencer2007-08-081-1/+1
| | | | llvm-svn: 40943
* Handle multiple split conditions.Devang Patel2007-08-081-60/+93
| | | | llvm-svn: 40941
* Make it clear that getSTDIN returns null when stdin is empty.Reid Spencer2007-08-081-1/+1
| | | | llvm-svn: 40940
* Make getSTDIN return null if the standard input is empty, as the header fileReid Spencer2007-08-081-2/+4
| | | | | | documentation implies and as its uses depend. llvm-svn: 40939
* Allow the filename "-" to be a place holder for stdin. This allows directingReid Spencer2007-08-081-0/+16
| | | | | | stdin through llvm-ld and llvm-link. llvm-svn: 40938
* Global values also don't undead-ify pointers in our dead alloca's set.Owen Anderson2007-08-081-0/+3
| | | | llvm-svn: 40936
* Make handleEndBlock significantly faster with one trivial improvement,Owen Anderson2007-08-081-4/+30
| | | | | | and one hack to avoid hitting a bad case when the alias analysis is imprecise. llvm-svn: 40935
* Small improvement: if a function doesn't access memory, we don't need to scanOwen Anderson2007-08-081-2/+8
| | | | | | it for potentially undeading pointers. llvm-svn: 40933
* Add some comments, remove a dead argument, and simplify some control flow.Owen Anderson2007-08-081-19/+28
| | | | | | No functionality change. llvm-svn: 40932
OpenPOWER on IntegriCloud