Evan Cheng
0c6e5c95dc
Yikes. This requires checking apple gcc version.
...
llvm-svn: 30016
2006-09-01 07:00:46 +00:00
Chris Lattner
fc38415ddc
Pull some code out of a hot recursive function because the common case doesn't
...
need recursion.
llvm-svn: 30015
2006-09-01 07:00:23 +00:00
Chris Lattner
89a7eadf22
remove some particularly expensive assertions
...
llvm-svn: 30014
2006-09-01 06:57:35 +00:00
Chris Lattner
2aef97494c
Reserve space in the ValueNumberInfo vector. This speeds up live interval
...
analysis 16% on crafty.
Wrap long lines.
llvm-svn: 30012
2006-09-01 06:10:18 +00:00
Chris Lattner
7453a7d197
add a simple reserve method.
...
llvm-svn: 30011
2006-09-01 06:08:16 +00:00
Chris Lattner
0c120af606
Iterative coallescing doesn't buy us anything (we get identical results on
...
crafty with and without it). Removing it speeds up live intervals 6%.
llvm-svn: 30010
2006-09-01 04:02:42 +00:00
Nick Lewycky
ebb3b930fd
Don't confuse canonicalize and lookup. Fixes predsimplify.reg4.ll. Also
...
corrects missing optimization opportunity removing cases from a switch.
llvm-svn: 30009
2006-09-01 03:26:35 +00:00
Evan Cheng
b2933f3f52
DAG combiner fix for rotates. Previously the outer-most condition checks
...
for ROTL availability. This prevents it from forming ROTR for targets that
has ROTR only.
llvm-svn: 29997
2006-08-31 07:41:12 +00:00
Chris Lattner
fbb467f738
Add a special case that speeds up coallescing a bit, but not enough.
...
llvm-svn: 29996
2006-08-31 06:48:26 +00:00
Chris Lattner
1020604f2c
Delete copies as they are coallesced instead of waiting until the end.
...
llvm-svn: 29995
2006-08-31 05:58:59 +00:00
Chris Lattner
998dd9b42e
avoid calling the virtual isMoveInstr method endlessly by caching its results.
...
llvm-svn: 29994
2006-08-31 05:54:43 +00:00
Chris Lattner
f0e85f8600
Add a note about C++ -> C with libstdc++
...
llvm-svn: 29993
2006-08-31 04:26:31 +00:00
Nick Lewycky
56d79475b7
This program crashes the PredicateSimplifier. Not marked XFAIL because
...
the PredicateSimplifier is skipped in make check anyways.
llvm-svn: 29992
2006-08-31 03:13:05 +00:00
Nick Lewycky
e31a5a1b20
Properties where both Values weren't in the union (as being equal to
...
another Value) weren't being found by findProperties.
This fixes predsimplify.ll test6, a missed optimization opportunity.
llvm-svn: 29991
2006-08-31 00:39:16 +00:00
Chris Lattner
51ea6dd990
Bugfix for recent coallescer crash
...
llvm-svn: 29990
2006-08-30 23:03:35 +00:00
Chris Lattner
44b10a80c3
Fix a compiler crash bootstrapping llvm-gcc.
...
llvm-svn: 29989
2006-08-30 23:02:29 +00:00
Chris Lattner
45063c4be4
Restore source-level compatibility with clients of these functions.
...
llvm-svn: 29978
2006-08-30 20:47:48 +00:00
Chris Lattner
3530cfb3c3
Guess what happens when asserts are disabled. :(
...
Also, the assert could never fire due to || instead of &&.
llvm-svn: 29977
2006-08-30 20:37:06 +00:00
Chris Lattner
c7fb7a05bf
fix 80 column issue
...
llvm-svn: 29972
2006-08-30 05:56:52 +00:00
Chris Lattner
e84b1b8352
Instantiate Statistic<> in one place, not in every .o file that uses it.
...
llvm-svn: 29971
2006-08-30 04:17:00 +00:00
Nick Lewycky
4a44c62fab
Move to using the EquivalenceClass ADT. Removes SynSets.
...
If a branch's condition has become a ConstantBool, simplify it immediately.
Removing the edge saves work and exposes up more optimization opportunities
in the pass.
Add support for SelectInst.
llvm-svn: 29970
2006-08-30 02:46:48 +00:00
Chris Lattner
15bbdd8061
Code cleanups, no functionality change.
...
llvm-svn: 29969
2006-08-29 23:38:20 +00:00
Chris Lattner
3a4d512930
Teach the coallescer to coallesce live intervals joined by an arbitrary
...
number of copies, potentially defining live ranges that appear to have
differing value numbers that become identical when coallsced. Among other
things, this fixes CodeGen/X86/shift-coalesce.ll and PR687.
llvm-svn: 29968
2006-08-29 23:18:15 +00:00
Chris Lattner
e3875d952f
new testcase for pr687
...
llvm-svn: 29967
2006-08-29 23:09:59 +00:00
Devang Patel
a5bb9b49d3
Do not rely on std::sort and std::erase to get list of unique
...
exit blocks. The output is dependent on addresses of basic block.
Add and use Loop::getUniqueExitBlocks.
llvm-svn: 29966
2006-08-29 22:29:16 +00:00
Evan Cheng
366669c860
Minor asm fix.
...
llvm-svn: 29965
2006-08-29 22:14:48 +00:00
Evan Cheng
3b2d02f5cc
This is also a 32-bit only test. x86-64 would pass fp parameters through XMM registers.
...
llvm-svn: 29964
2006-08-29 22:01:39 +00:00
Evan Cheng
00436b4bcb
Fix test case so it passes on x86-64.
...
llvm-svn: 29963
2006-08-29 21:49:58 +00:00
Evan Cheng
9fda1129ce
Remove dead code.
...
llvm-svn: 29962
2006-08-29 21:42:58 +00:00
Reid Spencer
010670d5d3
Delete a no-longer-supported configuration item.
...
llvm-svn: 29960
2006-08-29 20:52:44 +00:00
Evan Cheng
46cb8d0649
Undo xfail.
...
llvm-svn: 29958
2006-08-29 18:49:41 +00:00
Evan Cheng
b747dc2ab0
Don't performance load/op/store transformation if op produces a floating point
...
or vector result. X86 does not have load/mod/store variants of those
instructions.
llvm-svn: 29957
2006-08-29 18:37:37 +00:00
Evan Cheng
4c63a7ed05
- Enable x86 isel preprocessing by default unless -fast is specified.
...
- Also disable isel load folding if -fast.
llvm-svn: 29956
2006-08-29 18:28:33 +00:00
Evan Cheng
77da6a9609
Issue cvs co with -P option to prune empty directories. Remove the unnecessary
...
update stage.
llvm-svn: 29955
2006-08-29 18:01:18 +00:00
Jim Laskey
d44e9493e6
Handle callee saved registers in dwarf frame info (lead up to exception
...
handling.)
llvm-svn: 29954
2006-08-29 16:24:26 +00:00
Jim Laskey
27420577d7
Tidy up options.
...
llvm-svn: 29953
2006-08-29 15:13:10 +00:00
Evan Cheng
3f6a206f01
Avoid making unneeded load/mod/store transformation which can hurt performance.
...
llvm-svn: 29952
2006-08-29 06:44:17 +00:00
Evan Cheng
2335c819cd
Move isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make it a static method of SelectionDAG.
...
llvm-svn: 29951
2006-08-29 06:42:35 +00:00
Owen Anderson
bbfa479f14
Clean up a bit.
...
llvm-svn: 29950
2006-08-29 06:10:56 +00:00
Nate Begeman
a67a1ec1cd
Make ppc64 jit kinda work right. About 2/3 of Olden passes with this,
...
there are clearly some encoding bugs lurking in there somewhere.
llvm-svn: 29949
2006-08-29 02:30:59 +00:00
Nick Lewycky
274779298c
The list is sorted by name.
...
llvm-svn: 29948
2006-08-29 01:42:47 +00:00
Nick Lewycky
9535a84c33
Add PredicateSimplifier pass. Collapses equal variables into one form
...
and simplifies expressions. This implements the optimization described
in PR807.
llvm-svn: 29947
2006-08-28 22:44:55 +00:00
Evan Cheng
dada4aaeee
On Mac, print jump table entries after the function to work around a linker issue.
...
llvm-svn: 29946
2006-08-28 22:14:16 +00:00
Chris Lattner
4fa85705f6
Add 2nd form of resize
...
llvm-svn: 29945
2006-08-28 21:52:08 +00:00
Evan Cheng
25d25dd384
Add an optional pass to preprocess the DAG before x86 isel to allow selecting more load/mod/store instructions.
...
llvm-svn: 29943
2006-08-28 20:10:17 +00:00
Chris Lattner
b40511f27f
Add a --disable-compression option like llvm-link/llvm-as etc have
...
llvm-svn: 29941
2006-08-28 17:31:55 +00:00
Chris Lattner
5571652921
remove extraneous space
...
llvm-svn: 29940
2006-08-28 17:30:49 +00:00
Bill Wendling
9f4f5a7754
Spell naively with the i-Umlaut...
...
llvm-svn: 29939
2006-08-28 03:04:05 +00:00
Bill Wendling
90f66e3344
Messed up and put a "To be written" in a section that was written.
...
llvm-svn: 29938
2006-08-28 02:57:41 +00:00
Bill Wendling
cc6d652824
Added some preliminary text to the TargetJITInfo class section.
...
Fixed some inconsistencies with format. Corrected some of the text.
Put code inside of "code" div tags.
llvm-svn: 29937
2006-08-28 02:26:32 +00:00