oota-llvm.git
16 years agoremove dead #include, APInt.h already has the needed forward decls.
Chris Lattner [Sat, 8 Dec 2007 19:00:38 +0000 (19:00 +0000)]
remove dead #include, APInt.h already has the needed forward decls.

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

16 years agoproper #include order.
Chris Lattner [Sat, 8 Dec 2007 19:00:03 +0000 (19:00 +0000)]
proper #include order.

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

16 years agoIgnoring generated files.
Gordon Henriksen [Sat, 8 Dec 2007 17:53:01 +0000 (17:53 +0000)]
Ignoring generated files.

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

16 years agoAdding a StringPool data structure, which GC will use.
Gordon Henriksen [Sat, 8 Dec 2007 17:07:47 +0000 (17:07 +0000)]
Adding a StringPool data structure, which GC will use.

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

16 years agoFix bug in constructing Ocaml option types in the bindings.
Gordon Henriksen [Sat, 8 Dec 2007 16:55:43 +0000 (16:55 +0000)]
Fix bug in constructing Ocaml option types in the bindings.

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

16 years agoaesthetic changes, no functionality change. Evan, it's not clear
Chris Lattner [Sat, 8 Dec 2007 07:22:58 +0000 (07:22 +0000)]
aesthetic changes, no functionality change.  Evan, it's not clear
what 'Available' is, please add a comment near it and rename it
if appropriate.

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

16 years agoRenaming:
Bill Wendling [Sat, 8 Dec 2007 07:17:56 +0000 (07:17 +0000)]
Renaming:

  isTriviallyReMaterializable -> hasNoSideEffects
  isReallyTriviallyReMaterializable -> isTriviallyReMaterializable

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

16 years agoFix a significant code quality regression I introduced on PPC64 quite
Chris Lattner [Sat, 8 Dec 2007 07:04:58 +0000 (07:04 +0000)]
Fix a significant code quality regression I introduced on PPC64 quite
a while ago.  We now produce:

_foo:
mflr r0
std r0, 16(r1)
ld r2, 16(r1)
std r2, 0(r3)
ld r0, 16(r1)
mtlr r0
blr

instead of:

_foo:
mflr r0
std r0, 16(r1)
lis r0, 0
ori r0, r0, 16
ldx r2, r1, r0
std r2, 0(r3)
ld r0, 16(r1)
mtlr r0
blr

for:

void foo(void **X) {
  *X = __builtin_return_address(0);
}

on ppc64.

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

16 years agoimplement __builtin_return_addr(0) on ppc.
Chris Lattner [Sat, 8 Dec 2007 06:59:59 +0000 (06:59 +0000)]
implement __builtin_return_addr(0) on ppc.

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

16 years agorefactor some code to avoid overloading the name 'usesLR' in
Chris Lattner [Sat, 8 Dec 2007 06:39:11 +0000 (06:39 +0000)]
refactor some code to avoid overloading the name 'usesLR' in
different places to mean different things.  Document what the
one in PPCFunctionInfo means and when it is valid.

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

16 years agoImplement correct isa<UnaryInstruction>, problem reported by "ST".
Chris Lattner [Sat, 8 Dec 2007 04:37:52 +0000 (04:37 +0000)]
Implement correct isa<UnaryInstruction>, problem reported by "ST".

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

16 years agoIncorporated comments from Evan and Chris:
Bill Wendling [Sat, 8 Dec 2007 01:47:01 +0000 (01:47 +0000)]
Incorporated comments from Evan and Chris:

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071203/056043.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071203/056048.html

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

16 years agoFix several cache coherence bugs in MemDep/GVN that were found. Also add some (disab...
Owen Anderson [Sat, 8 Dec 2007 01:37:09 +0000 (01:37 +0000)]
Fix several cache coherence bugs in MemDep/GVN that were found.  Also add some (disabled) debugging code
to make such problems easier to diagnose in the future, written by Duncan Sands.

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

16 years agoDoh
Evan Cheng [Sat, 8 Dec 2007 01:01:07 +0000 (01:01 +0000)]
Doh

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

16 years agoFix a compilation warning.
Evan Cheng [Sat, 8 Dec 2007 01:00:31 +0000 (01:00 +0000)]
Fix a compilation warning.

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

16 years agoFix a compilation warning.
Evan Cheng [Sat, 8 Dec 2007 01:00:21 +0000 (01:00 +0000)]
Fix a compilation warning.

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

16 years agoAdding MachineLoopInfo.h,.cpp and MachineLICP.cpp to VStudio build
Chuck Rose III [Sat, 8 Dec 2007 00:53:13 +0000 (00:53 +0000)]
Adding MachineLoopInfo.h,.cpp and MachineLICP.cpp to VStudio build

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

16 years agoInitial commit of the machine code LICM pass. It successfully hoists this:
Bill Wendling [Fri, 7 Dec 2007 21:42:31 +0000 (21:42 +0000)]
Initial commit of the machine code LICM pass. It successfully hoists this:

_foo:
        li r2, 0
LBB1_1: ; bb
        li r5, 0
        stw r5, 0(r3)
        addi r2, r2, 1
        addi r3, r3, 4
        cmplw cr0, r2, r4
        bne cr0, LBB1_1 ; bb
LBB1_2: ; return
        blr

to:

_foo:
        li r2, 0
        li r5, 0
LBB1_1: ; bb
        stw r5, 0(r3)
        addi r2, r2, 1
        addi r3, r3, 4
        cmplw cr0, r2, r4
        bne cr0, LBB1_1 ; bb
LBB1_2: ; return
        blr

ZOMG!! :-)

Moar to come...

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

16 years agoAdd comment.
Evan Cheng [Fri, 7 Dec 2007 21:30:01 +0000 (21:30 +0000)]
Add comment.

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

16 years agoMuch improved v8i16 shuffles. (Step 1).
Evan Cheng [Fri, 7 Dec 2007 08:07:39 +0000 (08:07 +0000)]
Much improved v8i16 shuffles. (Step 1).

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

16 years agoFix a stupid error that Chris pointed out.
Owen Anderson [Fri, 7 Dec 2007 04:04:55 +0000 (04:04 +0000)]
Fix a stupid error that Chris pointed out.

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

16 years agoNew test case.
Evan Cheng [Fri, 7 Dec 2007 01:48:46 +0000 (01:48 +0000)]
New test case.

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

16 years agoAdd an option to control this heuristic tweak so I can test it.
Evan Cheng [Fri, 7 Dec 2007 00:28:32 +0000 (00:28 +0000)]
Add an option to control this heuristic tweak so I can test it.

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

16 years agoRemove a bogus optimization. It's not possible to do a move to low element to a ...
Evan Cheng [Thu, 6 Dec 2007 22:14:22 +0000 (22:14 +0000)]
Remove a bogus optimization. It's not possible to do a move to low element to a <8 x i16> or <16 x i8> vector.

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

16 years agoFix a bogus test case.
Evan Cheng [Thu, 6 Dec 2007 22:12:45 +0000 (22:12 +0000)]
Fix a bogus test case.

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

16 years agoRedo previous patch so optimization only done for i1.
Dale Johannesen [Thu, 6 Dec 2007 17:53:31 +0000 (17:53 +0000)]
Redo previous patch so optimization only done for i1.
Simpler and safer.

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

16 years agoTurning simple splitting on. Start testing new coalescer heuristics as new llcbeta.
Evan Cheng [Thu, 6 Dec 2007 08:54:31 +0000 (08:54 +0000)]
Turning simple splitting on. Start testing new coalescer heuristics as new llcbeta.

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

16 years agothird time around: instead of disabling this completely,
Chris Lattner [Thu, 6 Dec 2007 07:47:55 +0000 (07:47 +0000)]
third time around: instead of disabling this completely,
only disable it if we don't know it will be obviously profitable.
Still fixme, but less so. :)

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

16 years agoActually, disable this code for now. More analysis and improvements to
Chris Lattner [Thu, 6 Dec 2007 07:44:31 +0000 (07:44 +0000)]
Actually, disable this code for now.  More analysis and improvements to
the X86 backend are needed before this should be enabled by default.

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

16 years agoimplement a readme entry, compiling the code into:
Chris Lattner [Thu, 6 Dec 2007 07:33:36 +0000 (07:33 +0000)]
implement a readme entry, compiling the code into:

_foo:
movl $12, %eax
andl 4(%esp), %eax
movl _array(%eax), %eax
ret

instead of:

_foo:
movl 4(%esp), %eax
shrl $2, %eax
andl $3, %eax
movl _array(,%eax,4), %eax
ret

As it turns out, this triggers all the time, in a wide variety of
situations, for example, I see diffs like this in various programs:

-       movl    8(%eax), %eax
-       shll    $2, %eax
-       andl    $1020, %eax
-       movl    (%esi,%eax), %eax
+       movzbl  8(%eax), %eax
+       movl    (%esi,%eax,4), %eax

-       shll    $2, %edx
-       andl    $1020, %edx
-       movl    (%edi,%edx), %edx
+       andl    $255, %edx
+       movl    (%edi,%edx,4), %edx

Unfortunately, I also see stuff like this, which can be fixed in the
X86 backend:

-       andl    $85, %ebx
-       addl    _bit_count(,%ebx,4), %ebp
+       shll    $2, %ebx
+       andl    $340, %ebx
+       addl    _bit_count(%ebx), %ebp

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

16 years agosimplify some code.
Chris Lattner [Thu, 6 Dec 2007 06:25:04 +0000 (06:25 +0000)]
simplify some code.

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

16 years agoimplement the rest of the functionality from SelectionDAGLegalize::ScalarizeVectorOp
Chris Lattner [Thu, 6 Dec 2007 05:53:43 +0000 (05:53 +0000)]
implement the rest of the functionality from SelectionDAGLegalize::ScalarizeVectorOp

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

16 years agoAdjust VStudio files to add JITMemoryManager files + include <cassert> from same.
Chuck Rose III [Thu, 6 Dec 2007 02:03:01 +0000 (02:03 +0000)]
Adjust VStudio files to add JITMemoryManager files + include <cassert> from same.

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

16 years agomove some ashr-specific code out of commonShiftTransforms into visitAShr.
Chris Lattner [Thu, 6 Dec 2007 01:59:46 +0000 (01:59 +0000)]
move some ashr-specific code out of commonShiftTransforms into visitAShr.

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

16 years agoFix PR1842.
Dale Johannesen [Thu, 6 Dec 2007 01:43:46 +0000 (01:43 +0000)]
Fix PR1842.

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

16 years agoadd a new ExecutionEngine::createJIT which can be used if you only want
Chris Lattner [Thu, 6 Dec 2007 01:34:04 +0000 (01:34 +0000)]
add a new ExecutionEngine::createJIT which can be used if you only want
to create a JIT.  This lets you specify JIT-specific configuration items
like the JITMemoryManager to use.

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

16 years agosimplify creation of the interpreter, make ExecutionEngine ctor protected,
Chris Lattner [Thu, 6 Dec 2007 01:08:09 +0000 (01:08 +0000)]
simplify creation of the interpreter, make ExecutionEngine ctor protected,
delete one ExecutionEngine ctor, minor cleanup.

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

16 years agofix this when run on non x86 hosts.
Chris Lattner [Thu, 6 Dec 2007 01:05:52 +0000 (01:05 +0000)]
fix this when run on non x86 hosts.

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

16 years agoFix for PR1831: if all defs of an interval are re-materializable, then it's a preferr...
Evan Cheng [Thu, 6 Dec 2007 00:01:56 +0000 (00:01 +0000)]
Fix for PR1831: if all defs of an interval are re-materializable, then it's a preferred spill candiate.

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

16 years agoIf both result of the {s|z}xt and its source are live out, rewrite all uses of the...
Evan Cheng [Wed, 5 Dec 2007 23:58:20 +0000 (23:58 +0000)]
If both result of the {s|z}xt and its source are live out, rewrite all uses of the source with result of extension.

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

16 years agoimprove header guard
Chris Lattner [Wed, 5 Dec 2007 23:45:41 +0000 (23:45 +0000)]
improve header guard

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

16 years agosplit the JIT memory management code out from the main JIT logic into its
Chris Lattner [Wed, 5 Dec 2007 23:39:57 +0000 (23:39 +0000)]
split the JIT memory management code out from the main JIT logic into its
own JITMemoryManager interface.  There is no functionality change with
this patch.

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

16 years agoadd a note
Chris Lattner [Wed, 5 Dec 2007 23:05:06 +0000 (23:05 +0000)]
add a note

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

16 years agoadd a note
Chris Lattner [Wed, 5 Dec 2007 22:58:19 +0000 (22:58 +0000)]
add a note

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

16 years agoAlphabetizing; I want to be the last in the file!!!! ;-)
Bill Wendling [Wed, 5 Dec 2007 21:26:54 +0000 (21:26 +0000)]
Alphabetizing; I want to be the last in the file!!!! ;-)

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

16 years agoRegenerated configure after autoconf/configure.ac change.
Scott Michel [Wed, 5 Dec 2007 21:24:02 +0000 (21:24 +0000)]
Regenerated configure after autoconf/configure.ac change.

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

16 years agoMinor updates:
Scott Michel [Wed, 5 Dec 2007 21:23:16 +0000 (21:23 +0000)]
Minor updates:
- Fix typo in SPUCallingConv.td
- Credit myself for CellSPU work
- Add CellSPU to 'all' host target list

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

16 years agoCommit 44487 broke bootstrap of llvm-gcc-4.2. It is
Duncan Sands [Wed, 5 Dec 2007 21:03:28 +0000 (21:03 +0000)]
Commit 44487 broke bootstrap of llvm-gcc-4.2.  It is
not yet clear why, but in the meantime work around the
problem by making less use of readnone/readonly info.

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

16 years agoAdded canFoldMemoryOperand for PPC.
Evan Cheng [Wed, 5 Dec 2007 18:41:29 +0000 (18:41 +0000)]
Added canFoldMemoryOperand for PPC.

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

16 years agoUpdate foldMemoryOperand.
Evan Cheng [Wed, 5 Dec 2007 18:36:37 +0000 (18:36 +0000)]
Update foldMemoryOperand.

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

16 years agofix warnings
Chris Lattner [Wed, 5 Dec 2007 18:32:18 +0000 (18:32 +0000)]
fix warnings

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

16 years agoallow this to build
Chris Lattner [Wed, 5 Dec 2007 18:30:11 +0000 (18:30 +0000)]
allow this to build

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

16 years agoPrior commit updated wrong if, apologies.
Neil Booth [Wed, 5 Dec 2007 13:06:04 +0000 (13:06 +0000)]
Prior commit updated wrong if, apologies.

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

16 years agoHandle zero correctly.
Neil Booth [Wed, 5 Dec 2007 13:01:24 +0000 (13:01 +0000)]
Handle zero correctly.

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

16 years agoMachineInstr can change. Store indexes instead.
Evan Cheng [Wed, 5 Dec 2007 10:24:35 +0000 (10:24 +0000)]
MachineInstr can change. Store indexes instead.

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

16 years agoIf a split live interval is spilled again, remove the kill marker on its last use.
Evan Cheng [Wed, 5 Dec 2007 09:51:10 +0000 (09:51 +0000)]
If a split live interval is spilled again, remove the kill marker on its last use.

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

16 years agoClobber more bugs.
Evan Cheng [Wed, 5 Dec 2007 09:05:34 +0000 (09:05 +0000)]
Clobber more bugs.

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

16 years agoFix kill info for split intervals.
Evan Cheng [Wed, 5 Dec 2007 08:16:32 +0000 (08:16 +0000)]
Fix kill info for split intervals.

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

16 years agomore scalarization
Chris Lattner [Wed, 5 Dec 2007 07:45:02 +0000 (07:45 +0000)]
more scalarization

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

16 years agoscalarize vector binops
Chris Lattner [Wed, 5 Dec 2007 07:36:58 +0000 (07:36 +0000)]
scalarize vector binops

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

16 years ago- Mark last use of a split interval as kill instead of letting spiller track it.
Evan Cheng [Wed, 5 Dec 2007 03:22:34 +0000 (03:22 +0000)]
- Mark last use of a split interval as kill instead of letting spiller track it.
  This allows an important optimization to be re-enabled.
- If all uses / defs of a split interval can be folded, give the interval a
  low spill weight so it would not be picked in case spilling is needed (avoid
  pushing other intervals in the same BB to be spilled).

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

16 years agoAdd a argument to storeRegToStackSlot and storeRegToAddr to specify whether
Evan Cheng [Wed, 5 Dec 2007 03:14:33 +0000 (03:14 +0000)]
Add a argument to storeRegToStackSlot and storeRegToAddr to specify whether
the stored register is killed.

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

16 years agofixed header attribution
Scott Michel [Wed, 5 Dec 2007 02:08:01 +0000 (02:08 +0000)]
fixed header attribution

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

16 years agoMore stuff for CellSPU -- this should be enough to get an error-free
Scott Michel [Wed, 5 Dec 2007 02:01:41 +0000 (02:01 +0000)]
More stuff for CellSPU -- this should be enough to get an error-free
compilation (no files missing). Test cases remain to be checked in.

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

16 years agoUpdated source file headers to llvm coding standard.
Scott Michel [Wed, 5 Dec 2007 01:40:25 +0000 (01:40 +0000)]
Updated source file headers to llvm coding standard.

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

16 years agoTwo missing files.
Scott Michel [Wed, 5 Dec 2007 01:31:18 +0000 (01:31 +0000)]
Two missing files.

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

16 years agoMain CellSPU backend files checked in. Intrinsics and autoconf files
Scott Michel [Wed, 5 Dec 2007 01:24:05 +0000 (01:24 +0000)]
Main CellSPU backend files checked in. Intrinsics and autoconf files
remain.

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

16 years agoHandle 0 correctly in string->APFloat conversion.
Dale Johannesen [Wed, 5 Dec 2007 01:10:19 +0000 (01:10 +0000)]
Handle 0 correctly in string->APFloat conversion.

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

16 years agoAdded "Emitter" functor to allow easy emitting of elements of a container
Ted Kremenek [Wed, 5 Dec 2007 00:13:07 +0000 (00:13 +0000)]
Added "Emitter" functor to allow easy emitting of elements of a container
using std::for_each.

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

16 years agoRemove a unsafe optimization. This fixes 401.bzip2.
Evan Cheng [Tue, 4 Dec 2007 23:57:55 +0000 (23:57 +0000)]
Remove a unsafe optimization. This fixes 401.bzip2.

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

16 years agoAdd --with-llvmgcc= and --with-llvmgxx= configure options.
Devang Patel [Tue, 4 Dec 2007 22:54:47 +0000 (22:54 +0000)]
Add --with-llvmgcc= and --with-llvmgxx= configure options.

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

16 years agoMore files in the CellSPU drop...
Scott Michel [Tue, 4 Dec 2007 22:35:58 +0000 (22:35 +0000)]
More files in the CellSPU drop...

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

16 years agoMore of the Cell SPU code drop from "Team Aerospace".
Scott Michel [Tue, 4 Dec 2007 22:23:35 +0000 (22:23 +0000)]
More of the Cell SPU code drop from "Team Aerospace".

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

16 years agoSpiller unfold optimization bug: do not clobber a reusable stack slot value unless...
Evan Cheng [Tue, 4 Dec 2007 19:19:45 +0000 (19:19 +0000)]
Spiller unfold optimization bug: do not clobber a reusable stack slot value unless it can be modified.

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

16 years agoImplement framework for scalarizing node results. This is sufficient
Chris Lattner [Tue, 4 Dec 2007 07:48:46 +0000 (07:48 +0000)]
Implement framework for scalarizing node results.  This is sufficient
to codegen this:

define float @test_extract_elt(<1 x float> * %P) {
%p = load <1 x float>* %P
%R = extractelement <1 x float> %p, i32 0
ret float %R
}

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

16 years agostart providing framework for scalarizing vectors.
Chris Lattner [Tue, 4 Dec 2007 07:29:51 +0000 (07:29 +0000)]
start providing framework for scalarizing vectors.

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

16 years agoDiscard split intervals made empty due to folding.
Evan Cheng [Tue, 4 Dec 2007 00:32:23 +0000 (00:32 +0000)]
Discard split intervals made empty due to folding.

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

16 years agoMore CellSPU files... more to follow.
Scott Michel [Mon, 3 Dec 2007 23:14:43 +0000 (23:14 +0000)]
More CellSPU files... more to follow.

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

16 years agoMakefile fragment for CellSPU.
Scott Michel [Mon, 3 Dec 2007 23:12:49 +0000 (23:12 +0000)]
Makefile fragment for CellSPU.

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

16 years agoFirst commit to CellSPU. More to follow
Scott Michel [Mon, 3 Dec 2007 23:09:49 +0000 (23:09 +0000)]
First commit to CellSPU. More to follow

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

16 years agoBug fixes.
Evan Cheng [Mon, 3 Dec 2007 21:31:55 +0000 (21:31 +0000)]
Bug fixes.

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

16 years agoTrack dependencies when creating symlinks to LLVM libraries next
Gordon Henriksen [Mon, 3 Dec 2007 21:15:53 +0000 (21:15 +0000)]
Track dependencies when creating symlinks to LLVM libraries next
to the ocaml bindings. This is required on Windows where 'ln -sf'
actually creates a copy. Thanks to Alain Frisch for noticing this.

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

16 years agoRegenerate
Anton Korobeynikov [Mon, 3 Dec 2007 21:01:29 +0000 (21:01 +0000)]
Regenerate

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

16 years agoFix fallout from my last patch: don't reject varargs functions :)
Anton Korobeynikov [Mon, 3 Dec 2007 21:00:45 +0000 (21:00 +0000)]
Fix fallout from my last patch: don't reject varargs functions :)

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

16 years agoRather than having special rules like "intrinsics cannot
Duncan Sands [Mon, 3 Dec 2007 20:06:50 +0000 (20:06 +0000)]
Rather than having special rules like "intrinsics cannot
throw exceptions", just mark intrinsics with the nounwind
attribute.  Likewise, mark intrinsics as readnone/readonly
and get rid of special aliasing logic (which didn't use
anything more than this anyway).

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

16 years agoupdate file comment.
Chris Lattner [Mon, 3 Dec 2007 19:43:18 +0000 (19:43 +0000)]
update file comment.

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

16 years agoFixed typo.
John Criswell [Mon, 3 Dec 2007 19:34:25 +0000 (19:34 +0000)]
Fixed typo.

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

16 years agoRegenerate
Anton Korobeynikov [Mon, 3 Dec 2007 19:17:47 +0000 (19:17 +0000)]
Regenerate

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

16 years agoIf ExitValue operand is also defined in Loop header then
Devang Patel [Mon, 3 Dec 2007 19:17:21 +0000 (19:17 +0000)]
If ExitValue operand is also defined in Loop header then
insert new ExitValue after this operand definition.

This fixes PR1828.

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

16 years agoMore sanity checks for function types.
Anton Korobeynikov [Mon, 3 Dec 2007 19:16:54 +0000 (19:16 +0000)]
More sanity checks for function types.
Thanks goes to PyPy folks for generating broken stuff :)

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

16 years agoDescribe the notion of 'owners' of the code.
Chris Lattner [Mon, 3 Dec 2007 19:00:47 +0000 (19:00 +0000)]
Describe the notion of 'owners' of the code.

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

16 years agoApplying Anton's binmode fix to the other ofstream too.
Gordon Henriksen [Mon, 3 Dec 2007 14:50:37 +0000 (14:50 +0000)]
Applying Anton's binmode fix to the other ofstream too.

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

16 years agoSorry, typo :)
Anton Korobeynikov [Mon, 3 Dec 2007 14:35:57 +0000 (14:35 +0000)]
Sorry, typo :)

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

16 years agoOpen output file correctly. This is extremely important for
Anton Korobeynikov [Mon, 3 Dec 2007 14:28:26 +0000 (14:28 +0000)]
Open output file correctly. This is extremely important for
windows-based hosts, where files are opened in text mode by default.

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

16 years agoTypo
Evan Cheng [Mon, 3 Dec 2007 10:00:00 +0000 (10:00 +0000)]
Typo

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

16 years agoUpdate kill info for uses of split intervals.
Evan Cheng [Mon, 3 Dec 2007 09:58:48 +0000 (09:58 +0000)]
Update kill info for uses of split intervals.

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

16 years agoProvide hook for _alloca to make JITing on Cygwin slightly happier :)
Anton Korobeynikov [Mon, 3 Dec 2007 05:30:41 +0000 (05:30 +0000)]
Provide hook for _alloca to make JITing on Cygwin slightly happier :)

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

16 years agolli -trace was removed back in 2003.
Nick Lewycky [Mon, 3 Dec 2007 01:58:01 +0000 (01:58 +0000)]
lli -trace was removed back in 2003.

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

16 years agoType::IntTy hasn't existed for a while. Just sub in Type::Int32Ty.
Nick Lewycky [Mon, 3 Dec 2007 01:52:52 +0000 (01:52 +0000)]
Type::IntTy hasn't existed for a while. Just sub in Type::Int32Ty.

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

16 years agoexplain what I need to grant commit access.
Chris Lattner [Mon, 3 Dec 2007 00:36:20 +0000 (00:36 +0000)]
explain what I need to grant commit access.

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