oota-llvm.git
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

18 years agoBeautify.
Devang Patel [Wed, 8 Nov 2006 00:19:31 +0000 (00:19 +0000)]
Beautify.
Clarify comments.

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

18 years agoUpdate new pass managers to use PassManagerAnalysisHelper API.
Devang Patel [Tue, 7 Nov 2006 22:56:50 +0000 (22:56 +0000)]
Update new pass managers to use PassManagerAnalysisHelper API.

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

18 years agoDerive new pass managers from PassManagerAnalysisHelper.
Devang Patel [Tue, 7 Nov 2006 22:44:55 +0000 (22:44 +0000)]
Derive new pass managers from PassManagerAnalysisHelper.

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

18 years agoscalarrepl should not split the two elements of the vsiidx array:
Chris Lattner [Tue, 7 Nov 2006 22:42:47 +0000 (22:42 +0000)]
scalarrepl should not split the two elements of the vsiidx array:
int func(vFloat v0, vFloat v1) {
        int ii;
        vSInt32 vsiidx[2];
        vsiidx[0] = _mm_cvttps_epi32(v0);
        vsiidx[1] = _mm_cvttps_epi32(v1);
        ii = ((int *) vsiidx)[4];
        return ii;
}

This fixes Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll

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

18 years agoscalarrepl should not split the two elements of the vsiidx array:
Chris Lattner [Tue, 7 Nov 2006 22:42:29 +0000 (22:42 +0000)]
scalarrepl should not split the two elements of the vsiidx array:
int func(vFloat v0, vFloat v1) {
int ii;
vSInt32 vsiidx[2];
vsiidx[0] = _mm_cvttps_epi32(v0);
vsiidx[1] = _mm_cvttps_epi32(v1);
ii = ((int *) vsiidx)[4];
return ii;
}

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

18 years agoIntroduce PassManagerAnalysisHelper.
Devang Patel [Tue, 7 Nov 2006 22:35:17 +0000 (22:35 +0000)]
Introduce PassManagerAnalysisHelper.

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

18 years agoAdd PassManager_New.
Devang Patel [Tue, 7 Nov 2006 22:23:34 +0000 (22:23 +0000)]
Add PassManager_New.

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

18 years agoNew test case.
Evan Cheng [Tue, 7 Nov 2006 22:18:14 +0000 (22:18 +0000)]
New test case.

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

18 years agoFixed a bug which causes x86 be to incorrectly match
Evan Cheng [Tue, 7 Nov 2006 22:14:24 +0000 (22:14 +0000)]
Fixed a bug which causes x86 be to incorrectly match
shuffle v, undef, <2, ?, 3, ?>
to movhlps
It should match to unpckhps instead.

Added proper matching code for
shuffle v, undef, <2, 3, 2, 3>

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

18 years agoFix comment.
Devang Patel [Tue, 7 Nov 2006 22:04:53 +0000 (22:04 +0000)]
Fix comment.

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

18 years agoAdd ModulePassManager_New.
Devang Patel [Tue, 7 Nov 2006 22:03:15 +0000 (22:03 +0000)]
Add ModulePassManager_New.

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

18 years agoAccidently reran commit.
Jim Laskey [Tue, 7 Nov 2006 21:58:55 +0000 (21:58 +0000)]
Accidently reran commit.

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

18 years agoAdd FunctionPassManager_New.
Devang Patel [Tue, 7 Nov 2006 21:49:50 +0000 (21:49 +0000)]
Add FunctionPassManager_New.

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

18 years agoMissed a label map, reverting till covered.
Jim Laskey [Tue, 7 Nov 2006 21:37:31 +0000 (21:37 +0000)]
Missed a label map, reverting till covered.

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

18 years agoAdd BasicBlockPassManager_New.
Devang Patel [Tue, 7 Nov 2006 21:31:57 +0000 (21:31 +0000)]
Add BasicBlockPassManager_New.

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

18 years agoMissed a label map, reverting till covered.
Jim Laskey [Tue, 7 Nov 2006 20:53:05 +0000 (20:53 +0000)]
Missed a label map, reverting till covered.

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

18 years agoOptionally allow comparison operations from affect DSGraphs
Andrew Lenharth [Tue, 7 Nov 2006 20:39:05 +0000 (20:39 +0000)]
Optionally allow comparison operations from affect DSGraphs

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

18 years agoAllow loop detection during debug in forwarding nodes, and revert auxcall patch as...
Andrew Lenharth [Tue, 7 Nov 2006 20:36:02 +0000 (20:36 +0000)]
Allow loop detection during debug in forwarding nodes, and revert auxcall patch as it make 176.gcc untenable

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

18 years agodebug type for DSA TD
Andrew Lenharth [Tue, 7 Nov 2006 20:35:11 +0000 (20:35 +0000)]
debug type for DSA TD

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

18 years ago1. Add a pass to fold debug label instructions so a debug info client can detect
Jim Laskey [Tue, 7 Nov 2006 19:33:46 +0000 (19:33 +0000)]
1. Add a pass to fold debug label instructions so a debug info client can detect
empty ranges.

2. Reorg how MachineDebugInfo maintains changes to debug labels.

3. Have dwarf writer use debug label info to simplify scopes and source line
coorespondence.

4. Revert the merging of compile units until I can get the bugs ironed out.

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

18 years agoadd a note from viterbi
Chris Lattner [Tue, 7 Nov 2006 18:30:21 +0000 (18:30 +0000)]
add a note from viterbi

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