Chris Lattner
41e53fd39b
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
2006-11-11 01:00:15 +00:00
Chris Lattner
9f1794ea58
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
2006-11-11 00:56:29 +00:00
Devang Patel
a363a0bdef
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
2006-11-11 00:42:16 +00:00
Chris Lattner
448f219fed
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
2006-11-11 00:39:41 +00:00
Chris Lattner
ab4b7b4e52
enable this test, check ppc64 as well.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31657 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 00:13:07 +00:00
Chris Lattner
f6edf4dcf0
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
2006-11-11 00:08:42 +00:00
Reid Spencer
7f5f75dc5c
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
2006-11-11 00:00:31 +00:00
Chris Lattner
94e509caea
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
2006-11-10 23:58:45 +00:00
Chris Lattner
de2b6605ba
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
2006-11-10 23:38:52 +00:00
Chris Lattner
7d6d241c11
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
2006-11-10 23:37:54 +00:00
Evan Cheng
484c7a1295
Add a note.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31650 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 22:09:17 +00:00
Evan Cheng
a8d39be75b
These are done.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31649 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 22:03:35 +00:00
Evan Cheng
8ca29326e1
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
2006-11-10 21:43:37 +00:00
Chris Lattner
734c91d250
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
2006-11-10 21:37:15 +00:00
Chris Lattner
6832780bda
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31643 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 21:36:07 +00:00
Devang Patel
37a84c7d8b
s/PassManagerAnalysisHelper/CommonPassManagerImpl
...
Inherit CommonPassManagerImpl from Pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31642 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 21:33:13 +00:00
Evan Cheng
d6373bcd82
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
2006-11-10 21:23:04 +00:00
Jim Laskey
a5fd380ac4
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
2006-11-10 17:56:29 +00:00
Jim Laskey
c24300587a
Must have a frame pointer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 17:51:25 +00:00
Chris Lattner
6a944e2592
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
2006-11-10 17:51:02 +00:00
Reid Spencer
6b92592015
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
2006-11-10 17:47:28 +00:00
Jim Laskey
8097ef3d7b
Shut up the warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31635 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 14:44:12 +00:00
Evan Cheng
50b3b50cd0
Fix a potential bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31634 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 09:13:37 +00:00
Evan Cheng
438f7bc67c
Add implicit def / use operands to MachineInstr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31633 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 08:43:01 +00:00
Evan Cheng
e7680cef84
Add implicit def / use operands to MachineInstr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31632 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 08:32:14 +00:00
Evan Cheng
a7ff64d608
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
2006-11-10 08:28:11 +00:00
Anton Korobeynikov
a8423c1898
Adding target triple to test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31630 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 06:59:53 +00:00
Tanya Lattner
9f852e9dec
xfail for llvmgcc3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31629 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 04:53:50 +00:00
Chris Lattner
1e7aa5c209
commentate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31627 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 04:41:34 +00:00
Chris Lattner
4eab71497d
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
2006-11-10 02:08:47 +00:00
Chris Lattner
42b51e4ae2
make this test more interesting
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31619 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 02:04:52 +00:00
Chris Lattner
f196839562
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
2006-11-10 02:01:40 +00:00
Chris Lattner
26ddb506ec
add note about ugly codegen with preinc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31617 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 01:33:53 +00:00
Evan Cheng
171d09ea53
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
2006-11-10 01:28:43 +00:00
Anton Korobeynikov
df78611726
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
2006-11-10 00:48:11 +00:00
Chris Lattner
578d2df84b
add a note about viterbi
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31612 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 00:23:26 +00:00
Chris Lattner
08ff1480ff
second patch to fix PR992/993.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31610 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 23:36:08 +00:00
Chris Lattner
0a629fbbca
new testcases for PR992/993
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31609 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 23:35:01 +00:00
Chris Lattner
a9d709d51a
Minimal patch to fix PR992/PR993
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31608 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 23:17:45 +00:00
Reid Spencer
d4448796cf
Post-review changes on conversion instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31607 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 23:03:26 +00:00
Reid Spencer
3fa91b08a4
Fix runaway <tt> element and section ordering.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31606 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 21:48:10 +00:00
Reid Spencer
16c469e660
Remove futurisms that won't be in our future.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31605 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 21:42:14 +00:00
Reid Spencer
035ab57f4a
One more time for indentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31604 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 21:18:01 +00:00
Reid Spencer
47ce179995
Fix indentation problem starting at GEP.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31603 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 21:15:49 +00:00
Chris Lattner
9cab56d59e
if lazy compilation is disabled, print an error message and abort if
...
lazy compilation is ever attempted
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31602 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 19:32:13 +00:00
Chris Lattner
3d6e33d2a3
init ivar
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31601 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 19:31:15 +00:00
Chris Lattner
1c1a446990
allow clients to indicate that they never want lazy compilation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31600 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 19:30:47 +00:00
Evan Cheng
cd63319227
PPC supports i32 / i64 pre-inc load / store.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31599 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 19:11:50 +00:00
Evan Cheng
8dc5cad8a2
Don't attempt expensive pre-/post- indexed dag combine if target does not support them.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31598 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 19:10:46 +00:00
Evan Cheng
5ff839fbab
Add a mechanism to specify whether a target supports a particular indexed load / store.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31597 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 18:56:43 +00:00