Commit Graph

3822 Commits

Author SHA1 Message Date
Vikram S. Adve e6ee32bfe2 Add PostOpts/ and rename PreSelection/ to PreOpts/.
llvm-svn: 3847
2002-09-20 00:53:53 +00:00
Vikram S. Adve 2f4d556d21 Add peephole optimization pass at the end of code generation.
llvm-svn: 3846
2002-09-20 00:52:43 +00:00
Vikram S. Adve bbf45f6960 Added class MachineOptInfo as interface to target-specific
routines supporting machine code optimization.
Also added method MachineInstrInfo::getNOPOpCode().

llvm-svn: 3845
2002-09-20 00:52:09 +00:00
Vikram S. Adve 302435b841 Interface to target-specific routines that support machine code optimization.
llvm-svn: 3844
2002-09-20 00:49:21 +00:00
Vikram S. Adve 97c348d9ec Add method MachineInstr::replace to rewrite a machine instruction in place.
llvm-svn: 3843
2002-09-20 00:47:49 +00:00
Vikram S. Adve e008b2d62e Allow copy coalescing in more cases: if sum of node degrees is more than
than #available regs, compute the sum excluding duplicates and if that
is less than #regs, go ahead and coalesce.
Add method IGNode::getCombinedDegree to count excluding duplicates.

llvm-svn: 3842
2002-09-20 00:45:47 +00:00
Vikram S. Adve 3e1dc145bd Renamed library preselect to preopts.
llvm-svn: 3841
2002-09-20 00:43:20 +00:00
Vikram S. Adve 5e1c434572 Peephole optimization pass on final machine code.
llvm-svn: 3840
2002-09-20 00:42:11 +00:00
Vikram S. Adve a50098d8e4 Files moved to CodeGen/PreOpts.
llvm-svn: 3839
2002-09-20 00:30:46 +00:00
Vikram S. Adve e9ac29b475 Moving these files from Code/PreSelection to here.
Original logs for PreSelection.cpp:

  revision 1.2
  date: 2002/09/17 23:50:32;  author: lattner;  state: Exp;  lines: +1 -3
  Don't put default parameter values into .cpp files, it breaks 3.x compilers

  revision 1.1
  date: 2002/09/16 15:31:13;  author: vadve;  state: Exp;
  New preselection pass that specializes LLVM code for a target machine,
  while remaining in legal portable LLVM form and preserving type
  information and type safety.

llvm-svn: 3838
2002-09-20 00:29:28 +00:00
Chris Lattner 4e6598b325 Reenable these options because they break testing on sparc without them.
Conditionalizing them on DISABLE_LLC means they aren't enabled under linux.

llvm-svn: 3837
2002-09-19 21:46:03 +00:00
Chris Lattner 1e860c917a Native CC compiler has the same problem as CXX compiler.
llvm-svn: 3836
2002-09-19 21:33:10 +00:00
Chris Lattner 6ce25935c9 Don't run llc tests on linux, they won't work.
llvm-svn: 3835
2002-09-19 21:32:44 +00:00
Chris Lattner 67b9d7f7a9 Workaround for bug in GCC 3.1.1 iostreams library on sparc. It apprarently
isn't flushing an ostream when it is deleted.

llvm-svn: 3834
2002-09-19 20:49:25 +00:00
Chris Lattner 9ae5cf5ca3 Minor non-functionality changing changes.
llvm-svn: 3833
2002-09-19 20:48:48 +00:00
Chris Lattner cb6aae5345 Reorder options to be sorted basically by how important they are.
llvm-svn: 3832
2002-09-19 19:59:42 +00:00
Chris Lattner 681bf7bbcc * Burg is no longer configured in Makefile.config
* CXX now is configured in Makefile.config (optionally)
* The GCC command is now no longer bin/gcc, it's bin/llvm-gcc
* Minor cleanups

llvm-svn: 3831
2002-09-19 19:56:53 +00:00
Chris Lattner 81c8476242 Platform specific makefiles specify where to find the GCC frontend for their
architecture.  The location of the GCC frontend may be overridden by the
Makefile.config file.

llvm-svn: 3830
2002-09-19 19:44:28 +00:00
Chris Lattner b6504001f0 * Move the burg option into Makefile.common, since it is no longer configurable
* Makefile.config now should only specify the location of the gcc frontend if it
  is not in the place specified by the platform makefile.

llvm-svn: 3829
2002-09-19 19:43:29 +00:00
Chris Lattner c58930c52c Move the burg option out of Makefile.config into Makefile.common since
it no longer needs to be configured.

llvm-svn: 3828
2002-09-19 19:42:24 +00:00
Chris Lattner e9bfedb701 Point gccld to the correct library directory.
llvm-svn: 3827
2002-09-19 19:22:30 +00:00
Chris Lattner 1550ba2bc5 Add an optimization to support the most common access pattern for the
library.  This speeds debug builds up significantly.

llvm-svn: 3826
2002-09-19 19:22:11 +00:00
Chris Lattner 31a9e81713 Switch over to using the x86 version of the C frontend, by default.
llvm-svn: 3825
2002-09-19 19:21:18 +00:00
Chris Lattner 5a67f4725e It turns out that the cannonical name for the llvm-gcc compiler is, well
llvm-gcc, not gcc.

llvm-svn: 3824
2002-09-19 19:06:05 +00:00
Vikram S. Adve c1a5301fa6 Avoid Solaris-specific defines.
llvm-svn: 3823
2002-09-19 18:45:11 +00:00
Chris Lattner 00cfa14284 New testcase that breaks the CFE.
llvm-svn: 3821
2002-09-19 16:54:57 +00:00
Chris Lattner a450397247 Make sure that we abort if an error happens as early as neccesary. Before
it was possible for the passmanager to continue running passes after the
verifier even if the module was not well formed.

llvm-svn: 3820
2002-09-19 16:12:19 +00:00
Chris Lattner 51eb611986 Indent a comment right, add a new one
llvm-svn: 3819
2002-09-19 16:06:28 +00:00
Vikram S. Adve e66e34a6e9 Add support for passing in arbitrary flags to gmake (except -n and -h
which are interpreted by this script).

llvm-svn: 3818
2002-09-19 14:54:53 +00:00
Chris Lattner a15eeb68ad New testcase for a bug fixed in the GCC SSA construction algorithm:
http://gcc.gnu.org/ml/gcc/2002-09/msg00760.html

llvm-svn: 3817
2002-09-19 04:23:59 +00:00
Chris Lattner 437254f29e Avoid deleting the ostream more than once.
llvm-svn: 3816
2002-09-18 23:30:05 +00:00
Vikram S. Adve 7369140fee Fix to work in new location (utils/) and to use gmake instead of gnumake
since gnumake doesn't exist on our new spiffy Linux machines.

llvm-svn: 3815
2002-09-18 23:22:27 +00:00
Chris Lattner 2e3536a85f Change Makefile.config to support building on the group's linux machines
llvm-svn: 3814
2002-09-18 19:32:17 +00:00
Vikram S. Adve 3517f30fd9 KEEP_SYMBOLS by default.
llvm-svn: 3813
2002-09-18 11:55:44 +00:00
Vikram S. Adve d141c281a4 Strip tools/Debug/ executables by default. Define KEEP_SYMBOLS to
turn off stripping for any executable.

llvm-svn: 3812
2002-09-18 11:55:13 +00:00
Chris Lattner 3cde789d29 Clean up tags, link to the right .h file
llvm-svn: 3811
2002-09-18 05:14:25 +00:00
Anand Shukla 8c2a0eeacb corrected small bug, to handle when DIRS is not defined.
llvm-svn: 3810
2002-09-18 04:29:30 +00:00
Anand Shukla ea77a493ff split retracing into a separate file
llvm-svn: 3809
2002-09-18 03:55:26 +00:00
Chris Lattner 18daee20f9 Compile sub-directories in parallel, because they don't have interdependencies
llvm-svn: 3808
2002-09-18 03:25:58 +00:00
Chris Lattner f3dd5f5888 Add support for the new PARALLEL_DIRS option
llvm-svn: 3807
2002-09-18 03:22:27 +00:00
Joel Stanley d9ee6c09e1 Finished instruction replacement section, etc. Need better example for replaceAllUsesWith().
llvm-svn: 3806
2002-09-18 03:17:23 +00:00
Misha Brukman cab9e249bd Fixed grammar.
llvm-svn: 3805
2002-09-18 02:35:14 +00:00
Misha Brukman 1cf3c54f04 Fixed grammar (User's -> Users).
llvm-svn: 3804
2002-09-18 02:21:57 +00:00
Vikram S. Adve 9c485d2165 gcc3.1.1 seems much more selective about what it loads from archives, and
does not link in many passes that are loaded by gcc2.95.3.  So use object
files instead of archives in many more cases.

llvm-svn: 3803
2002-09-18 02:20:58 +00:00
Misha Brukman ebcd1d7c16 Removed unnecessary #includes.
llvm-svn: 3802
2002-09-18 02:07:57 +00:00
Misha Brukman 892f59fcb2 Fixed typo.
llvm-svn: 3801
2002-09-18 00:42:45 +00:00
Chris Lattner 3eeba80732 Fix ambiguity problem due to builtin log2(double) function
llvm-svn: 3800
2002-09-17 23:56:50 +00:00
Chris Lattner 2d7730e3dd Don't put default parameter values into .cpp files, it breaks 3.x compilers
llvm-svn: 3799
2002-09-17 23:50:32 +00:00
Chris Lattner 5d15ed99a3 Fix namespace correctness bug
llvm-svn: 3798
2002-09-17 23:48:02 +00:00
Chris Lattner 22cbac6511 There is a #define in some header that conflicts with INFINITY, rename it.
llvm-svn: 3797
2002-09-17 23:46:33 +00:00