Rafael Espindola
5daebfdae0
implement load effective address similar to the alpha backend
...
remove lea_addri and the now unused memri addressing mode
llvm-svn: 31592
2006-11-09 13:58:55 +00:00
Jim Laskey
c7044db565
math.h creates ambiguity
...
llvm-svn: 31591
2006-11-09 08:26:22 +00:00
Jim Laskey
03b3ec783d
math.h for C's sake.
...
llvm-svn: 31590
2006-11-09 08:05:39 +00:00
Chris Lattner
ae15a1f88d
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.
llvm-svn: 31589
2006-11-09 06:24:56 +00:00
Chris Lattner
3488208b8e
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.
llvm-svn: 31588
2006-11-09 05:57:53 +00:00
Chris Lattner
71c31643ad
silence warnings
...
llvm-svn: 31587
2006-11-09 05:18:12 +00:00
Chris Lattner
cd3c5f59e2
Teach ShrinkDemandedConstant how to handle X+C. This implements:
...
add.ll:test33, add.ll:test34, shift-sra.ll:test2
llvm-svn: 31586
2006-11-09 05:12:27 +00:00
Chris Lattner
337e425b69
new testcases
...
llvm-svn: 31585
2006-11-09 05:11:23 +00:00
Evan Cheng
6b7d127df9
getPostIndexedAddressParts change: passes in load/store instead of its loaded / stored VT.
...
llvm-svn: 31584
2006-11-09 04:29:46 +00:00
Evan Cheng
8743c67826
Remove M_2_ADDR_FLAG.
...
llvm-svn: 31583
2006-11-09 02:22:54 +00:00
Reid Spencer
872f4226e4
Don't run bugpoint if we can't find a misoptimization.
...
llvm-svn: 31582
2006-11-09 01:47:04 +00:00
Reid Spencer
1d8fddc5b0
Print a usage message if too few arguments to program.
...
llvm-svn: 31581
2006-11-09 00:50:32 +00:00
Reid Spencer
dbb1ac36fa
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.
llvm-svn: 31580
2006-11-09 00:26:17 +00:00
Tanya Lattner
54631a48fc
Should be xfailed for llvmgcc3
...
llvm-svn: 31578
2006-11-08 23:26:16 +00:00
Tanya Lattner
a4e66e5441
Should be xfailed for llvmgcc4 and NOT *. * means all platforms regardless of what llvmgcc you use.
...
llvm-svn: 31577
2006-11-08 23:25:58 +00:00
Evan Cheng
019b921f3b
Added indexed store node and patfrag's.
...
llvm-svn: 31576
2006-11-08 23:02:11 +00:00
Evan Cheng
6921c1c0a7
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).
llvm-svn: 31575
2006-11-08 23:01:03 +00:00
Reid Spencer
d3fd11fe83
Ensure we don't regress on reading version 6 bytecode.
...
llvm-svn: 31574
2006-11-08 21:28:30 +00:00
Reid Spencer
972e7d7995
Bump the bytecode version number to 7. Implement upgrade of version 6 and
...
version 6 bytecode.
llvm-svn: 31573
2006-11-08 21:27:54 +00:00
Evan Cheng
2edeb17aed
Use movl+xchgl instead of pushl+popl.
...
llvm-svn: 31572
2006-11-08 20:35:37 +00:00
Evan Cheng
736a8eb3cd
Match tblegen changes.
...
llvm-svn: 31571
2006-11-08 20:34:28 +00:00
Evan Cheng
42fb21c3c5
Always pass the root node to ComplexPattern isel matching function.
...
llvm-svn: 31570
2006-11-08 20:31:10 +00:00
Evan Cheng
fcef896f6e
Match more post-indexed ops.
...
llvm-svn: 31569
2006-11-08 20:27:27 +00:00
Tanya Lattner
e8c4383527
Should be xfailed for llvm-gcc3.4
...
llvm-svn: 31568
2006-11-08 20:16:05 +00:00
Reid Spencer
cd0b4af75f
Document correct opcodes for post 1.9 release.
...
llvm-svn: 31566
2006-11-08 20:07:40 +00:00
Reid Spencer
7c049102d0
Update the instruction opcodes for release 1.9
...
llvm-svn: 31565
2006-11-08 20:06:36 +00:00
Chris Lattner
d1bcd014a8
reenable factoring of GEP expressions, being more precise about the
...
case that it bad to do.
llvm-svn: 31563
2006-11-08 19:42:28 +00:00
Chris Lattner
77e0e67f23
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.
llvm-svn: 31562
2006-11-08 19:29:23 +00:00
Jim Laskey
28fec74f1b
Remove redundant <cmath>.
...
llvm-svn: 31561
2006-11-08 19:16:44 +00:00
Chris Lattner
f2cd0aeced
disable this factoring optzn for GEPs for now, this severely pessimizes some
...
loops.
llvm-svn: 31560
2006-11-08 18:49:31 +00:00
Jim Laskey
c42c7476ce
Make sure <cmath> comes first
...
llvm-svn: 31559
2006-11-08 18:48:14 +00:00
Jim Laskey
092c00cb14
Add backup support for HUGH_VALF.
...
llvm-svn: 31553
2006-11-08 17:19:29 +00:00
Rafael Espindola
f7b898d497
initial implementation of addressing mode 2
...
TODO: fix lea_addri
llvm-svn: 31552
2006-11-08 17:07:32 +00:00
Jim Laskey
238ccb3f16
Make it work on Darwin.
...
llvm-svn: 31551
2006-11-08 16:38:45 +00:00
John Criswell
335eb0232a
Include llvm/Support/DataTypes.h to define intptr_t.
...
This fixes the build on OpenBSD and potentially other systems.
llvm-svn: 31550
2006-11-08 15:04:35 +00:00
Jim Laskey
4d636f03f7
Now can re-enable debug label folding.
...
llvm-svn: 31549
2006-11-08 14:17:45 +00:00
Jim Laskey
8ffcf505f2
Wasn't handling case of when machine move labels were undefined.
...
llvm-svn: 31548
2006-11-08 14:16:39 +00:00
Devang Patel
0aa28c8146
Split FunctionPassManager_New into FunctionPassManager_New and FunctionPassManagerImpl_New.
...
FunctionPassManagerImpl_New implements the pass manager.
FunctionPassManager_New is the public interface.
llvm-svn: 31547
2006-11-08 10:44:40 +00:00
Devang Patel
12982590fa
Split PassManager_New into PassManager_New and PassManagerImpl_New.
...
PassManagerImpl_New implements the pass manager.
PassManager_New is the public interface.
llvm-svn: 31546
2006-11-08 10:29:57 +00:00
Devang Patel
03dc236bdd
Move BasicBlockPassManager_New, FunctionPassManager_New and
...
ModulePassManager_New class declarations from PassManager.h
to PassManager.cpp
llvm-svn: 31545
2006-11-08 10:05:38 +00:00
Evan Cheng
1f5c4a6c43
- 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.
llvm-svn: 31544
2006-11-08 08:30:28 +00:00
Evan Cheng
acc6a98286
Fixed a minor bug preventing some pre-indexed load / store transformation.
...
llvm-svn: 31543
2006-11-08 06:56:05 +00:00
Reid Spencer
da1f5b882a
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.
llvm-svn: 31542
2006-11-08 06:47:33 +00:00
Reid Spencer
907d191104
XFAIL this on Linux until Jim gets Darwin ship shape.
...
llvm-svn: 31541
2006-11-08 06:43:16 +00:00
Chris Lattner
5bcd28eaa8
now that we handle single mbb loops better, one branch is allowed
...
llvm-svn: 31540
2006-11-08 06:42:42 +00:00
Chris Lattner
d2ebf186dc
regenerate
...
llvm-svn: 31539
2006-11-08 05:58:47 +00:00
Chris Lattner
6147da248c
Fix a bug noticed by Emil Mikulic.
...
llvm-svn: 31538
2006-11-08 05:58:11 +00:00
Evan Cheng
e50f5e4c05
Fix a obscure post-indexed load / store dag combine bug.
...
llvm-svn: 31537
2006-11-08 02:38:55 +00:00
Chris Lattner
bd39c99fd1
Refactor all the addressing mode selection stuff into the isel lowering
...
class, where it can be used for preinc formation.
llvm-svn: 31536
2006-11-08 02:15:41 +00:00
Chris Lattner
35fb10e1a4
correct the (currently unused) pattern for lwzu.
...
llvm-svn: 31535
2006-11-08 02:13:12 +00:00