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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Chris Lattner [Sun, 2 Dec 2007 22:46:01 +0000 (22:46 +0000)]
fix typo noticed by Joshua Pennington
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44522
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 2 Dec 2007 08:30:39 +0000 (08:30 +0000)]
Remove redundant foldMemoryOperand variants and other code clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44517
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 1 Dec 2007 21:01:15 +0000 (21:01 +0000)]
Adding ocamldoc-style comments for the Ocaml bindings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44494
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 1 Dec 2007 20:59:23 +0000 (20:59 +0000)]
Fix a typo noticed by Alain Frisch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44493
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 1 Dec 2007 07:51:45 +0000 (07:51 +0000)]
Integrate the readonly/readnone logic more deeply
into alias analysis. This meant updating the API
which now has versions of the getModRefBehavior,
doesNotAccessMemory and onlyReadsMemory methods
which take a callsite parameter. These should be
used unless the callsite is not known, since in
general they can do a better job than the versions
that take a function. Also, users should no longer
call the version of getModRefBehavior that takes
both a function and a callsite. To reduce the
chance of misuse it is now protected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44487
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 1 Dec 2007 04:42:39 +0000 (04:42 +0000)]
Fix a bug where splitting cause some unnecessary spilling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44482
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 1 Dec 2007 03:01:39 +0000 (03:01 +0000)]
Fixes for MachineLoopInfo, mostly from Evan. With these, it should be almost useable!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44480
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 1 Dec 2007 02:07:52 +0000 (02:07 +0000)]
Allow some reloads to be folded in multi-use cases. Specifically testl r, r -> cmpl [mem], 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44479
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Sat, 1 Dec 2007 00:34:39 +0000 (00:34 +0000)]
Add target triple to include/llvm/Config/config.h.in. Regenerate all files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44478
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 1 Dec 2007 00:24:50 +0000 (00:24 +0000)]
Change LinkTimeOptimizer.h install location.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44477
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 30 Nov 2007 23:27:57 +0000 (23:27 +0000)]
Change lib lto install location.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44476
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 30 Nov 2007 22:45:05 +0000 (22:45 +0000)]
Fixed subtle bug in Deserializer::JumpTo when jumping when the block-nesting
information matching did not exactly match the underlying stream's scoping
information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44470
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 30 Nov 2007 22:39:46 +0000 (22:39 +0000)]
Fixed potential bug where CurWord is not zeroed out in JumpToBit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44469
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 30 Nov 2007 21:23:43 +0000 (21:23 +0000)]
Do not fold reload into an instruction with multiple uses. It issues one extra load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44467
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Nov 2007 18:52:58 +0000 (18:52 +0000)]
chain update requests properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44460
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 30 Nov 2007 18:20:58 +0000 (18:20 +0000)]
Small optimization of parameter attribute lookup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44458
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 30 Nov 2007 18:19:18 +0000 (18:19 +0000)]
Add a convenience method for modifying parameter
attributes. While there, I noticed that not all
attribute methods returned a pointer-to-constant,
so I fixed that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44457
91177308-0d34-0410-b5e6-
96231b3b80d8