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
Chris Lattner
3e1f144a1d
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3820 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 16:12:19 +00:00
Chris Lattner
0f82df410c
Indent a comment right, add a new one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3819 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 16:06:28 +00:00
Vikram S. Adve
39c36e868d
Add support for passing in arbitrary flags to gmake (except -n and -h
...
which are interpreted by this script).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3818 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 14:54:53 +00:00
Chris Lattner
75fb432dcb
New testcase for a bug fixed in the GCC SSA construction algorithm:
...
http://gcc.gnu.org/ml/gcc/2002-09/msg00760.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3817 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 04:23:59 +00:00
Chris Lattner
d14d37614b
Avoid deleting the ostream more than once.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3816 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 23:30:05 +00:00
Vikram S. Adve
d3448cd7a6
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3815 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 23:22:27 +00:00
Chris Lattner
66c1ab8d76
Change Makefile.config to support building on the group's linux machines
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3814 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 19:32:17 +00:00
Vikram S. Adve
2f0a51c419
KEEP_SYMBOLS by default.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3813 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 11:55:44 +00:00
Vikram S. Adve
feeae58705
Strip tools/Debug/ executables by default. Define KEEP_SYMBOLS to
...
turn off stripping for any executable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3812 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 11:55:13 +00:00
Chris Lattner
7dbf6836bf
Clean up tags, link to the right .h file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3811 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 05:14:25 +00:00
Anand Shukla
7c7a07e501
corrected small bug, to handle when DIRS is not defined.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3810 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 04:29:30 +00:00
Anand Shukla
6689b06697
split retracing into a separate file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3809 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 03:55:26 +00:00
Chris Lattner
ec9962e44a
Compile sub-directories in parallel, because they don't have interdependencies
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3808 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 03:25:58 +00:00
Chris Lattner
a8abc228ba
Add support for the new PARALLEL_DIRS option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3807 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 03:22:27 +00:00
Joel Stanley
9dd1ad62ab
Finished instruction replacement section, etc. Need better example for replaceAllUsesWith().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3806 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 03:17:23 +00:00
Misha Brukman
e6fe6713da
Fixed grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3805 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 02:35:14 +00:00
Misha Brukman
c4f5bb0fde
Fixed grammar (User's -> Users).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3804 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 02:21:57 +00:00
Vikram S. Adve
0a4aa5a026
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3803 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 02:20:58 +00:00
Misha Brukman
bfb472447e
Removed unnecessary #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3802 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 02:07:57 +00:00
Misha Brukman
5f41748e1a
Fixed typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3801 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 00:42:45 +00:00
Chris Lattner
16ca2b991b
Fix ambiguity problem due to builtin log2(double) function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3800 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:56:50 +00:00
Chris Lattner
5fda99744e
Don't put default parameter values into .cpp files, it breaks 3.x compilers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3799 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:50:32 +00:00
Chris Lattner
ccec07a040
Fix namespace correctness bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3798 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:48:02 +00:00
Chris Lattner
cb16c65426
There is a #define in some header that conflicts with INFINITY, rename it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3797 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:46:33 +00:00
Chris Lattner
16d1f73cf3
Allow the VERBOSE=1 option to turn on output of recursive make behavior
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3796 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:45:34 +00:00
Chris Lattner
b430e0b33d
Add support for gcc 3.2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3795 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:38:38 +00:00