Commit Graph

3954 Commits

Author SHA1 Message Date
Chris Lattner 1047feff1b Add information about the DEBUG() macro and the Statistic template
llvm-svn: 3880
2002-09-22 19:38:40 +00:00
Chris Lattner 387d76a983 * Remove the -stopraise option, which is no longer needed now that we have
the -debug-pass=Arguments option
* Run instcombining BEFORE mem2reg so that getelementptr X, long 0's are
  cleaned up.  This is also important because scalar replacement of aggr.
  will want instcombine to run before it goes as well.

llvm-svn: 3879
2002-09-22 18:50:22 +00:00
Chris Lattner facc751260 Don't insert a PHI node to merge "returns" from an inlined function if there
is only a single return from the function!

llvm-svn: 3878
2002-09-22 18:41:25 +00:00
Chris Lattner a8ce09e2de * Minor fixes to support C files.
* Build burg as a utility now, change its location
* Clean up other rules

llvm-svn: 3876
2002-09-22 02:47:15 +00:00
Chris Lattner 75246ec78d Clean up dead rules
llvm-svn: 3875
2002-09-22 02:41:20 +00:00
Chris Lattner 8f07f947cf Fix tons of warnings, convert burg to use Makefile.common system, rename
gram.y to gram.yc so that we don't try to turn it into a .cpp file.

llvm-svn: 3874
2002-09-22 02:40:40 +00:00
Anand Shukla 4b6bd16c2b Changed codegen to add 2 empty slots at the top of stack using StackSlots pass
llvm-svn: 3873
2002-09-21 05:01:21 +00:00
Anand Shukla ca15c99c4d Initial version: it adds 2 empty slots at the top of stack
llvm-svn: 3872
2002-09-21 04:58:26 +00:00
Chris Lattner 230d832e38 Fix cwriter to not output FP constants in ascii, output them in hex instead.
This fixes a number of FP precision problems, making the output of the
power benchmark closer to the right answer.

Unfortunately, this only addresses FP constants used directly in functions.
Constants referred to by global constants (such as an array of FP values)
aren't helped by this.  Until this happens power won't work.

llvm-svn: 3871
2002-09-20 23:26:33 +00:00
Chris Lattner 79ea4c4aa2 Fix bug: 2002-09-20-VarArgPrototypes.ll
llvm-svn: 3870
2002-09-20 22:32:30 +00:00
Chris Lattner 6e1f8c5963 Build with $(CC), not gcc explicitly
llvm-svn: 3869
2002-09-20 22:32:00 +00:00
Chris Lattner d48ac6ea41 New testcase for cbe
llvm-svn: 3868
2002-09-20 22:28:03 +00:00
Nick Hildenbrandt 6829a0b1d1 New testcase for broken type printing for the cwriter
llvm-svn: 3867
2002-09-20 21:44:32 +00:00
Anand Shukla 8137896962 Changed uchar to unsigned char in function ParseBytecodeBuffer, because seemingly it affects opt in uncertain ways :)
llvm-svn: 3866
2002-09-20 20:57:54 +00:00
Vikram S. Adve 6a2258b230 Fix yet another profile linking issue.
llvm-svn: 3865
2002-09-20 18:16:20 +00:00
Anand Shukla 77dca14403 Added checking threshold
llvm-svn: 3864
2002-09-20 16:44:35 +00:00
Vikram S. Adve 0a79c117ac Peephole optimization pass on final machine code.
llvm-svn: 3863
2002-09-20 16:33:03 +00:00
Vikram S. Adve a0abb97e71 Fix link error for profile version. Also, build Burg differently
for different architectures.

llvm-svn: 3862
2002-09-20 16:15:57 +00:00
Vikram S. Adve 321f83d8d8 Build burg separately for different architectures.
llvm-svn: 3861
2002-09-20 16:14:47 +00:00
Chris Lattner 2895a2f421 Fix output of typedefs to avoid syntax errors.
* We now can correctly Cify the Olden-power benchmark

llvm-svn: 3860
2002-09-20 15:20:24 +00:00
Chris Lattner 7bd37ed1a6 * Add a couple of comments to the output c code
* _FIX_ infinite recursion problem, due to typedefs of a structure being
  printed before the structure.

llvm-svn: 3859
2002-09-20 15:18:30 +00:00
Chris Lattner 32d812feff Another change that doesn't affect functionality. Since we are only looking
at types in the symbol table, only traverse the type plane, saving a loop nest.

llvm-svn: 3858
2002-09-20 15:12:13 +00:00
Chris Lattner 9a973b4f6a Make the StructPrinted set only take memory when it's being used.
rename parseStruct to printContainedStructs

llvm-svn: 3857
2002-09-20 15:05:40 +00:00
Chris Lattner 37bd117997 No functionality changes, primarily just changing tab indentation to space
indentation

llvm-svn: 3856
2002-09-20 14:56:54 +00:00
Chris Lattner b6c55cf394 Checkin old testcase
llvm-svn: 3855
2002-09-20 14:37:46 +00:00
Vikram S. Adve 20aa62f1cb The ENABLE_PROFILING flag now builds the profiled libraries and executables
into a Profile/ directory to keep them separate from the Debug/ and
Release/ versions.  Also, it turns on ENABLE_OPTIMIZED automatically.

llvm-svn: 3854
2002-09-20 14:03:13 +00:00
Vikram S. Adve ff7a0595d4 Let CC invoke gcc and not cc. The latter doesn't work with either our
source or some of our tests.

llvm-svn: 3853
2002-09-20 14:01:14 +00:00
Vikram S. Adve 968a4af907 Include our config and system-specific Makefiles to get the
right compilers and paths.

llvm-svn: 3852
2002-09-20 13:56:32 +00:00
Vikram S. Adve 2c8dbedc9e Fix data types header file and declarations to work on Linux.
llvm-svn: 3851
2002-09-20 01:05:16 +00:00
Vikram S. Adve e73ac65c25 Fix to avoid addition on pointers, which is no longer legal.
llvm-svn: 3850
2002-09-20 00:57:37 +00:00
Vikram S. Adve c4869837dd Add erase() method for a single element.
llvm-svn: 3849
2002-09-20 00:55:57 +00:00
Vikram S. Adve 5cc5d4b19a Add method IGNode::getCombinedDegree to count the sum of the degrees
of two nodes, excluding duplicates.

llvm-svn: 3848
2002-09-20 00:55:04 +00:00
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