Commit Graph

26197 Commits

Author SHA1 Message Date
Chris Lattner f5da261701 Bugfix for recent coallescer crash
llvm-svn: 29990
2006-08-30 23:03:35 +00:00
Chris Lattner cb74860cce Fix a compiler crash bootstrapping llvm-gcc.
llvm-svn: 29989
2006-08-30 23:02:29 +00:00
Chris Lattner aea29af0bc Restore source-level compatibility with clients of these functions.
llvm-svn: 29978
2006-08-30 20:47:48 +00:00
Chris Lattner 9543866c27 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 69c32d5564 fix 80 column issue
llvm-svn: 29972
2006-08-30 05:56:52 +00:00
Chris Lattner f5bed76353 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 5f8f9af65c 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 dcc8bcc04d Code cleanups, no functionality change.
llvm-svn: 29969
2006-08-29 23:38:20 +00:00
Chris Lattner 34434e97c9 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 faa6355510 new testcase for pr687
llvm-svn: 29967
2006-08-29 23:09:59 +00:00
Devang Patel f489d0f85c 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 6d464146d0 Minor asm fix.
llvm-svn: 29965
2006-08-29 22:14:48 +00:00
Evan Cheng 8dd79a4c14 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 65c4409e63 Fix test case so it passes on x86-64.
llvm-svn: 29963
2006-08-29 21:49:58 +00:00
Evan Cheng b28800f4d5 Remove dead code.
llvm-svn: 29962
2006-08-29 21:42:58 +00:00
Reid Spencer 014a2dd53d Delete a no-longer-supported configuration item.
llvm-svn: 29960
2006-08-29 20:52:44 +00:00
Evan Cheng abb02a35cf Undo xfail.
llvm-svn: 29958
2006-08-29 18:49:41 +00:00
Evan Cheng dfb85155dc 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 358b9ed98a - 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 9b675bd769 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 2eebe8b05e 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 82dc16c0a7 Tidy up options.
llvm-svn: 29953
2006-08-29 15:13:10 +00:00
Evan Cheng c07feb14b0 Avoid making unneeded load/mod/store transformation which can hurt performance.
llvm-svn: 29952
2006-08-29 06:44:17 +00:00
Evan Cheng e5570a4c3f 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 a8a2e5c666 Clean up a bit.
llvm-svn: 29950
2006-08-29 06:10:56 +00:00
Nate Begeman 18f0329cfc 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 0b4e05a28c The list is sorted by name.
llvm-svn: 29948
2006-08-29 01:42:47 +00:00
Nick Lewycky b2e8ae1700 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 00884b51c5 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 86d61a5c02 Add 2nd form of resize
llvm-svn: 29945
2006-08-28 21:52:08 +00:00
Evan Cheng 64a9e28846 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 29619a9a01 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 16c203e7c6 remove extraneous space
llvm-svn: 29940
2006-08-28 17:30:49 +00:00
Bill Wendling 6737f5dc4f Spell naively with the i-Umlaut...
llvm-svn: 29939
2006-08-28 03:04:05 +00:00
Bill Wendling 661faec29a 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 5c385dec57 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 62c84fe371 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 4969df88a5 Back out last revision which should not have been committed (yet).
llvm-svn: 29935
2006-08-28 01:08:45 +00:00
Reid Spencer e7141c8be6 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 ea3c2b29e5 Update to match changes in RegisterAnalysisGroup usage
llvm-svn: 29933
2006-08-28 00:45:38 +00:00
Chris Lattner 97c9f20c52 simplify AnalysisGroup registration, eliminating one typeid call.
llvm-svn: 29932
2006-08-28 00:42:29 +00:00
Reid Spencer 80f843d31d Excise references to the now defunct "analyze" tool. Merge descriptions
where appropriate.

llvm-svn: 29931
2006-08-28 00:34:19 +00:00
Reid Spencer 97c598083e Add virtual methods to all subclasses so they are not overloaded.
llvm-svn: 29930
2006-08-28 00:12:25 +00:00
Chris Lattner 7aa139994f Silence -Woverloaded-virtual warnings.
llvm-svn: 29929
2006-08-28 00:09:00 +00:00
Chris Lattner b693cb0e73 update doc: analyze is gone and passes should just use RegisterPass
llvm-svn: 29928
2006-08-27 23:18:52 +00:00
Chris Lattner ac23219233 Update tests now that opt no longer reads .ll files
llvm-svn: 29927
2006-08-27 22:47:14 +00:00
Chris Lattner 358fe85ab4 Adjust tests now that opt doesn't read .ll files.
llvm-svn: 29926
2006-08-27 22:44:20 +00:00
Chris Lattner c2d3d3112e eliminate RegisterOpt. It does the same thing as RegisterPass.
llvm-svn: 29925
2006-08-27 22:42:52 +00:00
Chris Lattner c7cff24f40 opt no longer reads .ll files. Run llvm-as explicitly.
llvm-svn: 29924
2006-08-27 22:41:58 +00:00
Chris Lattner dc729ee32b -analyze mode shouldn't output a .bc file.
llvm-svn: 29923
2006-08-27 22:40:26 +00:00