Chris Lattner [Tue, 14 Nov 2006 07:45:36 +0000 (07:45 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31728
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Nov 2006 06:06:06 +0000 (06:06 +0000)]
implement InstCombine/and-compare.ll:test1. This compiles:
typedef struct { unsigned prefix : 4; unsigned code : 4; unsigned unsigned_p : 4; } tree_common;
int foo(tree_common *a, tree_common *b) { return a->code == b->code; }
into:
_foo:
movl 4(%esp), %eax
movl 8(%esp), %ecx
movl (%eax), %eax
xorl (%ecx), %eax
# TRUNCATE movb %al, %al
shrb $4, %al
testb %al, %al
sete %al
movzbl %al, %eax
ret
instead of:
_foo:
movl 8(%esp), %eax
movb (%eax), %al
shrb $4, %al
movl 4(%esp), %ecx
movb (%ecx), %cl
shrb $4, %cl
cmpb %al, %cl
sete %al
movzbl %al, %eax
ret
saving one cycle by eliminating a shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31727
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Nov 2006 06:04:35 +0000 (06:04 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Nov 2006 05:28:08 +0000 (05:28 +0000)]
lower "X = seteq Y, Z" to '(shr (ctlz (xor Y, Z)), 5)' instead of
'(shr (ctlz (sub Y, Z)), 5)'.
The use of xor better exposes the operation to bit-twiddling logic in the
dag combiner. For example, this:
typedef struct {
unsigned prefix : 4;
unsigned code : 4;
unsigned unsigned_p : 4;
} tree_common;
int foo(tree_common *a, tree_common *b) {
return a->code == b->code;
}
Now compiles to:
_foo:
lwz r2, 0(r4)
lwz r3, 0(r3)
xor r2, r3, r2
rlwinm r2, r2, 28, 28, 31
cntlzw r2, r2
srwi r3, r2, 5
blr
instead of:
_foo:
lbz r2, 3(r4)
lbz r3, 3(r3)
srwi r2, r2, 4
srwi r3, r3, 4
subf r2, r2, r3
cntlzw r2, r2
srwi r3, r2, 5
blr
saving a cycle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31725
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 14 Nov 2006 05:21:04 +0000 (05:21 +0000)]
A shim over other AA impls to catch incorrect uses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31724
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 14 Nov 2006 04:47:22 +0000 (04:47 +0000)]
Discard code that supported old bytecode formats. This makes the Bytecode
Reader code much easier to read and maintain. Backwards compatibility from
version 5 format has been retained. Older formats will produce an error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31723
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 14 Nov 2006 03:05:08 +0000 (03:05 +0000)]
Implement removeDeadPasses().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31722
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 14 Nov 2006 02:54:23 +0000 (02:54 +0000)]
Keep track of Last user of analysis phase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31721
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 14 Nov 2006 01:59:59 +0000 (01:59 +0000)]
Use std::map to map AnalysisID and Pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31720
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Nov 2006 01:57:53 +0000 (01:57 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31719
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Nov 2006 01:38:31 +0000 (01:38 +0000)]
minor tweaks, reject vector preinc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31717
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 14 Nov 2006 01:23:29 +0000 (01:23 +0000)]
Manage analysis passes during run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31716
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 14 Nov 2006 00:59:52 +0000 (00:59 +0000)]
Updating configure script for 2.0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31715
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 14 Nov 2006 00:03:04 +0000 (00:03 +0000)]
Update comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31713
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 13 Nov 2006 23:36:35 +0000 (23:36 +0000)]
Matches MachineInstr changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31712
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 13 Nov 2006 23:34:06 +0000 (23:34 +0000)]
- Let MachineInstr ctors add implicit def and use operands. Other operands
will be inserted before these operands. If the opcode changes (by
setOpcode), the implicit operands are updated as well.
- Added IsKill, IsDead fields to MachineOperand in preparation for changes
that move kill / dead info to MachineInstr's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31711
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 13 Nov 2006 22:53:19 +0000 (22:53 +0000)]
Update PassManagerImpl_New::analysisCurrentlyAvailable to check all
managed passmanagers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31710
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 13 Nov 2006 22:40:09 +0000 (22:40 +0000)]
Check currently available anlysis in active managers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31709
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Nov 2006 20:11:06 +0000 (20:11 +0000)]
teach the g5 hazard recognizer about update loads. This fixes
Ptrdist/anagram among others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31708
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 13 Nov 2006 18:00:52 +0000 (18:00 +0000)]
For PR950:
Changes for new cast instructions that are backwards compatible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31707
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 13 Nov 2006 17:55:34 +0000 (17:55 +0000)]
Don't hard code test names into the test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31706
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 13 Nov 2006 16:21:09 +0000 (16:21 +0000)]
Fix 80 cols violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31705
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 13 Nov 2006 16:13:38 +0000 (16:13 +0000)]
For PR950:
Use the notcast script in preparation for 12 casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31704
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 13 Nov 2006 16:12:25 +0000 (16:12 +0000)]
For PR950:
Use the notcast script in preparation for 12 cast instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31703
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 13 Nov 2006 16:11:14 +0000 (16:11 +0000)]
Make it handle plain old cast too, for old assembly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31702
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 13 Nov 2006 16:09:37 +0000 (16:09 +0000)]
Handle ptrtoint and inttoptr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31701
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 13 Nov 2006 16:08:51 +0000 (16:08 +0000)]
Add some output so the user is informed while they wait.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31700
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 13 Nov 2006 08:03:59 +0000 (08:03 +0000)]
Add a link to the GEP FAQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31698
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Nov 2006 01:10:12 +0000 (01:10 +0000)]
remove redundant code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31697
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 13 Nov 2006 00:23:28 +0000 (00:23 +0000)]
Cute example from Chris Lattner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31696
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 12 Nov 2006 11:10:39 +0000 (11:10 +0000)]
Initialize some pointers to quiet the compiler (when doing build_gcc
builds).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31694
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 23:08:07 +0000 (23:08 +0000)]
Document new constant expr operators, rename bitconvert as bitcast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31693
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 23:06:47 +0000 (23:06 +0000)]
Revert premature patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31692
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 22:34:59 +0000 (22:34 +0000)]
Document new constant expr operators, rename bitconvert as bitcast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31691
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 11 Nov 2006 22:22:07 +0000 (22:22 +0000)]
Make sure stack link is set in 64-bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31690
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 11 Nov 2006 22:14:46 +0000 (22:14 +0000)]
XFAIL All but powerpc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31689
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 21:00:47 +0000 (21:00 +0000)]
Add a preview of two new conversion operators: ptrtoint and inttoptr. Update
the defintion of bitconvert correspondingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31688
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 20:27:49 +0000 (20:27 +0000)]
Remvoe a do-nothing else block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31687
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 20:07:59 +0000 (20:07 +0000)]
Make an assert comment match the tested assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31686
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 19:59:25 +0000 (19:59 +0000)]
Minor style fixes from review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31685
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Nov 2006 19:05:28 +0000 (19:05 +0000)]
implement proper PPC64 prolog/epilog codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31684
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 19:05:02 +0000 (19:05 +0000)]
Add a -disable-loop-extraction option to bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31683
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 11:54:25 +0000 (11:54 +0000)]
For PR998:
Fix an infinite loop in the Linker and a few other assorted link problems.
Patch contributed by Scott Michel. Thanks, Scott!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31680
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 11 Nov 2006 10:22:56 +0000 (10:22 +0000)]
Works for PowerPC with frame pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31679
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 10:22:48 +0000 (10:22 +0000)]
Add -lstdc++ to the link line for C++ programs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31678
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 11 Nov 2006 10:21:58 +0000 (10:21 +0000)]
Running with frame pointers prevented debugging, external probes and
potentially some system calls/exception handling from working. TOS must always
link to previous frame. This is a short term workaround until alloca scheme is
reworked.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31677
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 11 Nov 2006 10:21:44 +0000 (10:21 +0000)]
Add implicit use / def operands to created MI's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31676
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 11 Nov 2006 10:20:02 +0000 (10:20 +0000)]
Add methods to add implicit def use operands to a MI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31675
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 11 Nov 2006 07:19:36 +0000 (07:19 +0000)]
Add all implicit defs to FP_REG_KILL mi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31674
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Nov 2006 04:53:30 +0000 (04:53 +0000)]
allow the offset of a preinc'd load to be the low-part of a global. This
produces this clever code:
_millisecs:
lis r2, ha16(_Time.1182)
lwzu r3, lo16(_Time.1182)(r2)
lwz r2, 4(r2)
addic r4, r2, 1
addze r3, r3
blr
instead of this:
_millisecs:
lis r2, ha16(_Time.1182)
la r3, lo16(_Time.1182)(r2)
lwz r2, lo16(_Time.1182)(r2)
lwz r3, 4(r3)
addic r4, r3, 1
addze r3, r2
blr
for:
long %millisecs() {
%tmp = load long* %Time.1182 ; <long> [#uses=1]
%tmp1 = add long %tmp, 1 ; <long> [#uses=1]
ret long %tmp1
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31673
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Nov 2006 04:51:36 +0000 (04:51 +0000)]
Mark operands as symbol lo instead of imm32 so that they print lo(x) around
globals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31672
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 11 Nov 2006 02:22:31 +0000 (02:22 +0000)]
Implement schedulePasses().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31671
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 11 Nov 2006 02:06:21 +0000 (02:06 +0000)]
Implement PassManagerImpl_New::add().
Just add pass into the pass manager queue without processing analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31670
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 11 Nov 2006 02:04:19 +0000 (02:04 +0000)]
While adding pass into the manager, process Analysis only if it is
required to do so.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31669
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 11 Nov 2006 01:56:39 +0000 (01:56 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31668
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 11 Nov 2006 01:51:02 +0000 (01:51 +0000)]
Code refactoring. Move common code into CommonPassManagerImpl :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31667
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 11 Nov 2006 01:31:05 +0000 (01:31 +0000)]
Move CommonPassManagerImpl from PassManager.h to PassManager.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31666
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 11 Nov 2006 01:24:55 +0000 (01:24 +0000)]
Remove analysis that is not preserved by the pass from AvailableAnalysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31665
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 11 Nov 2006 01:10:19 +0000 (01:10 +0000)]
Keep track if analysis made available by the pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31664
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 01:04:13 +0000 (01:04 +0000)]
Instruction name changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31663
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 01:02:45 +0000 (01:02 +0000)]
Enable path completion when typing the TESTSUITE= option by allowing the
test directory to precede the test suite name. That is, it will strip off
test/ from TESTSUITE which allows path completion from the command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31662
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Nov 2006 01:00:15 +0000 (01:00 +0000)]
disallow preinc of a frameindex. This is not profitable and causes 2-addr
pass to explode. This fixes a bunch of llc-beta failures on ppc last night.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31661
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Nov 2006 00:56:29 +0000 (00:56 +0000)]
reduce indentation by using early exits. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31660
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 11 Nov 2006 00:42:16 +0000 (00:42 +0000)]
Keep track of analysis required by the passes. Force use of new pass
manager if a pass does not preserve analysis that is used by other
passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31659
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Nov 2006 00:39:41 +0000 (00:39 +0000)]
move big chunks of code out-of-line, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31658
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Nov 2006 00:13:07 +0000 (00:13 +0000)]
enable this test, check ppc64 as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31657
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Nov 2006 00:08:42 +0000 (00:08 +0000)]
ppc64 doesn't have lwau, don't attempt to form it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31656
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 11 Nov 2006 00:00:31 +0000 (00:00 +0000)]
Allow ENABLE_OPTIMIZED=0 to turn off optimization (turn on debug).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31655
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 23:58:45 +0000 (23:58 +0000)]
implement preinc support for r+i loads on ppc64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31654
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 23:38:52 +0000 (23:38 +0000)]
Fix InstCombine/2006-11-10-ashr-miscompile.ll a miscompilation introduced
by the shr -> [al]shr patch. This was reduced from 176.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31653
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 23:37:54 +0000 (23:37 +0000)]
This testcase is miscompiled by instcombine, reduced from 176.gcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31652
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Nov 2006 22:09:17 +0000 (22:09 +0000)]
Add a note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31650
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Nov 2006 22:03:35 +0000 (22:03 +0000)]
These are done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31649
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Nov 2006 21:43:37 +0000 (21:43 +0000)]
Don't dag combine floating point select to max and min intrinsics. Those
take v4f32 / v2f64 operands and may end up causing larger spills / restores.
Added X86 specific nodes X86ISD::FMAX, X86ISD::FMIN instead.
This fixes PR996.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31645
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 21:37:15 +0000 (21:37 +0000)]
Fix a dag combiner bug exposed by my recent instcombine patch. This fixes
CodeGen/Generic/2006-11-10-DAGCombineMiscompile.ll and PPC gsm/toast
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31644
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 21:36:07 +0000 (21:36 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31643
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 10 Nov 2006 21:33:13 +0000 (21:33 +0000)]
s/PassManagerAnalysisHelper/CommonPassManagerImpl
Inherit CommonPassManagerImpl from Pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31642
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Nov 2006 21:23:04 +0000 (21:23 +0000)]
Fix a bug in SelectScalarSSELoad. Since the load is wrapped in a
SCALAR_TO_VECTOR, even if the hasOneUse() check pass we may end up folding
the load into two instructions. Make sure we check the SCALAR_TO_VECTOR
has only one use as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31641
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 10 Nov 2006 17:56:29 +0000 (17:56 +0000)]
Must have a frame pointer argument fixed. Now fails on PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31639
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 10 Nov 2006 17:51:25 +0000 (17:51 +0000)]
Must have a frame pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31638
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 17:51:02 +0000 (17:51 +0000)]
dform 8/9 are identical to dform 1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31637
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 10 Nov 2006 17:47:28 +0000 (17:47 +0000)]
This is XFAILed on i[0-9]86 systems not Linux
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31636
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 10 Nov 2006 14:44:12 +0000 (14:44 +0000)]
Shut up the warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31635
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Nov 2006 09:13:37 +0000 (09:13 +0000)]
Fix a potential bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31634
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Nov 2006 08:43:01 +0000 (08:43 +0000)]
Add implicit def / use operands to MachineInstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31633
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Nov 2006 08:32:14 +0000 (08:32 +0000)]
Add implicit def / use operands to MachineInstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31632
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Nov 2006 08:28:11 +0000 (08:28 +0000)]
When forming a pre-indexed store, make sure ptr isn't the same or is a pred of value being stored. It would cause a cycle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31631
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 10 Nov 2006 06:59:53 +0000 (06:59 +0000)]
Adding target triple to test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31630
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 10 Nov 2006 04:53:50 +0000 (04:53 +0000)]
xfail for llvmgcc3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31629
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 04:41:34 +0000 (04:41 +0000)]
commentate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31627
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 02:08:47 +0000 (02:08 +0000)]
add an initial cut at preinc loads for ppc32. This is broken for ppc64
(because the 64-bit reg target versions aren't implemented yet), doesn't
support r+r addr modes, and doesn't handle stores, but it works otherwise. :)
This is disabled unless -enable-ppc-preinc is passed to llc for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31621
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 02:04:52 +0000 (02:04 +0000)]
make this test more interesting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31619
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 02:01:40 +0000 (02:01 +0000)]
allow ptr_rc to explicitly appear in an instructions operand list, it doesn't
have to be a subpart of a complex operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31618
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 01:33:53 +0000 (01:33 +0000)]
add note about ugly codegen with preinc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31617
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Nov 2006 01:28:43 +0000 (01:28 +0000)]
Use TargetInstrInfo::getNumOperands() instead of MachineInstr::getNumOperands(). In preparation for implicit reg def/use changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31616
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 10 Nov 2006 00:48:11 +0000 (00:48 +0000)]
Fixing PR990: http://llvm.org/PR990.
This should unbreak csretcc on Linux & mingw targets. Several tests from
llvm-test should be also restored (fftbench, bigfib).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31613
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Nov 2006 00:23:26 +0000 (00:23 +0000)]
add a note about viterbi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31612
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Nov 2006 23:36:08 +0000 (23:36 +0000)]
second patch to fix PR992/993.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31610
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Nov 2006 23:35:01 +0000 (23:35 +0000)]
new testcases for PR992/993
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31609
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Nov 2006 23:17:45 +0000 (23:17 +0000)]
Minimal patch to fix PR992/PR993
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31608
91177308-0d34-0410-b5e6-
96231b3b80d8