oota-llvm.git
16 years agoAdd 2-addr to 3-addr promotion code that allows 32-bit LEA to be used via subregister...
Christopher Lamb [Fri, 10 Aug 2007 21:18:25 +0000 (21:18 +0000)]
Add 2-addr to 3-addr promotion code that allows 32-bit LEA to be used via subregisters when 16-bit LEA is disabled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41007 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove isSubRegOf into MRegisterInfo. Fix a missed move elimination in LowerSubregs...
Christopher Lamb [Fri, 10 Aug 2007 21:11:55 +0000 (21:11 +0000)]
Move isSubRegOf into MRegisterInfo. Fix a missed move elimination in LowerSubregs and add more debugging output there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41005 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDo not overuse std::string. Pass around char * directly.
Devang Patel [Fri, 10 Aug 2007 18:29:32 +0000 (18:29 +0000)]
Do not overuse std::string.  Pass around char * directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41001 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClone loop.
Devang Patel [Fri, 10 Aug 2007 18:07:13 +0000 (18:07 +0000)]
Clone loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40998 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd utility to clone loops.
Devang Patel [Fri, 10 Aug 2007 17:59:47 +0000 (17:59 +0000)]
Add utility to clone loops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40997 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd #ifndef guard.
Devang Patel [Fri, 10 Aug 2007 15:58:23 +0000 (15:58 +0000)]
Add #ifndef guard.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40991 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd #ifndef guards
Chris Lattner [Fri, 10 Aug 2007 15:53:08 +0000 (15:53 +0000)]
add #ifndef guards

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40990 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd Value::getNameStart/getNameLen() accessors.
Chris Lattner [Fri, 10 Aug 2007 15:34:35 +0000 (15:34 +0000)]
add Value::getNameStart/getNameLen() accessors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40989 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a test script for counting lines. This can be used instead of the
Dan Gohman [Fri, 10 Aug 2007 15:07:05 +0000 (15:07 +0000)]
Add a test script for counting lines. This can be used instead of the
"| 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".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40988 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix EXTRACT_ELEMENT, EXTRACT_SUBVECTOR, and EXTRACT_VECTOR_ELT to
Dan Gohman [Fri, 10 Aug 2007 14:59:38 +0000 (14:59 +0000)]
Fix EXTRACT_ELEMENT, EXTRACT_SUBVECTOR, and EXTRACT_VECTOR_ELT to
use an intptr ValueType instead of i32 for the index operand in
getCopyToParts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40987 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agopropagate struct size and alignment of byval arguments to the DAG
Rafael Espindola [Fri, 10 Aug 2007 14:44:42 +0000 (14:44 +0000)]
propagate struct size and alignment of byval arguments to the DAG

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40986 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFor kicks, I though it would be fun to use the correct opcode.
Bill Wendling [Fri, 10 Aug 2007 09:00:17 +0000 (09:00 +0000)]
For kicks, I though it would be fun to use the correct opcode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40985 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomemcpy with zero length is hugely expensive, so avoid it. This speeds up coallescing...
Chris Lattner [Fri, 10 Aug 2007 07:02:50 +0000 (07:02 +0000)]
memcpy with zero length is hugely expensive, so avoid it.  This speeds up coallescing from 1.17s to 0.88s on siod.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40984 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agosmall speedup in the case where a smallvector is default ctor'd from
Chris Lattner [Fri, 10 Aug 2007 06:54:38 +0000 (06:54 +0000)]
small speedup in the case where a smallvector is default ctor'd from
an empty vector.  This speeds up llc slightly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40983 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdding SSSE3 intrinsics.
Bill Wendling [Fri, 10 Aug 2007 06:22:27 +0000 (06:22 +0000)]
Adding SSSE3 intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40982 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agominor simplifications.
Chris Lattner [Fri, 10 Aug 2007 06:22:25 +0000 (06:22 +0000)]
minor simplifications.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40981 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoavoid copying strings.
Chris Lattner [Fri, 10 Aug 2007 06:17:04 +0000 (06:17 +0000)]
avoid copying strings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40980 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove unncessary duplication.
Devang Patel [Fri, 10 Aug 2007 00:59:03 +0000 (00:59 +0000)]
Remove unncessary duplication.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40979 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCalculate exit and start value of true loop and false loop respectively.
Devang Patel [Fri, 10 Aug 2007 00:53:35 +0000 (00:53 +0000)]
Calculate exit and start value of true loop and false loop respectively.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40978 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoExitCondition and Induction variable are loop constraints
Devang Patel [Fri, 10 Aug 2007 00:33:50 +0000 (00:33 +0000)]
ExitCondition and Induction variable are loop constraints
not split condition constraints.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40977 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agounbreak the build
Chris Lattner [Thu, 9 Aug 2007 23:55:17 +0000 (23:55 +0000)]
unbreak the build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40976 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBug fix. ~1U marks the val# dead.
Evan Cheng [Thu, 9 Aug 2007 23:14:39 +0000 (23:14 +0000)]
Bug fix. ~1U marks the val# dead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40975 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPatch 10 for long double. Doing constants right needs expanding ConstantFP
Dale Johannesen [Thu, 9 Aug 2007 22:51:36 +0000 (22:51 +0000)]
Patch 10 for long double.  Doing constants right needs expanding ConstantFP
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40974 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTemporarily backing out this change until we know why some dejagnu tests are failing.
Evan Cheng [Thu, 9 Aug 2007 22:25:35 +0000 (22:25 +0000)]
Temporarily backing out this change until we know why some dejagnu tests are failing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40973 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agodivb / mulb outputs to ah. Under x86-64 it's not legal to read ah if the instruction...
Evan Cheng [Thu, 9 Aug 2007 21:59:35 +0000 (21:59 +0000)]
divb / mulb outputs to ah. Under x86-64 it's not legal to read ah if the 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40972 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agowhen we see a unaligned load from an insufficiently aligned global or
Chris Lattner [Thu, 9 Aug 2007 19:05:49 +0000 (19:05 +0000)]
when we see a unaligned load from an insufficiently aligned global or
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40971 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGR16_ sub-register class should be GR8_, not GR8. That is, it should only be 8-bit...
Evan Cheng [Thu, 9 Aug 2007 18:05:17 +0000 (18:05 +0000)]
GR16_ sub-register class should be GR8_, not GR8. That is, it should only be 8-bit registers in 32-bit mode. Ditto for GR32_.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40970 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate per review comments.
Dale Johannesen [Thu, 9 Aug 2007 17:27:48 +0000 (17:27 +0000)]
Update per review comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40965 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake NonLocal and None const in the right way. :-)
Owen Anderson [Thu, 9 Aug 2007 04:42:44 +0000 (04:42 +0000)]
Make NonLocal and None const in the right way. :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40961 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTraverse loop blocks' terminators to find split candidates.
Devang Patel [Thu, 9 Aug 2007 01:39:01 +0000 (01:39 +0000)]
Traverse loop blocks' terminators to find split candidates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40960 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agolong double 9 of N. This finishes up the X86-32 bits
Dale Johannesen [Thu, 9 Aug 2007 01:04:01 +0000 (01:04 +0000)]
long double 9 of N.  This finishes up the X86-32 bits
(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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40958 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix arguments for some Altivec instructions. From SWB.
Dale Johannesen [Thu, 9 Aug 2007 00:49:19 +0000 (00:49 +0000)]
Fix arguments for some Altivec instructions.  From SWB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40957 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIf a target really needs to custom lower constants, it should be allowed
Scott Michel [Wed, 8 Aug 2007 23:23:31 +0000 (23:23 +0000)]
If a target really needs to custom lower constants, it should be allowed
to do so.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40955 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd more comments to memdep.
Owen Anderson [Wed, 8 Aug 2007 22:26:03 +0000 (22:26 +0000)]
Add more comments to memdep.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40953 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd cost analysis.
Devang Patel [Wed, 8 Aug 2007 22:25:28 +0000 (22:25 +0000)]
Add cost analysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40952 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake memdep fit in 80 cols.
Owen Anderson [Wed, 8 Aug 2007 22:01:54 +0000 (22:01 +0000)]
Make memdep fit in 80 cols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40950 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd one more comment.
Owen Anderson [Wed, 8 Aug 2007 21:54:33 +0000 (21:54 +0000)]
Add one more comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40949 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCleanup and comment-ize the memdep header.
Owen Anderson [Wed, 8 Aug 2007 21:53:20 +0000 (21:53 +0000)]
Cleanup and comment-ize the memdep header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40948 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPreserve dom info while processing one iteration loop.
Devang Patel [Wed, 8 Aug 2007 21:39:47 +0000 (21:39 +0000)]
Preserve dom info while processing one iteration loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40947 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange the None and NonLocal markers in memdep to be const.
Owen Anderson [Wed, 8 Aug 2007 21:39:39 +0000 (21:39 +0000)]
Change the None and NonLocal markers in memdep to be const.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40946 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSeparate program name from error message with a :
Reid Spencer [Wed, 8 Aug 2007 21:19:01 +0000 (21:19 +0000)]
Separate program name from error message with a :

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40945 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClear split info.
Devang Patel [Wed, 8 Aug 2007 21:18:27 +0000 (21:18 +0000)]
Clear split info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40944 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTerminate an error message with a newline.
Reid Spencer [Wed, 8 Aug 2007 21:17:59 +0000 (21:17 +0000)]
Terminate an error message with a newline.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40943 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHandle multiple split conditions.
Devang Patel [Wed, 8 Aug 2007 21:02:17 +0000 (21:02 +0000)]
Handle multiple split conditions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40941 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake it clear that getSTDIN returns null when stdin is empty.
Reid Spencer [Wed, 8 Aug 2007 20:02:20 +0000 (20:02 +0000)]
Make it clear that getSTDIN returns null when stdin is empty.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40940 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake getSTDIN return null if the standard input is empty, as the header file
Reid Spencer [Wed, 8 Aug 2007 20:01:58 +0000 (20:01 +0000)]
Make getSTDIN return null if the standard input is empty, as the header file
documentation implies and as its uses depend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40939 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAllow the filename "-" to be a place holder for stdin. This allows directing
Reid Spencer [Wed, 8 Aug 2007 19:52:29 +0000 (19:52 +0000)]
Allow the filename "-" to be a place holder for stdin. This allows directing
stdin through llvm-ld and llvm-link.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40938 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGlobal values also don't undead-ify pointers in our dead alloca's set.
Owen Anderson [Wed, 8 Aug 2007 19:12:31 +0000 (19:12 +0000)]
Global values also don't undead-ify pointers in our dead alloca's set.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40936 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake handleEndBlock significantly faster with one trivial improvement,
Owen Anderson [Wed, 8 Aug 2007 18:38:28 +0000 (18:38 +0000)]
Make handleEndBlock significantly faster with one trivial improvement,
and one hack to avoid hitting a bad case when the alias analysis is imprecise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40935 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSmall improvement: if a function doesn't access memory, we don't need to scan
Owen Anderson [Wed, 8 Aug 2007 17:58:56 +0000 (17:58 +0000)]
Small improvement: if a function doesn't access memory, we don't need to scan
it for potentially undeading pointers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40933 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd some comments, remove a dead argument, and simplify some control flow.
Owen Anderson [Wed, 8 Aug 2007 17:50:09 +0000 (17:50 +0000)]
Add some comments, remove a dead argument, and simplify some control flow.
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40932 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoeliminate redundant conditions from the signless types conversion.
Chris Lattner [Wed, 8 Aug 2007 16:19:57 +0000 (16:19 +0000)]
eliminate redundant conditions from the signless types conversion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40927 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHandle functions with no name better.
Chris Lattner [Wed, 8 Aug 2007 16:07:23 +0000 (16:07 +0000)]
Handle functions with no name better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40926 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdding kill info to val#.
Evan Cheng [Wed, 8 Aug 2007 07:03:29 +0000 (07:03 +0000)]
Adding kill info to val#.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40925 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agosignificantly speed up constant folding of calls (and thus all clients that use
Chris Lattner [Wed, 8 Aug 2007 06:55:43 +0000 (06:55 +0000)]
significantly speed up constant folding of calls (and thus all clients that use
ConstantFoldInstruction on calls) by avoiding Value::getName().  getName() constructs
and returns an std::string, which does heap allocation stuff.  This slightly speeds up
instcombine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40924 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSpeed up updateDFSNumbers with two observations:
Chris Lattner [Wed, 8 Aug 2007 06:24:20 +0000 (06:24 +0000)]
Speed up updateDFSNumbers with two observations:
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40923 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoA few more small cleanups.
Owen Anderson [Wed, 8 Aug 2007 06:06:02 +0000 (06:06 +0000)]
A few more small cleanups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40922 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClean up and bug fix.
Evan Cheng [Wed, 8 Aug 2007 05:56:18 +0000 (05:56 +0000)]
Clean up and bug fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40921 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoreimplement dfs number computation to be significantly faster. This speeds up
Chris Lattner [Wed, 8 Aug 2007 05:51:24 +0000 (05:51 +0000)]
reimplement dfs number computation to be significantly faster.  This speeds up
natural loop canonicalization (which does many cfg xforms) by 4.3x, for
example.  This also fixes a bug in postdom dfnumber computation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40920 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFirst round of cleanups from Chris' feedback.
Owen Anderson [Wed, 8 Aug 2007 04:52:29 +0000 (04:52 +0000)]
First round of cleanups from Chris'  feedback.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40919 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago- Each val# can have multiple kills.
Evan Cheng [Wed, 8 Aug 2007 03:00:28 +0000 (03:00 +0000)]
- Each val# can have multiple kills.
- Fix some minor bugs related to special markers on val# def. ~0U means
  undefined, ~1U means dead val#.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40916 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEmbrace patch review feedback.
Devang Patel [Wed, 8 Aug 2007 01:51:27 +0000 (01:51 +0000)]
Embrace patch review feedback.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40915 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove a dead assertion.
Evan Cheng [Wed, 8 Aug 2007 01:00:21 +0000 (01:00 +0000)]
Remove a dead assertion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40914 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago- LiveInterval value#'s now have 3 components: def instruction #,
Evan Cheng [Tue, 7 Aug 2007 23:49:57 +0000 (23:49 +0000)]
- LiveInterval value#'s now have 3 components: def instruction #,
kill instruction #, and source register number (iff the value# is defined by a
copy).
- Now def instruction # is set for every value#, not just for copy defined ones.
- Update some outdated code related inactive live ranges.
- Kill info not yet set. That's next patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40913 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix new compare instruction's signness. Caught by Chris during review.
Devang Patel [Tue, 7 Aug 2007 23:17:52 +0000 (23:17 +0000)]
Fix new compare instruction's signness. Caught by Chris during review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40912 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix comment.
Devang Patel [Tue, 7 Aug 2007 23:16:03 +0000 (23:16 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40911 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't insert nearly as many redundant phi nodes.
Owen Anderson [Tue, 7 Aug 2007 23:12:31 +0000 (23:12 +0000)]
Don't insert nearly as many redundant phi nodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40909 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix spelling of mtvscr and mfvscr.
Dale Johannesen [Tue, 7 Aug 2007 23:08:00 +0000 (23:08 +0000)]
Fix spelling of mtvscr and mfvscr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40908 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLong double patch 8 of N: make it partially work in
Dale Johannesen [Tue, 7 Aug 2007 20:29:26 +0000 (20:29 +0000)]
Long double patch 8 of N:  make it partially work in
SSE mode (all but conversions <-> other FP types, I think):
>>Do not mark all-80-bit operations as "Requires[FPStack]"
(which really means "not SSE").
>>Refactor load-and-extend to facilitate this.
>>Update comments.
>>Handle long double in SSE when computing FP_REG_KILL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40906 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWho thought up this crazy formatting scheme?
Reid Spencer [Tue, 7 Aug 2007 17:57:36 +0000 (17:57 +0000)]
Who thought up this crazy formatting scheme?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40905 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoOkay, over/back tags don't next.
Reid Spencer [Tue, 7 Aug 2007 17:48:56 +0000 (17:48 +0000)]
Okay, over/back tags don't next.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40904 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse eraseFromParent().
Devang Patel [Tue, 7 Aug 2007 17:45:35 +0000 (17:45 +0000)]
Use eraseFromParent().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40903 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTry an indent level for better formatting.
Reid Spencer [Tue, 7 Aug 2007 17:43:48 +0000 (17:43 +0000)]
Try an indent level for better formatting.
Add the -version option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40902 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd the code generation options.
Reid Spencer [Tue, 7 Aug 2007 17:12:43 +0000 (17:12 +0000)]
Add the code generation options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40900 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake this code more efficient
David Greene [Tue, 7 Aug 2007 16:57:55 +0000 (16:57 +0000)]
Make this code more efficient

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40899 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix comment typo
David Greene [Tue, 7 Aug 2007 16:52:03 +0000 (16:52 +0000)]
Fix comment typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40898 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix GLIBCXX_DEBUG error triggered by incrementing erased iterator.
David Greene [Tue, 7 Aug 2007 16:44:38 +0000 (16:44 +0000)]
Fix GLIBCXX_DEBUG error triggered by incrementing erased iterator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40897 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a missing forward declaration.
David Greene [Tue, 7 Aug 2007 16:34:05 +0000 (16:34 +0000)]
Add a missing forward declaration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40896 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRearrange options into sections and add the last floating point related option.
Reid Spencer [Tue, 7 Aug 2007 16:29:57 +0000 (16:29 +0000)]
Rearrange options into sections and add the last floating point related option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40895 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd the -disable-excess-fp-precision option.
Reid Spencer [Tue, 7 Aug 2007 16:23:42 +0000 (16:23 +0000)]
Add the -disable-excess-fp-precision option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40894 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd another missing option.
Reid Spencer [Tue, 7 Aug 2007 16:21:52 +0000 (16:21 +0000)]
Add another missing option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40893 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd some more missing options.
Reid Spencer [Tue, 7 Aug 2007 16:11:57 +0000 (16:11 +0000)]
Add some more missing options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40892 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove the -f option which is no longer supported, but add the -fake-argv0
Reid Spencer [Tue, 7 Aug 2007 15:48:16 +0000 (15:48 +0000)]
Remove the -f option which is no longer supported, but add the -fake-argv0
option which is similar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40891 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDescribe the global/local naming convention.
Reid Spencer [Tue, 7 Aug 2007 14:34:28 +0000 (14:34 +0000)]
Describe the global/local naming convention.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40890 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd reference to problem report.
Nick Lewycky [Tue, 7 Aug 2007 12:27:03 +0000 (12:27 +0000)]
Add reference to problem report.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40889 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoInitial JIT support for ARM by Raul Fernandes Herbster.
Evan Cheng [Tue, 7 Aug 2007 01:37:15 +0000 (01:37 +0000)]
Initial JIT support for ARM by Raul Fernandes Herbster.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40887 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLong double patch 7 of N, unless I lost count:).
Dale Johannesen [Tue, 7 Aug 2007 01:17:37 +0000 (01:17 +0000)]
Long double patch 7 of N, unless I lost count:).
Last x87 bits for full functionality (not
thoroughly tested, and long doubles do not work
in SSE modes at all - use -mcpu=i486 for now)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40886 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGet rid of unnecessary #include.
Owen Anderson [Tue, 7 Aug 2007 00:38:16 +0000 (00:38 +0000)]
Get rid of unnecessary #include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40885 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClean up a bunch of caching stuff in memdep. This reduces the time to run GVN
Owen Anderson [Tue, 7 Aug 2007 00:33:45 +0000 (00:33 +0000)]
Clean up a bunch of caching stuff in memdep.  This reduces the time to run GVN
on 403.gcc from ~15s to ~10s.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40884 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBegin loop index split pass.
Devang Patel [Tue, 7 Aug 2007 00:25:56 +0000 (00:25 +0000)]
Begin loop index split pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40883 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImprove the accuracy of memdep for determining the dependencies of loads.
Owen Anderson [Mon, 6 Aug 2007 23:26:03 +0000 (23:26 +0000)]
Improve the accuracy of memdep for determining the dependencies of loads.
This brings GVN to parity with GCSE+LoadVN.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40882 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReplace 4-line function with 10-line version per review comment.
Dale Johannesen [Mon, 6 Aug 2007 22:10:35 +0000 (22:10 +0000)]
Replace 4-line function with 10-line version per review comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40881 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoremove #if 0 code.
Chris Lattner [Mon, 6 Aug 2007 22:03:19 +0000 (22:03 +0000)]
remove #if 0 code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40880 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoremove #if 0 code.
Chris Lattner [Mon, 6 Aug 2007 22:01:53 +0000 (22:01 +0000)]
remove #if 0 code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40879 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove lengthy conditional down 1 level per review comment.
Dale Johannesen [Mon, 6 Aug 2007 21:48:35 +0000 (21:48 +0000)]
Move lengthy conditional down 1 level per review comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40878 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGet X86 long double calling convention to work
Dale Johannesen [Mon, 6 Aug 2007 21:31:06 +0000 (21:31 +0000)]
Get X86 long double calling convention to work
(on Darwin, anyway).  Fix some table omissions for
LD arithmetic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40877 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoregenerate
Chris Lattner [Mon, 6 Aug 2007 21:00:46 +0000 (21:00 +0000)]
regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40875 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix PR1577, a crash on invalid bug.
Chris Lattner [Mon, 6 Aug 2007 21:00:37 +0000 (21:00 +0000)]
Fix PR1577, a crash on invalid bug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40874 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThis resolves a regression of BasicAA which failed to find any memory information...
Chandler Carruth [Mon, 6 Aug 2007 20:57:16 +0000 (20:57 +0000)]
This resolves a regression of BasicAA which failed to find any memory information for overloaded intrinsics (PR1600). This resolves that issue, and improves the matching scheme to use a BitVector rather than a binary search.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40872 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThis fixes resizing issues with BitVectors. It ensures that the BitWord type and...
Chandler Carruth [Mon, 6 Aug 2007 20:52:17 +0000 (20:52 +0000)]
This fixes resizing issues with BitVectors. It ensures that the BitWord type and type size is always used, and ensures completely correct clearing of unused high bits, and setting of bits when resizing. It should resolve PR1563.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40871 91177308-0d34-0410-b5e6-96231b3b80d8