1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
Commit Graph

26165 Commits

Author SHA1 Message Date
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
Owen Anderson
ee603f511f Make LoopUnroll fold excessive BasicBlocks. This results in a significant speedup of
gccas on 252.eon

llvm-svn: 29936
2006-08-28 02:09:46 +00:00
Reid Spencer
959705759f Back out last revision which should not have been committed (yet).
llvm-svn: 29935
2006-08-28 01:08:45 +00:00
Reid Spencer
2567610703 For PR387:
Close out this long standing bug by removing the remaining overloaded
virtual functions in LLVM. The -Woverloaded-virtual option is now turned on.

llvm-svn: 29934
2006-08-28 01:02:49 +00:00
Chris Lattner
cf13312f70 Update to match changes in RegisterAnalysisGroup usage
llvm-svn: 29933
2006-08-28 00:45:38 +00:00
Chris Lattner
8a59e8be23 simplify AnalysisGroup registration, eliminating one typeid call.
llvm-svn: 29932
2006-08-28 00:42:29 +00:00