| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Do not overuse std::string. Pass around char * directly. | Devang Patel | 2007-08-10 | 2 | -12/+12 |
| | | | | | llvm-svn: 41001 | ||||
| * | Clone loop. | Devang Patel | 2007-08-10 | 1 | -5/+25 |
| | | | | | llvm-svn: 40998 | ||||
| * | Add utility to clone loops. | Devang Patel | 2007-08-10 | 1 | -0/+149 |
| | | | | | llvm-svn: 40997 | ||||
| * | add Value::getNameStart/getNameLen() accessors. | Chris Lattner | 2007-08-10 | 1 | -0/+15 |
| | | | | | llvm-svn: 40989 | ||||
| * | Fix EXTRACT_ELEMENT, EXTRACT_SUBVECTOR, and EXTRACT_VECTOR_ELT to | Dan Gohman | 2007-08-10 | 1 | -3/+5 |
| | | | | | | | | 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 DAG | Rafael Espindola | 2007-08-10 | 3 | -3/+25 |
| | | | | | llvm-svn: 40986 | ||||
| * | For kicks, I though it would be fun to use the correct opcode. | Bill Wendling | 2007-08-10 | 1 | -31/+32 |
| | | | | | llvm-svn: 40985 | ||||
| * | Adding SSSE3 intrinsics. | Bill Wendling | 2007-08-10 | 1 | -17/+284 |
| | | | | | llvm-svn: 40982 | ||||
| * | minor simplifications. | Chris Lattner | 2007-08-10 | 1 | -10/+8 |
| | | | | | llvm-svn: 40981 | ||||
| * | avoid copying strings. | Chris Lattner | 2007-08-10 | 1 | -4/+4 |
| | | | | | llvm-svn: 40980 | ||||
| * | Remove unncessary duplication. | Devang Patel | 2007-08-10 | 1 | -14/+1 |
| | | | | | llvm-svn: 40979 | ||||
| * | Calculate exit and start value of true loop and false loop respectively. | Devang Patel | 2007-08-10 | 1 | -2/+28 |
| | | | | | llvm-svn: 40978 | ||||
| * | ExitCondition and Induction variable are loop constraints | Devang Patel | 2007-08-10 | 1 | -71/+145 |
| | | | | | | | not split condition constraints. llvm-svn: 40977 | ||||
| * | unbreak the build | Chris Lattner | 2007-08-09 | 1 | -1/+1 |
| | | | | | llvm-svn: 40976 | ||||
| * | Bug fix. ~1U marks the val# dead. | Evan Cheng | 2007-08-09 | 1 | -1/+1 |
| | | | | | llvm-svn: 40975 | ||||
| * | Patch 10 for long double. Doing constants right needs expanding ConstantFP | Dale Johannesen | 2007-08-09 | 3 | -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 Cheng | 2007-08-09 | 1 | -3/+2 |
| | | | | | | | failing. llvm-svn: 40973 | ||||
| * | divb / mulb outputs to ah. Under x86-64 it's not legal to read ah if the ↵ | Evan Cheng | 2007-08-09 | 2 | -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 or | Chris Lattner | 2007-08-09 | 1 | -21/+39 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Cheng | 2007-08-09 | 1 | -3/+4 |
| | | | | | | | 8-bit registers in 32-bit mode. Ditto for GR32_. llvm-svn: 40970 | ||||
| * | Update per review comments. | Dale Johannesen | 2007-08-09 | 1 | -30/+15 |
| | | | | | llvm-svn: 40965 | ||||
| * | Make NonLocal and None const in the right way. :-) | Owen Anderson | 2007-08-09 | 4 | -26/+24 |
| | | | | | llvm-svn: 40961 | ||||
| * | Traverse loop blocks' terminators to find split candidates. | Devang Patel | 2007-08-09 | 1 | -48/+106 |
| | | | | | llvm-svn: 40960 | ||||
| * | long double 9 of N. This finishes up the X86-32 bits | Dale Johannesen | 2007-08-09 | 3 | -23/+61 |
| | | | | | | | | | (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 Johannesen | 2007-08-09 | 1 | -9/+15 |
| | | | | | llvm-svn: 40957 | ||||
| * | If a target really needs to custom lower constants, it should be allowed | Scott Michel | 2007-08-08 | 1 | -3/+11 |
| | | | | | | | to do so. llvm-svn: 40955 | ||||
| * | Add more comments to memdep. | Owen Anderson | 2007-08-08 | 1 | -1/+27 |
| | | | | | llvm-svn: 40953 | ||||
| * | Add cost analysis. | Devang Patel | 2007-08-08 | 1 | -11/+41 |
| | | | | | llvm-svn: 40952 | ||||
| * | Make memdep fit in 80 cols. | Owen Anderson | 2007-08-08 | 1 | -15/+26 |
| | | | | | llvm-svn: 40950 | ||||
| * | Preserve dom info while processing one iteration loop. | Devang Patel | 2007-08-08 | 1 | -0/+17 |
| | | | | | llvm-svn: 40947 | ||||
| * | Change the None and NonLocal markers in memdep to be const. | Owen Anderson | 2007-08-08 | 4 | -24/+24 |
| | | | | | llvm-svn: 40946 | ||||
| * | Clear split info. | Devang Patel | 2007-08-08 | 1 | -0/+11 |
| | | | | | llvm-svn: 40944 | ||||
| * | Handle multiple split conditions. | Devang Patel | 2007-08-08 | 1 | -60/+93 |
| | | | | | llvm-svn: 40941 | ||||
| * | Make getSTDIN return null if the standard input is empty, as the header file | Reid Spencer | 2007-08-08 | 1 | -2/+4 |
| | | | | | | | documentation implies and as its uses depend. llvm-svn: 40939 | ||||
| * | Allow the filename "-" to be a place holder for stdin. This allows directing | Reid Spencer | 2007-08-08 | 1 | -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 Anderson | 2007-08-08 | 1 | -0/+3 |
| | | | | | llvm-svn: 40936 | ||||
| * | Make handleEndBlock significantly faster with one trivial improvement, | Owen Anderson | 2007-08-08 | 1 | -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 scan | Owen Anderson | 2007-08-08 | 1 | -2/+8 |
| | | | | | | | it for potentially undeading pointers. llvm-svn: 40933 | ||||
| * | Add some comments, remove a dead argument, and simplify some control flow. | Owen Anderson | 2007-08-08 | 1 | -19/+28 |
| | | | | | | | No functionality change. llvm-svn: 40932 | ||||
| * | eliminate redundant conditions from the signless types conversion. | Chris Lattner | 2007-08-08 | 1 | -7/+4 |
| | | | | | llvm-svn: 40927 | ||||
| * | Handle functions with no name better. | Chris Lattner | 2007-08-08 | 1 | -1/+2 |
| | | | | | llvm-svn: 40926 | ||||
| * | Adding kill info to val#. | Evan Cheng | 2007-08-08 | 1 | -3/+10 |
| | | | | | llvm-svn: 40925 | ||||
| * | significantly speed up constant folding of calls (and thus all clients that use | Chris Lattner | 2007-08-08 | 1 | -94/+131 |
| | | | | | | | | | ConstantFoldInstruction on calls) by avoiding Value::getName(). getName() constructs and returns an std::string, which does heap allocation stuff. This slightly speeds up instcombine. llvm-svn: 40924 | ||||
| * | Speed up updateDFSNumbers with two observations: | Chris Lattner | 2007-08-08 | 1 | -22/+17 |
| | | | | | | | | | | | | 1. domtree is a tree, not a graph. There is no need to avoid revisiting nodes with a set. 2. the worklist can contain the child iterator pointers so we don't get N^2 rescanning of children. This speeds up updateDFSNumbers significantly, making it basically free. On the testcase in PR1432, this speeds up loopsimplify by another 3x, dropping it from the 12th most expensive pass to the to the 30th. :) It used to be #1. llvm-svn: 40923 | ||||
| * | A few more small cleanups. | Owen Anderson | 2007-08-08 | 1 | -9/+7 |
| | | | | | llvm-svn: 40922 | ||||
| * | Clean up and bug fix. | Evan Cheng | 2007-08-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 40921 | ||||
| * | reimplement dfs number computation to be significantly faster. This speeds up | Chris Lattner | 2007-08-08 | 2 | -49/+36 |
| | | | | | | | | natural loop canonicalization (which does many cfg xforms) by 4.3x, for example. This also fixes a bug in postdom dfnumber computation. llvm-svn: 40920 | ||||
| * | First round of cleanups from Chris' feedback. | Owen Anderson | 2007-08-08 | 1 | -51/+58 |
| | | | | | llvm-svn: 40919 | ||||
| * | - Each val# can have multiple kills. | Evan Cheng | 2007-08-08 | 3 | -12/+10 |
| | | | | | | | | - Fix some minor bugs related to special markers on val# def. ~0U means undefined, ~1U means dead val#. llvm-svn: 40916 | ||||
| * | Embrace patch review feedback. | Devang Patel | 2007-08-08 | 1 | -23/+23 |
| | | | | | llvm-svn: 40915 | ||||

