Chris Lattner
cc377df7f5
* 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3879 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22 18:50:22 +00:00
Chris Lattner
bdccb00970
Don't insert a PHI node to merge "returns" from an inlined function if there
...
is only a single return from the function!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3878 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22 18:41:25 +00:00
Chris Lattner
172b648cd4
* Minor fixes to support C files.
...
* Build burg as a utility now, change its location
* Clean up other rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3876 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22 02:47:15 +00:00
Chris Lattner
28c664d0e2
Clean up dead rules
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3875 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22 02:41:20 +00:00
Chris Lattner
9c9bfa7f29
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3874 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22 02:40:40 +00:00
Anand Shukla
c078930ee3
Changed codegen to add 2 empty slots at the top of stack using StackSlots pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3873 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-21 05:01:21 +00:00
Anand Shukla
33db9bae15
Initial version: it adds 2 empty slots at the top of stack
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3872 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-21 04:58:26 +00:00
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