Commit Graph

3696 Commits

Author SHA1 Message Date
Chris Lattner
d1cf1b458a 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3871 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 23:26:33 +00:00
Chris Lattner
1f8c4a17c1 Fix bug: 2002-09-20-VarArgPrototypes.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3870 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 22:32:30 +00:00
Chris Lattner
61e4391b57 Build with $(CC), not gcc explicitly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3869 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 22:32:00 +00:00
Chris Lattner
90d7119211 New testcase for cbe
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3868 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 22:28:03 +00:00
Nick Hildenbrandt
c92779bcb0 New testcase for broken type printing for the cwriter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3867 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 21:44:32 +00:00
Anand Shukla
4f2d5a4d76 Changed uchar to unsigned char in function ParseBytecodeBuffer, because seemingly it affects opt in uncertain ways :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3866 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 20:57:54 +00:00
Vikram S. Adve
e155af8376 Fix yet another profile linking issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3865 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 18:16:20 +00:00
Anand Shukla
590df88d82 Added checking threshold
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3864 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 16:44:35 +00:00
Vikram S. Adve
65ce103d8d Peephole optimization pass on final machine code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3863 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 16:33:03 +00:00
Vikram S. Adve
12520cdab4 Fix link error for profile version. Also, build Burg differently
for different architectures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3862 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 16:15:57 +00:00
Vikram S. Adve
c4f67270f3 Build burg separately for different architectures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3861 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 16:14:47 +00:00
Chris Lattner
270d78a8d6 Fix output of typedefs to avoid syntax errors.
* We now can correctly Cify the Olden-power benchmark


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3860 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 15:20:24 +00:00
Chris Lattner
58d04d4e35 * 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3859 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 15:18:30 +00:00
Chris Lattner
2db41cd5de 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3858 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 15:12:13 +00:00
Chris Lattner
2c601a7be1 Make the StructPrinted set only take memory when it's being used.
rename parseStruct to printContainedStructs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3857 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 15:05:40 +00:00
Chris Lattner
a4c047ec27 No functionality changes, primarily just changing tab indentation to space
indentation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3856 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 14:56:54 +00:00
Chris Lattner
70019ab03c Checkin old testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3855 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 14:37:46 +00:00
Vikram S. Adve
41e7891e07 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3854 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 14:03:13 +00:00
Vikram S. Adve
9c32df37b9 Let CC invoke gcc and not cc. The latter doesn't work with either our
source or some of our tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3853 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 14:01:14 +00:00
Vikram S. Adve
b194f626dc Include our config and system-specific Makefiles to get the
right compilers and paths.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3852 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 13:56:32 +00:00
Vikram S. Adve
ad6b4f3b5e Fix data types header file and declarations to work on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3851 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 01:05:16 +00:00
Vikram S. Adve
ba3b3e86d1 Fix to avoid addition on pointers, which is no longer legal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3850 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:57:37 +00:00
Vikram S. Adve
46d6a1aeb5 Add erase() method for a single element.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3849 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:55:57 +00:00
Vikram S. Adve
0efb50761d Add method IGNode::getCombinedDegree to count the sum of the degrees
of two nodes, excluding duplicates.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3848 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:55:04 +00:00
Vikram S. Adve
57e14bd757 Add PostOpts/ and rename PreSelection/ to PreOpts/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3847 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:53:53 +00:00
Vikram S. Adve
e5b2565a02 Add peephole optimization pass at the end of code generation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3846 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:52:43 +00:00
Vikram S. Adve
d55697cf13 Added class MachineOptInfo as interface to target-specific
routines supporting machine code optimization.
Also added method MachineInstrInfo::getNOPOpCode().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3845 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:52:09 +00:00
Vikram S. Adve
2542d9a183 Interface to target-specific routines that support machine code optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3844 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:49:21 +00:00
Vikram S. Adve
e8b57ef260 Add method MachineInstr::replace to rewrite a machine instruction in place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3843 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:47:49 +00:00
Vikram S. Adve
32f81a3469 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3842 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:45:47 +00:00
Vikram S. Adve
dcde9bd285 Renamed library preselect to preopts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3841 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:43:20 +00:00
Vikram S. Adve
25d80cdcc6 Peephole optimization pass on final machine code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3840 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:42:11 +00:00
Vikram S. Adve
fafda59f08 Files moved to CodeGen/PreOpts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3839 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:30:46 +00:00
Vikram S. Adve
abf055c698 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3838 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:29:28 +00:00
Chris Lattner
3aaff7eebd Reenable these options because they break testing on sparc without them.
Conditionalizing them on DISABLE_LLC means they aren't enabled under linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3837 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 21:46:03 +00:00
Chris Lattner
2ad319c3ba Native CC compiler has the same problem as CXX compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3836 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 21:33:10 +00:00
Chris Lattner
698a131364 Don't run llc tests on linux, they won't work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3835 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 21:32:44 +00:00
Chris Lattner
fd479b6fd4 Workaround for bug in GCC 3.1.1 iostreams library on sparc. It apprarently
isn't flushing an ostream when it is deleted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3834 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 20:49:25 +00:00
Chris Lattner
b4ee4f935e Minor non-functionality changing changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3833 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 20:48:48 +00:00
Chris Lattner
e2b5485aed Reorder options to be sorted basically by how important they are.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3832 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 19:59:42 +00:00
Chris Lattner
4b2e291ce2 * 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3831 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 19:56:53 +00:00
Chris Lattner
7f666ca429 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3830 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 19:44:28 +00:00
Chris Lattner
4512f33b10 * 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3829 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 19:43:29 +00:00
Chris Lattner
9b94701fdf Move the burg option out of Makefile.config into Makefile.common since
it no longer needs to be configured.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3828 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 19:42:24 +00:00
Chris Lattner
90c7d67b9d Point gccld to the correct library directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3827 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 19:22:30 +00:00
Chris Lattner
3f6962e088 Add an optimization to support the most common access pattern for the
library.  This speeds debug builds up significantly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3826 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 19:22:11 +00:00
Chris Lattner
5542b9f880 Switch over to using the x86 version of the C frontend, by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3825 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 19:21:18 +00:00
Chris Lattner
ecd3546ff6 It turns out that the cannonical name for the llvm-gcc compiler is, well
llvm-gcc, not gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3824 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 19:06:05 +00:00
Vikram S. Adve
c63ffc54e5 Avoid Solaris-specific defines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3823 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 18:45:11 +00:00
Chris Lattner
dfd621f3fc New testcase that breaks the CFE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3821 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 16:54:57 +00:00