Commit Graph

3719 Commits

Author SHA1 Message Date
Chris Lattner
e4314ed315 Fix: ConstantMerge/2002-09-23-CPR-Update.ll
Basically, this bug boiled down to calling replaceUsesOfWith on a constant,
which changed it's shape in an illegal way.  This pass now goes through all
of the trouble neccesary to do the replacement on constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3895 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 23:00:46 +00:00
Chris Lattner
10b37b6493 New testcase distilled from SPEC vortex benchmark
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3894 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 22:31:04 +00:00
Chris Lattner
da37a05774 Run constantmerge tests too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3893 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 22:26:23 +00:00
Nick Hildenbrandt
c14ded4858 Parenthesis are now added to casts of type array.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3892 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 21:02:50 +00:00
Chris Lattner
c017d9132a * Fix bug: CorrelatedExprs/2002-09-23-PHIUpdateBug.ll
* Make sure "Changed" is updated correctly


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3891 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 20:06:22 +00:00
Chris Lattner
cba39ca9fe Fix testcase to accurately expose bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3890 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 20:04:54 +00:00
Chris Lattner
b9c0d60991 New testcase distilled from SPEC MCF benchmark
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3889 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 19:54:06 +00:00
Chris Lattner
d149c053cd Insert resolved constants into the global map so they are reused correctly.
This bug was exposed linking the SPEC benchmark suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3888 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 18:14:15 +00:00
Chris Lattner
fb8c89fbd3 Group #includes better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3887 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 17:45:52 +00:00
Vikram S. Adve
11fd1d3165 Allow LLC to be executed on Linux; only the LLC output should not be executed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3886 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 14:24:19 +00:00
Vikram S. Adve
26d4a48ee6 C tests are run via Makefile.singlesrc so don't run them twice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3885 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 14:23:15 +00:00
Vikram S. Adve
1b5710a8fc Put intermediate source files in a subdirectory here instead of with
object files.  Also,


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3884 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 13:12:28 +00:00
Vikram S. Adve
c308aefe92 Disable reassociation pass in LLC until it is fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3883 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 12:55:50 +00:00
Chris Lattner
35fcad0193 'whoami' doesn't exist on solaris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3882 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22 23:35:11 +00:00
Chris Lattner
ab0577be5a Update url
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3881 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22 21:25:12 +00:00
Chris Lattner
986e0c952f Add information about the DEBUG() macro and the Statistic template
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3880 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22 19:38:40 +00:00
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