Commit Graph

27546 Commits

Author SHA1 Message Date
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
Evan Cheng
0030582239 Rename ISD::MemOpAddrMode to ISD::MemIndexedMode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31596 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 18:44:21 +00:00
Evan Cheng
144d8f09e1 Rename ISD::MemOpAddrMode to ISD::MemIndexedMode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31595 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 17:55:04 +00:00
Jim Laskey
85f419b36c Allows debugging llc self hosted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31594 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 16:32:26 +00:00
Jim Laskey
5496f01465 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
2006-11-09 14:52:14 +00:00
Rafael Espindola
f819a4999a 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
2006-11-09 13:58:55 +00:00
Jim Laskey
cfa0c251bd math.h creates ambiguity
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31591 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 08:26:22 +00:00
Jim Laskey
4320f810c8 math.h for C's sake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31590 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 08:05:39 +00:00
Chris Lattner
fef02427cd 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
2006-11-09 06:24:56 +00:00
Chris Lattner
cd6f46e2ac 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
2006-11-09 05:57:53 +00:00
Chris Lattner
b324bd735f silence warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31587 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 05:18:12 +00:00
Chris Lattner
b4a2f059ad 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
2006-11-09 05:12:27 +00:00
Chris Lattner
12afb70894 new testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31585 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 05:11:23 +00:00
Evan Cheng
d258efaf6e 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
2006-11-09 04:29:46 +00:00
Evan Cheng
a1fd6504aa Remove M_2_ADDR_FLAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31583 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 02:22:54 +00:00
Reid Spencer
dd2b95534f 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
2006-11-09 01:47:04 +00:00
Reid Spencer
e4d8f33b0f 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
2006-11-09 00:50:32 +00:00
Reid Spencer
28b7c7feab 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
2006-11-09 00:26:17 +00:00
Tanya Lattner
3ebb5a1cb8 Should be xfailed for llvmgcc3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31578 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 23:26:16 +00:00
Tanya Lattner
b1ae34008a 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
2006-11-08 23:25:58 +00:00
Evan Cheng
81fd60722a Added indexed store node and patfrag's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31576 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 23:02:11 +00:00
Evan Cheng
892aaf8d74 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
2006-11-08 23:01:03 +00:00
Reid Spencer
d8e01971d3 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
2006-11-08 21:28:30 +00:00
Reid Spencer
6996feb77e 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
2006-11-08 21:27:54 +00:00
Evan Cheng
aacf99964f Use movl+xchgl instead of pushl+popl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31572 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 20:35:37 +00:00