oota-llvm.git
18 years agoUnbreak x86 be
Evan Cheng [Fri, 17 Feb 2006 07:01:52 +0000 (07:01 +0000)]
Unbreak x86 be

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

18 years agoFix loops where the header has an exit, fixing a loop-unswitch crash on crafty
Chris Lattner [Fri, 17 Feb 2006 06:39:56 +0000 (06:39 +0000)]
Fix loops where the header has an exit, fixing a loop-unswitch crash on crafty

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

18 years agoFix a comment sabre noticed :)
Nate Begeman [Fri, 17 Feb 2006 06:24:31 +0000 (06:24 +0000)]
Fix a comment sabre noticed :)

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

18 years agoA couple new regression tests to make sure we always pattern match the new
Nate Begeman [Fri, 17 Feb 2006 06:16:56 +0000 (06:16 +0000)]
A couple new regression tests to make sure we always pattern match the new
opcodes on ppc.

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

18 years agokill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBC
Nate Begeman [Fri, 17 Feb 2006 05:43:56 +0000 (05:43 +0000)]
kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBC
and SUBE nodes that actually expose what's going on and allow for
significant simplifications in the targets.

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

18 years agoFix another miscompilation exposed by lencode, where we lowered i64->f32
Chris Lattner [Fri, 17 Feb 2006 04:32:33 +0000 (04:32 +0000)]
Fix another miscompilation exposed by lencode, where we lowered i64->f32
conversions to __floatdidf instead of __floatdisf on targets that support
f32 but not i64 (e.g. sparc).

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

18 years agoadd note about div by power of 2
Chris Lattner [Fri, 17 Feb 2006 04:20:13 +0000 (04:20 +0000)]
add note about div by power of 2

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

18 years agoFix bug noticed by VC++.
Jeff Cohen [Fri, 17 Feb 2006 02:12:18 +0000 (02:12 +0000)]
Fix bug noticed by VC++.

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

18 years agoInform Visual Studio of deleted file.
Jeff Cohen [Fri, 17 Feb 2006 02:11:34 +0000 (02:11 +0000)]
Inform Visual Studio of deleted file.

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

18 years agoWhoops, didn't mean to check this in yet.
Nate Begeman [Fri, 17 Feb 2006 00:56:19 +0000 (00:56 +0000)]
Whoops, didn't mean to check this in yet.

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

18 years agoAdd a missing and useful pat frag
Nate Begeman [Fri, 17 Feb 2006 00:51:06 +0000 (00:51 +0000)]
Add a missing and useful pat frag

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

18 years agostart of some new simplification code, not thoroughly tested, use at your own
Chris Lattner [Fri, 17 Feb 2006 00:31:07 +0000 (00:31 +0000)]
start of some new simplification code, not thoroughly tested, use at your own
risk :)

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

18 years agoRemind ourselves to revisit the "pxor vs. xorps/xorpd to clear XMM registers"
Evan Cheng [Fri, 17 Feb 2006 00:04:28 +0000 (00:04 +0000)]
Remind ourselves to revisit the "pxor vs. xorps/xorpd to clear XMM registers"
issue. Need to do more experiments.

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

18 years agoKill the x86 pattern isel. boom.
Nate Begeman [Fri, 17 Feb 2006 00:03:04 +0000 (00:03 +0000)]
Kill the x86 pattern isel.  boom.

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

18 years agoRemove the entry about using movapd for SSE reg-reg moves.
Evan Cheng [Fri, 17 Feb 2006 00:00:58 +0000 (00:00 +0000)]
Remove the entry about using movapd for SSE reg-reg moves.

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

18 years agopxor (for FLD0SS) encoding was missing the OpSize prefix.
Evan Cheng [Thu, 16 Feb 2006 23:59:30 +0000 (23:59 +0000)]
pxor (for FLD0SS) encoding was missing the OpSize prefix.

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

18 years agoRemove the skeleton target, it doesn't produce useful code and there are
Chris Lattner [Thu, 16 Feb 2006 23:14:50 +0000 (23:14 +0000)]
Remove the skeleton target, it doesn't produce useful code and there are
other small targets that do that can be learned from.  They also have
the added advantage of being tested :)

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

18 years agoDumb bug. Code sees a memcpy from X+c so it increments src offset. But it
Evan Cheng [Thu, 16 Feb 2006 23:11:42 +0000 (23:11 +0000)]
Dumb bug. Code sees a memcpy from X+c so it increments src offset. But it
turns out not to point to a constant string but it forgot change the offset
back.

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

18 years ago1. Use pxor instead of xoraps / xorapd to clear FR32 / FR64 registers. This
Evan Cheng [Thu, 16 Feb 2006 22:45:17 +0000 (22:45 +0000)]
1. Use pxor instead of xoraps / xorapd to clear FR32 / FR64 registers. This
   proves to be worth 20% on Ptrdist/ks. Might be related to dependency
   breaking support.
2. Added FsMOVAPSrr and FsMOVAPDrr as aliases to MOVAPSrr and MOVAPDrr. These
   are used for FR32 / FR64 reg-to-reg copies.
3. Tell reg-allocator to generate MOVSSrm / MOVSDrm and MOVSSmr / MOVSDmr to
   spill / restore FsMOVAPSrr and FsMOVAPDrr.

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

18 years agoUse movaps / movapd to spill / restore V4F4 / V2F8 registers.
Evan Cheng [Thu, 16 Feb 2006 21:20:26 +0000 (21:20 +0000)]
Use movaps / movapd to spill / restore V4F4 / V2F8 registers.

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

18 years agoremove skeleton target
Chris Lattner [Thu, 16 Feb 2006 21:12:54 +0000 (21:12 +0000)]
remove skeleton target

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

18 years agoRework the SelectionDAG-based implementations of SimplifyDemandedBits
Nate Begeman [Thu, 16 Feb 2006 21:11:51 +0000 (21:11 +0000)]
Rework the SelectionDAG-based implementations of SimplifyDemandedBits
and ComputeMaskedBits to match the new improved versions in instcombine.
Tested against all of multisource/benchmarks on ppc.

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

18 years agodon't build the skeleton target
Chris Lattner [Thu, 16 Feb 2006 21:11:49 +0000 (21:11 +0000)]
don't build the skeleton target

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

18 years agoremove support for the skeleton target
Chris Lattner [Thu, 16 Feb 2006 21:10:57 +0000 (21:10 +0000)]
remove support for the skeleton target

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

18 years agoChange SplitBlock to increment a BasicBlock::iterator, not an Instruction*. Apparent...
Chris Lattner [Thu, 16 Feb 2006 19:36:22 +0000 (19:36 +0000)]
Change SplitBlock to increment a BasicBlock::iterator, not an Instruction*.  Apparently they do different things :)

This fixes a testcase that nate reduced from spass.

Also included are a couple minor code changes that don't affect the generated
code at all.

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

18 years agoMOVAPSrr and MOVAPDrr instruction format should be MRMSrcReg.
Evan Cheng [Thu, 16 Feb 2006 19:34:41 +0000 (19:34 +0000)]
MOVAPSrr and MOVAPDrr instruction format should be MRMSrcReg.

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

18 years agodistinguish between objects and register names, now we can have stuff
Duraid Madina [Thu, 16 Feb 2006 13:12:57 +0000 (13:12 +0000)]
distinguish between objects and register names, now we can have stuff
with names like "f84", "in6" etc etc.

this should fix one or two tests

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

18 years agoIf the false case is the current basic block, then this is a self loop.
Evan Cheng [Thu, 16 Feb 2006 08:27:56 +0000 (08:27 +0000)]
If the false case is the current basic block, then this is a self loop.
We do not want to emit "Loop: ... brcond Out; br Loop", as it adds an extra
instruction in the loop.  Instead, invert the condition and emit
"Loop: ... br!cond Loop; br Out.

Generalize the fix by moving it from PPCDAGToDAGISel to SelectionDAGLowering.

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

18 years agoLowering of sdiv X, pow2 was broken, this fixes it. This patch is written
Chris Lattner [Thu, 16 Feb 2006 08:02:36 +0000 (08:02 +0000)]
Lowering of sdiv X, pow2 was broken, this fixes it.  This patch is written
by Nate, I'm just committing it for him.

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

18 years agoFix a minor makefile bug with lex/yacc handling that nate noticed. We don't
Chris Lattner [Thu, 16 Feb 2006 05:10:48 +0000 (05:10 +0000)]
Fix a minor makefile bug with lex/yacc handling that nate noticed.  We don't
want to copy the files when the .cpp file changes, we want to copy them
to the .cvs versions when the .l/.y file change (like the comments even say).
This avoids having bogus changes show up in diffs.

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

18 years agoFix VC++ warning.
Jeff Cohen [Thu, 16 Feb 2006 04:07:37 +0000 (04:07 +0000)]
Fix VC++ warning.

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

18 years agoVisual Studio enters the future of bisoning.
Jeff Cohen [Thu, 16 Feb 2006 04:07:03 +0000 (04:07 +0000)]
Visual Studio enters the future of bisoning.

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

18 years agoUse movaps / movapd (instead of movss / movsd) to do FR32 / FR64 reg to reg
Evan Cheng [Thu, 16 Feb 2006 01:50:02 +0000 (01:50 +0000)]
Use movaps / movapd (instead of movss / movsd) to do FR32 / FR64 reg to reg
transfer.

According to the Intel P4 Optimization Manual:

Moves that write a portion of a register can introduce unwanted
dependences. The movsd reg, reg instruction writes only the bottom
64 bits of a register, not to all 128 bits. This introduces a dependence on
the preceding instruction that produces the upper 64 bits (even if those
bits are not longer wanted). The dependence inhibits register renaming,
and thereby reduces parallelism.

Not to mention movaps is shorter than movss.

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

18 years agofix a bug where we unswitched the wrong way
Chris Lattner [Thu, 16 Feb 2006 01:24:41 +0000 (01:24 +0000)]
fix a bug where we unswitched the wrong way

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

18 years agoA bit more memset / memcpy optimization.
Evan Cheng [Thu, 16 Feb 2006 00:21:07 +0000 (00:21 +0000)]
A bit more memset / memcpy optimization.
Turns them into calls to memset / memcpy if 1) buffer(s) are not DWORD aligned,
2) size is not known to be greater or equal to some minimum value (currently 128).

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

18 years agoImplement trivial unswitching for switch stmts. This allows us to trivial
Chris Lattner [Wed, 15 Feb 2006 22:52:05 +0000 (22:52 +0000)]
Implement trivial unswitching for switch stmts.  This allows us to trivial
unswitch this loop on 2 before sweating to unswitch on 1/3.

void test4(int N, int i, int C, int*P, int*Q) {
  int j;
  for (j = 0; j < N; ++j) {
    switch (C) {                // general unswitching.
    default: P[i+j] = 0; break;
    case 1: Q[i+j] = 0; break;
    case 3: P[i+j] = Q[i+j]; break;
    case 2: break;              //  TRIVIAL UNSWITCH on C==2
    }
  }
}

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

18 years agoRemove an entry.
Evan Cheng [Wed, 15 Feb 2006 22:14:34 +0000 (22:14 +0000)]
Remove an entry.

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

18 years agoRemove an unused function parameter.
Evan Cheng [Wed, 15 Feb 2006 22:12:35 +0000 (22:12 +0000)]
Remove an unused function parameter.

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

18 years agomake "trivial" unswitching significantly more general. It can now handle
Chris Lattner [Wed, 15 Feb 2006 22:03:36 +0000 (22:03 +0000)]
make "trivial" unswitching significantly more general.  It can now handle
this for example:

  for (j = 0; j < N; ++j) {     // trivial unswitch
    if (C)
      P[i+j] = 0;
  }

turning it into the obvious code without bothering to duplicate an empty loop.

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

18 years agoTurn a memcpy from string constant into a series of stores of constant values.
Evan Cheng [Wed, 15 Feb 2006 21:59:04 +0000 (21:59 +0000)]
Turn a memcpy from string constant into a series of stores of constant values.

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

18 years agofix a bunch of alpha regressions. see bug 709
Andrew Lenharth [Wed, 15 Feb 2006 21:13:37 +0000 (21:13 +0000)]
fix a bunch of alpha regressions.  see bug 709

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

18 years agonew test
Chris Lattner [Wed, 15 Feb 2006 19:52:06 +0000 (19:52 +0000)]
new test

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

18 years agoShould not combine ISD::LOCATIONs until we have scheme to remove from
Jim Laskey [Wed, 15 Feb 2006 19:34:44 +0000 (19:34 +0000)]
Should not combine ISD::LOCATIONs until we have scheme to remove from
MachineDebugInfo tables.

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

18 years agoChecking the wrong value. This caused us to emit silly code like
Chris Lattner [Wed, 15 Feb 2006 19:05:52 +0000 (19:05 +0000)]
Checking the wrong value.  This caused us to emit silly code like
Y = seteq bool X, true
instead of just using X :)

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

18 years agoCode sufficiently protected against this test.
Jim Laskey [Wed, 15 Feb 2006 17:20:59 +0000 (17:20 +0000)]
Code sufficiently protected against this test.

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

18 years agoreverting previous change, will add support for other compilers later
Duraid Madina [Wed, 15 Feb 2006 07:57:42 +0000 (07:57 +0000)]
reverting previous change, will add support for other compilers later

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

18 years agoConvert over to the new way of handling lex/bison checked into cvs
Chris Lattner [Wed, 15 Feb 2006 07:26:07 +0000 (07:26 +0000)]
Convert over to the new way of handling lex/bison checked into cvs

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

18 years agoCheck the new form for bison output into CVS
Chris Lattner [Wed, 15 Feb 2006 07:24:01 +0000 (07:24 +0000)]
Check the new form for bison output into CVS

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

18 years agobugfixes
Chris Lattner [Wed, 15 Feb 2006 07:23:05 +0000 (07:23 +0000)]
bugfixes

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

18 years agoConvert this over to work with the new makefiles
Chris Lattner [Wed, 15 Feb 2006 07:22:58 +0000 (07:22 +0000)]
Convert this over to work with the new makefiles

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

18 years agoConvert the bison-output-checked-into-cvs makefile handling stuff to work
Chris Lattner [Wed, 15 Feb 2006 07:16:57 +0000 (07:16 +0000)]
Convert the bison-output-checked-into-cvs makefile handling stuff to work
like the flex stuff, which actually works when people do cvs updates and
get conflicts in the updated checked in file.

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

18 years agoSparc actually *DOES* have a directive for emitting zeros. In fact, it requires
Chris Lattner [Wed, 15 Feb 2006 07:07:14 +0000 (07:07 +0000)]
Sparc actually *DOES* have a directive for emitting zeros.  In fact, it requires
it, because this:

.bss
X:
.byte 0

results in the assembler warning: "initialization in bss segment".  Annoying.

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

18 years agorandom lexer change to test the makefile updating stuff
Chris Lattner [Wed, 15 Feb 2006 07:02:59 +0000 (07:02 +0000)]
random lexer change to test the makefile updating stuff

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

18 years agoFix SingleSource/Regression/C/2004-08-12-InlinerAndAllocas.c on Sparc.
Chris Lattner [Wed, 15 Feb 2006 06:41:34 +0000 (06:41 +0000)]
Fix SingleSource/Regression/C/2004-08-12-InlinerAndAllocas.c on Sparc.

The ABI specifies that there is a register save area at the bottom of the
stack, which means the actual used pointer needs to be an offset from
the subtracted value.

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

18 years agoHP aCC (and a bunch of other compilers, no doubt) don't share
Duraid Madina [Wed, 15 Feb 2006 03:23:26 +0000 (03:23 +0000)]
HP aCC (and a bunch of other compilers, no doubt) don't share
GCC's syntax for auto-dependency generation stuff. This should
be changed to be disabling dependency stuff unless GCC/ICC is
found.

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

18 years agooops, I meant this
Duraid Madina [Wed, 15 Feb 2006 03:20:16 +0000 (03:20 +0000)]
oops, I meant this

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

18 years agozap
Duraid Madina [Wed, 15 Feb 2006 03:16:52 +0000 (03:16 +0000)]
zap

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

18 years agopreviously, configure would die if GCC or ICC was not found. Now it'll
Duraid Madina [Wed, 15 Feb 2006 03:15:55 +0000 (03:15 +0000)]
previously, configure would die if GCC or ICC was not found. Now it'll
go through, but we do want to know if we're using GCC/ICC since they
share certain funky command line options (for dependency generation
stuff)

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

18 years agoRemove an entry.
Evan Cheng [Wed, 15 Feb 2006 01:56:48 +0000 (01:56 +0000)]
Remove an entry.

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

18 years agoUse .zerofill on x86/darwin.
Evan Cheng [Wed, 15 Feb 2006 01:56:23 +0000 (01:56 +0000)]
Use .zerofill on x86/darwin.

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

18 years agoLower memcpy with small constant size operand into a series of load / store
Evan Cheng [Wed, 15 Feb 2006 01:54:51 +0000 (01:54 +0000)]
Lower memcpy with small constant size operand into a series of load / store
ops.

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

18 years agomore refactoring, no functionality change.
Chris Lattner [Wed, 15 Feb 2006 01:44:42 +0000 (01:44 +0000)]
more refactoring, no functionality change.

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

18 years agocvtsd2ss / cvtss2sd encoding bug.
Evan Cheng [Wed, 15 Feb 2006 00:31:03 +0000 (00:31 +0000)]
cvtsd2ss / cvtss2sd encoding bug.

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

18 years agomovaps, movapd encoding bug.
Evan Cheng [Wed, 15 Feb 2006 00:11:37 +0000 (00:11 +0000)]
movaps, movapd encoding bug.

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

18 years agopull some code out into a function
Chris Lattner [Wed, 15 Feb 2006 00:07:43 +0000 (00:07 +0000)]
pull some code out into a function

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

18 years agonew testcase that broke unswitch due to loopsimplify not doing the right thing.
Chris Lattner [Tue, 14 Feb 2006 23:07:29 +0000 (23:07 +0000)]
new testcase that broke unswitch due to loopsimplify not doing the right thing.

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

18 years agoCanonicalize inner loops before outer loops. Inner loop canonicalization
Chris Lattner [Tue, 14 Feb 2006 23:06:02 +0000 (23:06 +0000)]
Canonicalize inner loops before outer loops.  Inner loop canonicalization
can provide work for the outer loop to canonicalize.

This fixes a case that breaks unswitching.

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

18 years agoDoh again!
Evan Cheng [Tue, 14 Feb 2006 23:05:54 +0000 (23:05 +0000)]
Doh again!

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

18 years agoWhen splitting exit edges to canonicalize loops, make sure to put the new
Chris Lattner [Tue, 14 Feb 2006 22:34:08 +0000 (22:34 +0000)]
When splitting exit edges to canonicalize loops, make sure to put the new
block in the appropriate loop nest.

Third time is the charm, right?

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

18 years agonew note
Chris Lattner [Tue, 14 Feb 2006 22:19:54 +0000 (22:19 +0000)]
new note

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

18 years agoIf we have zero initialized data with external linkage, use .zerofill to
Chris Lattner [Tue, 14 Feb 2006 22:18:23 +0000 (22:18 +0000)]
If we have zero initialized data with external linkage, use .zerofill to
emit it (instead of .space), saving a bit of space in the .o file.

For example:
int foo[100];
int bar[100] = {};

when compiled with C++ or -fno-common results in shrinkage from 1160 to 360
bytes of space.  The X86 backend can also do this on darwin.

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

18 years agoUsing wrong DW_FORM.
Jim Laskey [Tue, 14 Feb 2006 22:01:57 +0000 (22:01 +0000)]
Using wrong DW_FORM.

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

18 years agoDon't special case XS, XD prefixes.
Evan Cheng [Tue, 14 Feb 2006 21:52:51 +0000 (21:52 +0000)]
Don't special case XS, XD prefixes.

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

18 years agoBug fix: XS, XD prefixes were being emitted twice.
Evan Cheng [Tue, 14 Feb 2006 21:45:24 +0000 (21:45 +0000)]
Bug fix: XS, XD prefixes were being emitted twice.
XMM registers were not being handled.

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

18 years agoMake sure that weak functions are aligned properly
Chris Lattner [Tue, 14 Feb 2006 20:42:33 +0000 (20:42 +0000)]
Make sure that weak functions are aligned properly

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

18 years agoDuh
Evan Cheng [Tue, 14 Feb 2006 20:37:37 +0000 (20:37 +0000)]
Duh

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

18 years agoRemove -disable-x86-sse
Evan Cheng [Tue, 14 Feb 2006 20:30:14 +0000 (20:30 +0000)]
Remove -disable-x86-sse

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

18 years agoadd an assert
Chris Lattner [Tue, 14 Feb 2006 20:14:17 +0000 (20:14 +0000)]
add an assert

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

18 years agoKeep to < 80 cols
Evan Cheng [Tue, 14 Feb 2006 20:12:38 +0000 (20:12 +0000)]
Keep to < 80 cols

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

18 years agoMissed a break so memcpy cases fell through to memset. Doh.
Evan Cheng [Tue, 14 Feb 2006 19:45:56 +0000 (19:45 +0000)]
Missed a break so memcpy cases fell through to memset. Doh.

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

18 years agoFixed a build breakage.
Evan Cheng [Tue, 14 Feb 2006 09:11:59 +0000 (09:11 +0000)]
Fixed a build breakage.

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

18 years agoRename maxStoresPerMemSet to maxStoresPerMemset, etc.
Evan Cheng [Tue, 14 Feb 2006 08:38:30 +0000 (08:38 +0000)]
Rename maxStoresPerMemSet to maxStoresPerMemset, etc.

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

18 years agoAdd a entry.
Evan Cheng [Tue, 14 Feb 2006 08:25:32 +0000 (08:25 +0000)]
Add a entry.

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

18 years agoSet maxStoresPerMemSet to 16. Ditto for maxStoresPerMemCpy and
Evan Cheng [Tue, 14 Feb 2006 08:25:08 +0000 (08:25 +0000)]
Set maxStoresPerMemSet to 16. Ditto for maxStoresPerMemCpy and
maxStoresPerMemMove. Although the last one is not used.

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

18 years agoExpand memset dst, c, size to a series of stores if size falls below the
Evan Cheng [Tue, 14 Feb 2006 08:22:34 +0000 (08:22 +0000)]
Expand memset dst, c, size to a series of stores if size falls below the
target specific theshold, e.g. 16 for x86.

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

18 years agoEnable SSE (for the right subtargets)
Evan Cheng [Tue, 14 Feb 2006 08:07:58 +0000 (08:07 +0000)]
Enable SSE (for the right subtargets)

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

18 years agoMatch changes to unix build system.
Jeff Cohen [Tue, 14 Feb 2006 06:12:08 +0000 (06:12 +0000)]
Match changes to unix build system.

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

18 years agonow that libcalls don't suck, we can remove this hack
Chris Lattner [Tue, 14 Feb 2006 05:39:35 +0000 (05:39 +0000)]
now that libcalls don't suck, we can remove this hack

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

18 years agoAdjust to new style "generated files in CVS" mechanism for lex output
Chris Lattner [Tue, 14 Feb 2006 05:16:35 +0000 (05:16 +0000)]
Adjust to new style "generated files in CVS" mechanism for lex output

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

18 years agoadjust to new style of handling lexer changes
Chris Lattner [Tue, 14 Feb 2006 05:14:46 +0000 (05:14 +0000)]
adjust to new style of handling lexer changes

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

18 years agoAdjust to new form of handling lexer dependencies, this way shouldn't have
Chris Lattner [Tue, 14 Feb 2006 05:13:13 +0000 (05:13 +0000)]
Adjust to new form of handling lexer dependencies, this way shouldn't have
the problems the old way did.

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

18 years agoImplement an alternative way of handling generated lex files in CVS. This
Chris Lattner [Tue, 14 Feb 2006 05:12:00 +0000 (05:12 +0000)]
Implement an alternative way of handling generated lex files in CVS.  This
should solve the "updating cvs when .l files change give me conflict markers
that break my build" issue.

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

18 years agoWrap a couple more long lines
Chris Lattner [Tue, 14 Feb 2006 04:27:15 +0000 (04:27 +0000)]
Wrap a couple more long lines

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

18 years agowrap long lines
Chris Lattner [Tue, 14 Feb 2006 04:25:54 +0000 (04:25 +0000)]
wrap long lines

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

18 years agoUse statistics to keep track of what flavors of loops we are unswitching
Chris Lattner [Tue, 14 Feb 2006 01:01:41 +0000 (01:01 +0000)]
Use statistics to keep track of what flavors of loops we are unswitching

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

18 years agoFix a latent bug in the call sequence handling stuff. Some targets (e.g. x86)
Chris Lattner [Tue, 14 Feb 2006 00:55:02 +0000 (00:55 +0000)]
Fix a latent bug in the call sequence handling stuff.  Some targets (e.g. x86)
create these nodes with flag results.  Remember that we legalized them.

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

18 years agoImplement Instcombine/and.ll:test34
Chris Lattner [Mon, 13 Feb 2006 23:07:23 +0000 (23:07 +0000)]
Implement Instcombine/and.ll:test34

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

18 years agonew testcase
Chris Lattner [Mon, 13 Feb 2006 23:07:02 +0000 (23:07 +0000)]
new testcase

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

18 years agoFix typo that caused build failures for things trying to use m_Or.
Chris Lattner [Mon, 13 Feb 2006 23:06:39 +0000 (23:06 +0000)]
Fix typo that caused build failures for things trying to use m_Or.

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

18 years agoIf any of the sign extended bits are demanded, the input sign bit is demanded
Chris Lattner [Mon, 13 Feb 2006 22:41:07 +0000 (22:41 +0000)]
If any of the sign extended bits are demanded, the input sign bit is demanded
for a sign extension.

This fixes InstCombine/2006-02-13-DemandedMiscompile.ll and Ptrdist/bc.

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