Chris Lattner [Sun, 9 Dec 2007 17:56:34 +0000 (17:56 +0000)]
Duncan points out that the subtraction is unneeded since hte code
knows the vector is not pow2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44740
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sun, 9 Dec 2007 15:03:01 +0000 (15:03 +0000)]
Upgrading this test to 2.0 .ll syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44738
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Dec 2007 07:35:13 +0000 (07:35 +0000)]
Fix PR1782, patch by Wojtek Matyjewicz!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44733
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sun, 9 Dec 2007 01:12:08 +0000 (01:12 +0000)]
Fix a very silly typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44732
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Dec 2007 00:27:38 +0000 (00:27 +0000)]
Fix accidental commit by Bill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44729
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Dec 2007 00:06:19 +0000 (00:06 +0000)]
Add support for splitting the operand of a return instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44728
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 8 Dec 2007 23:58:46 +0000 (23:58 +0000)]
Reverting 44702. It wasn't correct to rename them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44727
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 23:58:27 +0000 (23:58 +0000)]
add many new cases to SplitResult. SplitResult now handles all the cases that LegalizeDAG does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 23:24:26 +0000 (23:24 +0000)]
Implement splitting support for store, allowing us to compile:
%f8 = type <8 x float>
define void @test_f8(%f8* %P, %f8* %Q, %f8* %S) {
%p = load %f8* %P ; <%f8> [#uses=1]
%q = load %f8* %Q ; <%f8> [#uses=1]
%R = add %f8 %p, %q ; <%f8> [#uses=1]
store %f8 %R, %f8* %S
ret void
}
into:
_test_f8:
movaps 16(%rdi), %xmm0
addps 16(%rsi), %xmm0
movaps (%rdi), %xmm1
addps (%rsi), %xmm1
movaps %xmm0, 16(%rdx)
movaps %xmm1, (%rdx)
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44725
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 23:08:49 +0000 (23:08 +0000)]
implement vector splitting of load, undef, and binops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44724
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 22:40:18 +0000 (22:40 +0000)]
implement some methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44723
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 22:37:41 +0000 (22:37 +0000)]
add scaffolding for splitting of vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44722
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 8 Dec 2007 22:29:19 +0000 (22:29 +0000)]
Project cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44721
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 22:17:33 +0000 (22:17 +0000)]
Remove dead file and directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44720
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 21:59:32 +0000 (21:59 +0000)]
reorganize header to separate into functional blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44719
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 20:30:28 +0000 (20:30 +0000)]
split scalarization out to its own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44718
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 20:27:32 +0000 (20:27 +0000)]
Split expansion out into its own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44717
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 20:24:38 +0000 (20:24 +0000)]
Split promotion support out to its own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44716
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 20:17:13 +0000 (20:17 +0000)]
Rename LegalizeDAGTypes.cpp -> LegalizeTypes.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44715
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 20:16:06 +0000 (20:16 +0000)]
Split the class definition of DAGTypeLegalizer out into a header.
Leave it visibility hidden, but not in an anon namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44714
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 8 Dec 2007 20:10:40 +0000 (20:10 +0000)]
Incorporating review feedback from Reid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 19:06:21 +0000 (19:06 +0000)]
remove dead #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 19:03:30 +0000 (19:03 +0000)]
add #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44710
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Dec 2007 19:01:44 +0000 (19:01 +0000)]
eliminate dependency on Bitcode headers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44709
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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