oota-llvm.git
18 years agoThis testcase is miscompiled by instcombine, reduced from 176.gcc
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

18 years agoAdd a note.
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

18 years agoThese are done.
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

18 years agoDon't dag combine floating point select to max and min intrinsics. Those
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

18 years agoFix a dag combiner bug exposed by my recent instcombine patch. This fixes
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

18 years agonew testcase
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

18 years agos/PassManagerAnalysisHelper/CommonPassManagerImpl
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

18 years agoFix a bug in SelectScalarSSELoad. Since the load is wrapped in a
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

18 years agoMust have a frame pointer argument fixed. Now fails on PowerPC.
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

18 years agoMust have a frame pointer.
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

18 years agodform 8/9 are identical to dform 1
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

18 years agoThis is XFAILed on i[0-9]86 systems not Linux
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

18 years agoShut up the warning.
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

18 years agoFix a potential bug.
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

18 years agoAdd implicit def / use operands to MachineInstr.
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

18 years agoAdd implicit def / use operands to MachineInstr.
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

18 years agoWhen forming a pre-indexed store, make sure ptr isn't the same or is a pred of value...
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

18 years agoAdding target triple to test
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

18 years agoxfail for llvmgcc3
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

18 years agocommentate
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

18 years agoadd an initial cut at preinc loads for ppc32. This is broken for ppc64
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

18 years agomake this test more interesting
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

18 years agoallow ptr_rc to explicitly appear in an instructions operand list, it doesn't
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

18 years agoadd note about ugly codegen with preinc
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

18 years agoUse TargetInstrInfo::getNumOperands() instead of MachineInstr::getNumOperands()....
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

18 years agoFixing PR990: http://llvm.org/PR990.
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

18 years agoadd a note about viterbi
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

18 years agosecond patch to fix PR992/993.
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

18 years agonew testcases for PR992/993
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

18 years agoMinimal patch to fix PR992/PR993
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

18 years agoPost-review changes on conversion instructions.
Reid Spencer [Thu, 9 Nov 2006 23:03:26 +0000 (23:03 +0000)]
Post-review changes on conversion instructions.

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

18 years agoFix runaway <tt> element and section ordering.
Reid Spencer [Thu, 9 Nov 2006 21:48:10 +0000 (21:48 +0000)]
Fix runaway <tt> element and section ordering.

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

18 years agoRemove futurisms that won't be in our future.
Reid Spencer [Thu, 9 Nov 2006 21:42:14 +0000 (21:42 +0000)]
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

18 years agoOne more time for indentation.
Reid Spencer [Thu, 9 Nov 2006 21:18:01 +0000 (21:18 +0000)]
One more time for indentation.

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

18 years agoFix indentation problem starting at GEP.
Reid Spencer [Thu, 9 Nov 2006 21:15:49 +0000 (21:15 +0000)]
Fix indentation problem starting at GEP.

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

18 years agoif lazy compilation is disabled, print an error message and abort if
Chris Lattner [Thu, 9 Nov 2006 19:32:13 +0000 (19:32 +0000)]
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

18 years agoinit ivar
Chris Lattner [Thu, 9 Nov 2006 19:31:15 +0000 (19:31 +0000)]
init ivar

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

18 years agoallow clients to indicate that they never want lazy compilation.
Chris Lattner [Thu, 9 Nov 2006 19:30:47 +0000 (19:30 +0000)]
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

18 years agoPPC supports i32 / i64 pre-inc load / store.
Evan Cheng [Thu, 9 Nov 2006 19:11:50 +0000 (19:11 +0000)]
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

18 years agoDon't attempt expensive pre-/post- indexed dag combine if target does not support...
Evan Cheng [Thu, 9 Nov 2006 19:10:46 +0000 (19:10 +0000)]
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

18 years agoAdd a mechanism to specify whether a target supports a particular indexed load /...
Evan Cheng [Thu, 9 Nov 2006 18:56:43 +0000 (18:56 +0000)]
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

18 years agoRename ISD::MemOpAddrMode to ISD::MemIndexedMode
Evan Cheng [Thu, 9 Nov 2006 18:44:21 +0000 (18:44 +0000)]
Rename ISD::MemOpAddrMode to ISD::MemIndexedMode

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

18 years agoRename ISD::MemOpAddrMode to ISD::MemIndexedMode
Evan Cheng [Thu, 9 Nov 2006 17:55:04 +0000 (17:55 +0000)]
Rename ISD::MemOpAddrMode to ISD::MemIndexedMode

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

18 years agoAllows debugging llc self hosted.
Jim Laskey [Thu, 9 Nov 2006 16:32:26 +0000 (16:32 +0000)]
Allows debugging llc self hosted.

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

18 years agoMerging dwarf info to a single compile unit.
Jim Laskey [Thu, 9 Nov 2006 14:52:14 +0000 (14:52 +0000)]
Merging dwarf info to a single compile unit.

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

18 years agoimplement load effective address similar to the alpha backend
Rafael Espindola [Thu, 9 Nov 2006 13:58:55 +0000 (13:58 +0000)]
implement load effective address similar to the alpha backend
remove lea_addri and the now unused memri addressing mode

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

18 years agomath.h creates ambiguity
Jim Laskey [Thu, 9 Nov 2006 08:26:22 +0000 (08:26 +0000)]
math.h creates ambiguity

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

18 years agomath.h for C's sake.
Jim Laskey [Thu, 9 Nov 2006 08:05:39 +0000 (08:05 +0000)]
math.h for C's sake.

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

18 years agocompletely revert patrick's enhancement to bugpoint. Though it makes bugpoint
Chris Lattner [Thu, 9 Nov 2006 06:24:56 +0000 (06:24 +0000)]
completely revert patrick's enhancement to bugpoint.  Though it makes bugpoint
speed up, it sometimes makes it crash on complex bc files, which isn't very nice.

With this, bugpoint can reduce the 176.gcc failure.

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

18 years agoadd a new bugpoint mode -llc-safe. This uses LLC for both halves of a
Chris Lattner [Thu, 9 Nov 2006 05:57:53 +0000 (05:57 +0000)]
add a new bugpoint mode -llc-safe.  This uses LLC for both halves of a
miscompilation.  This is useful for working around GCC+CBE bugs or for handling
programs that CBE doesn't support (e.g. inline asm) when searching for
optimizer bugs.

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

18 years agosilence warnings
Chris Lattner [Thu, 9 Nov 2006 05:18:12 +0000 (05:18 +0000)]
silence warnings

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

18 years agoTeach ShrinkDemandedConstant how to handle X+C. This implements:
Chris Lattner [Thu, 9 Nov 2006 05:12:27 +0000 (05:12 +0000)]
Teach ShrinkDemandedConstant how to handle X+C.  This implements:
add.ll:test33, add.ll:test34, shift-sra.ll:test2

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

18 years agonew testcases
Chris Lattner [Thu, 9 Nov 2006 05:11:23 +0000 (05:11 +0000)]
new testcases

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

18 years agogetPostIndexedAddressParts change: passes in load/store instead of its loaded / store...
Evan Cheng [Thu, 9 Nov 2006 04:29:46 +0000 (04:29 +0000)]
getPostIndexedAddressParts change: passes in load/store instead of its loaded / stored VT.

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

18 years agoRemove M_2_ADDR_FLAG.
Evan Cheng [Thu, 9 Nov 2006 02:22:54 +0000 (02:22 +0000)]
Remove M_2_ADDR_FLAG.

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

18 years agoDon't run bugpoint if we can't find a misoptimization.
Reid Spencer [Thu, 9 Nov 2006 01:47:04 +0000 (01:47 +0000)]
Don't run bugpoint if we can't find a misoptimization.

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

18 years agoPrint a usage message if too few arguments to program.
Reid Spencer [Thu, 9 Nov 2006 00:50:32 +0000 (00:50 +0000)]
Print a usage message if too few arguments to program.

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

18 years agoAdd a utility script to find a mis-optimization problem. This sometimes
Reid Spencer [Thu, 9 Nov 2006 00:26:17 +0000 (00:26 +0000)]
Add a utility script to find a mis-optimization problem. This sometimes
helps when bugpoint can't find the problem directly because it needs the
set of optimizations that cause the program to fail.

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

18 years agoShould be xfailed for llvmgcc3
Tanya Lattner [Wed, 8 Nov 2006 23:26:16 +0000 (23:26 +0000)]
Should be xfailed for llvmgcc3

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

18 years agoShould be xfailed for llvmgcc4 and NOT *. * means all platforms regardless of what...
Tanya Lattner [Wed, 8 Nov 2006 23:25:58 +0000 (23:25 +0000)]
Should be xfailed for llvmgcc4 and NOT *. * means all platforms regardless of what llvmgcc you use.

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

18 years agoAdded indexed store node and patfrag's.
Evan Cheng [Wed, 8 Nov 2006 23:02:11 +0000 (23:02 +0000)]
Added indexed store node and patfrag's.

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

18 years agoDivide select methods into groups by SelectionDAG node opcodes (ISD::ADD,
Evan Cheng [Wed, 8 Nov 2006 23:01:03 +0000 (23:01 +0000)]
Divide select methods into groups by SelectionDAG node opcodes (ISD::ADD,
X86ISD::CMP, etc.) instead of SDNode names (add, x86cmp, etc). We now allow
multiple SDNodes to map to the same SelectionDAG node (e.g. store, indexed
store).

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

18 years agoEnsure we don't regress on reading version 6 bytecode.
Reid Spencer [Wed, 8 Nov 2006 21:28:30 +0000 (21:28 +0000)]
Ensure we don't regress on reading version 6 bytecode.

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

18 years agoBump the bytecode version number to 7. Implement upgrade of version 6 and
Reid Spencer [Wed, 8 Nov 2006 21:27:54 +0000 (21:27 +0000)]
Bump the bytecode version number to 7. Implement upgrade of version 6 and
version 6 bytecode.

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

18 years agoUse movl+xchgl instead of pushl+popl.
Evan Cheng [Wed, 8 Nov 2006 20:35:37 +0000 (20:35 +0000)]
Use movl+xchgl instead of pushl+popl.

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

18 years agoMatch tblegen changes.
Evan Cheng [Wed, 8 Nov 2006 20:34:28 +0000 (20:34 +0000)]
Match tblegen changes.

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

18 years agoAlways pass the root node to ComplexPattern isel matching function.
Evan Cheng [Wed, 8 Nov 2006 20:31:10 +0000 (20:31 +0000)]
Always pass the root node to ComplexPattern isel matching function.

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

18 years agoMatch more post-indexed ops.
Evan Cheng [Wed, 8 Nov 2006 20:27:27 +0000 (20:27 +0000)]
Match more post-indexed ops.

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

18 years agoShould be xfailed for llvm-gcc3.4
Tanya Lattner [Wed, 8 Nov 2006 20:16:05 +0000 (20:16 +0000)]
Should be xfailed for llvm-gcc3.4

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

18 years agoDocument correct opcodes for post 1.9 release.
Reid Spencer [Wed, 8 Nov 2006 20:07:40 +0000 (20:07 +0000)]
Document correct opcodes for post 1.9 release.

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

18 years agoUpdate the instruction opcodes for release 1.9
Reid Spencer [Wed, 8 Nov 2006 20:06:36 +0000 (20:06 +0000)]
Update the instruction opcodes for release 1.9

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

18 years agoreenable factoring of GEP expressions, being more precise about the
Chris Lattner [Wed, 8 Nov 2006 19:42:28 +0000 (19:42 +0000)]
reenable factoring of GEP expressions, being more precise about the
case that it bad to do.

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

18 years agomake this code more efficient by not creating a phi node we are just going to
Chris Lattner [Wed, 8 Nov 2006 19:29:23 +0000 (19:29 +0000)]
make this code more efficient by not creating a phi node we are just going to
delete in the first place.  This also makes it simpler.

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

18 years agoRemove redundant <cmath>.
Jim Laskey [Wed, 8 Nov 2006 19:16:44 +0000 (19:16 +0000)]
Remove redundant <cmath>.

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

18 years agodisable this factoring optzn for GEPs for now, this severely pessimizes some
Chris Lattner [Wed, 8 Nov 2006 18:49:31 +0000 (18:49 +0000)]
disable this factoring optzn for GEPs for now, this severely pessimizes some
loops.

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

18 years agoMake sure <cmath> comes first
Jim Laskey [Wed, 8 Nov 2006 18:48:14 +0000 (18:48 +0000)]
Make sure <cmath> comes first

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

18 years agoAdd backup support for HUGH_VALF.
Jim Laskey [Wed, 8 Nov 2006 17:19:29 +0000 (17:19 +0000)]
Add backup support for HUGH_VALF.

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

18 years agoinitial implementation of addressing mode 2
Rafael Espindola [Wed, 8 Nov 2006 17:07:32 +0000 (17:07 +0000)]
initial implementation of addressing mode 2
TODO: fix lea_addri

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

18 years agoMake it work on Darwin.
Jim Laskey [Wed, 8 Nov 2006 16:38:45 +0000 (16:38 +0000)]
Make it work on Darwin.

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

18 years agoInclude llvm/Support/DataTypes.h to define intptr_t.
John Criswell [Wed, 8 Nov 2006 15:04:35 +0000 (15:04 +0000)]
Include llvm/Support/DataTypes.h to define intptr_t.
This fixes the build on OpenBSD and potentially other systems.

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

18 years agoNow can re-enable debug label folding.
Jim Laskey [Wed, 8 Nov 2006 14:17:45 +0000 (14:17 +0000)]
Now can re-enable debug label folding.

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

18 years agoWasn't handling case of when machine move labels were undefined.
Jim Laskey [Wed, 8 Nov 2006 14:16:39 +0000 (14:16 +0000)]
Wasn't handling case of when machine move labels were undefined.

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

18 years agoSplit FunctionPassManager_New into FunctionPassManager_New and FunctionPassManagerImp...
Devang Patel [Wed, 8 Nov 2006 10:44:40 +0000 (10:44 +0000)]
Split FunctionPassManager_New into FunctionPassManager_New and FunctionPassManagerImpl_New.
FunctionPassManagerImpl_New implements the pass manager.
FunctionPassManager_New is the public interface.

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

18 years agoSplit PassManager_New into PassManager_New and PassManagerImpl_New.
Devang Patel [Wed, 8 Nov 2006 10:29:57 +0000 (10:29 +0000)]
Split PassManager_New into PassManager_New and PassManagerImpl_New.
PassManagerImpl_New implements the pass manager.
PassManager_New is the public interface.

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

18 years agoMove BasicBlockPassManager_New, FunctionPassManager_New and
Devang Patel [Wed, 8 Nov 2006 10:05:38 +0000 (10:05 +0000)]
Move BasicBlockPassManager_New, FunctionPassManager_New and
ModulePassManager_New class declarations from PassManager.h
to PassManager.cpp

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

18 years ago- When performing pre-/post- indexed load/store transformation, do not worry
Evan Cheng [Wed, 8 Nov 2006 08:30:28 +0000 (08:30 +0000)]
- When performing pre-/post- indexed load/store transformation, do not worry
  about whether the new base ptr would be live below the load/store. Let two
  address pass split it back to non-indexed ops.
- Minor tweaks / fixes.

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

18 years agoFixed a minor bug preventing some pre-indexed load / store transformation.
Evan Cheng [Wed, 8 Nov 2006 06:56:05 +0000 (06:56 +0000)]
Fixed a minor bug preventing some pre-indexed load / store transformation.

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

18 years agoFor PR950:
Reid Spencer [Wed, 8 Nov 2006 06:47:33 +0000 (06:47 +0000)]
For PR950:
This patch converts the old SHR instruction into two instructions,
AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not
dependent on the sign of their operands.

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

18 years agoXFAIL this on Linux until Jim gets Darwin ship shape.
Reid Spencer [Wed, 8 Nov 2006 06:43:16 +0000 (06:43 +0000)]
XFAIL this on Linux until Jim gets Darwin ship shape.

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

18 years agonow that we handle single mbb loops better, one branch is allowed
Chris Lattner [Wed, 8 Nov 2006 06:42:42 +0000 (06:42 +0000)]
now that we handle single mbb loops better, one branch is allowed

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

18 years agoregenerate
Chris Lattner [Wed, 8 Nov 2006 05:58:47 +0000 (05:58 +0000)]
regenerate

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

18 years agoFix a bug noticed by Emil Mikulic.
Chris Lattner [Wed, 8 Nov 2006 05:58:11 +0000 (05:58 +0000)]
Fix a bug noticed by Emil Mikulic.

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

18 years agoFix a obscure post-indexed load / store dag combine bug.
Evan Cheng [Wed, 8 Nov 2006 02:38:55 +0000 (02:38 +0000)]
Fix a obscure post-indexed load / store dag combine bug.

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

18 years agoRefactor all the addressing mode selection stuff into the isel lowering
Chris Lattner [Wed, 8 Nov 2006 02:15:41 +0000 (02:15 +0000)]
Refactor all the addressing mode selection stuff into the isel lowering
class, where it can be used for preinc formation.

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

18 years agocorrect the (currently unused) pattern for lwzu.
Chris Lattner [Wed, 8 Nov 2006 02:13:12 +0000 (02:13 +0000)]
correct the (currently unused) pattern for lwzu.

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

18 years agopreincrement case we miss. xfail until we catch it
Chris Lattner [Wed, 8 Nov 2006 01:44:35 +0000 (01:44 +0000)]
preincrement case we miss.  xfail until we catch it

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

18 years agoBeautify.
Devang Patel [Wed, 8 Nov 2006 01:31:28 +0000 (01:31 +0000)]
Beautify.

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

18 years agoFix the section headings.
Reid Spencer [Wed, 8 Nov 2006 01:18:52 +0000 (01:18 +0000)]
Fix the section headings.

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

18 years agoFor PR950:
Reid Spencer [Wed, 8 Nov 2006 01:11:31 +0000 (01:11 +0000)]
For PR950:
Early commit of the documentation for new conversion instructions for
easier review.

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

18 years agooptimize single MBB loops better. In particular, produce:
Chris Lattner [Wed, 8 Nov 2006 01:03:21 +0000 (01:03 +0000)]
optimize single MBB loops better.  In particular, produce:

LBB1_57:        #bb207.i
        movl 72(%esp), %ecx
        movb (%ecx,%eax), %cl
        movl 80(%esp), %edx
        movb %cl, 1(%edx,%eax)
        incl %eax
        cmpl $143, %eax
        jne LBB1_57     #bb207.i
        jmp LBB1_64     #cond_next255.i

intead of:

LBB1_57:        #bb207.i
        movl 72(%esp), %ecx
        movb (%ecx,%eax), %cl
        movl 80(%esp), %edx
        movb %cl, 1(%edx,%eax)
        incl %eax
        cmpl $143, %eax
        je LBB1_64      #cond_next255.i
        jmp LBB1_57     #bb207.i

This eliminates a branch per iteration of the loop.  This hurted PPC
particularly, because the extra branch meant another dispatch group for each
iteration of the loop.

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