Commit Graph

26518 Commits

Author SHA1 Message Date
Anton Korobeynikov 6c6a70f999 - Fixed broken Win32 build
- Removed warning about clobbered parameter in Bytecode/Reader

llvm-svn: 30026
2006-09-01 20:35:17 +00:00
Evan Cheng 88c268b621 Remove extra spaces.
llvm-svn: 30025
2006-09-01 18:45:22 +00:00
Evan Cheng 31c99969a9 Last check-in was a mistake...
I've been told apple gcc version number is not guaranteed to increase
monotonically. Change the preprocess condition to make it less risky.

The configuration change is done during the middle 10.4 life cycle so we have
to check __APPLE_CC. For future OS X release, we should be able to assume
-fenable-cxa-atexit is the default.

llvm-svn: 30024
2006-09-01 18:42:59 +00:00
Evan Cheng d176cdf76d *** empty log message ***
llvm-svn: 30023
2006-09-01 18:40:46 +00:00
Evan Cheng e93762d36e Allow legalizer to expand ISD::MUL using only MULHS in the rare case that is
possible and the target only supports MULHS.

llvm-svn: 30022
2006-09-01 18:17:58 +00:00
Jim Laskey 5352d0cc4d Corrections.
llvm-svn: 30021
2006-09-01 12:55:05 +00:00
Evan Cheng 4b8b6ae924 Better comments.
llvm-svn: 30017
2006-09-01 07:09:56 +00:00
Evan Cheng c5fddc566c Yikes. This requires checking apple gcc version.
llvm-svn: 30016
2006-09-01 07:00:46 +00:00
Chris Lattner 93c067dc2d 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 53ca302eb3 remove some particularly expensive assertions
llvm-svn: 30014
2006-09-01 06:57:35 +00:00
Chris Lattner 3eac2c87aa 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 6bfccbb08b add a simple reserve method.
llvm-svn: 30011
2006-09-01 06:08:16 +00:00
Chris Lattner f765351978 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 f6f529d008 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 31305c45da 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 a700a19d04 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 78cca7243c 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 aa36808fd3 avoid calling the virtual isMoveInstr method endlessly by caching its results.
llvm-svn: 29994
2006-08-31 05:54:43 +00:00
Chris Lattner b096190f29 Add a note about C++ -> C with libstdc++
llvm-svn: 29993
2006-08-31 04:26:31 +00:00
Nick Lewycky a24fdaea0b 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 08674ab707 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 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