Chris Lattner [Wed, 25 Sep 2002 22:27:54 +0000 (22:27 +0000)]
ImmutablePass's don't need a runOnFunction, nor do they need to explicitly say
that they preserve all xforms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3925
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Sep 2002 22:27:25 +0000 (22:27 +0000)]
Convert BasicVN to be an ImmutablePass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3924
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Sep 2002 22:26:52 +0000 (22:26 +0000)]
* Fix ugly bug in previous checkin where I reused the name 'i' one too many times
* Print out immutable passes in the -debug-pass=Structure report.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3923
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Sep 2002 22:00:18 +0000 (22:00 +0000)]
Convert BasicAA to be an immutable pass instead of a FunctionPass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3922
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Sep 2002 21:59:11 +0000 (21:59 +0000)]
Add support for ImmutablePasses, which are not run, and cannot be
invalidated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3921
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Wed, 25 Sep 2002 20:29:26 +0000 (20:29 +0000)]
Strings now handled correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3920
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Sep 2002 19:10:06 +0000 (19:10 +0000)]
Checkin stub for Misha to implement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3919
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Sep 2002 17:15:22 +0000 (17:15 +0000)]
Make sure to print message when linking a debug .o file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3918
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 21:19:41 +0000 (21:19 +0000)]
- Fix bug: Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3917
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 21:18:40 +0000 (21:18 +0000)]
Eliminate extraneous #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3916
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 16:15:36 +0000 (16:15 +0000)]
A lot of this stuff has been done. Remove the done items
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3915
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 16:13:20 +0000 (16:13 +0000)]
New feature test for something we have done for a long time
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3914
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 16:09:17 +0000 (16:09 +0000)]
Fix bug: SimplifyCFG/2002-09-24-PHIAssertion.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3913
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 16:02:44 +0000 (16:02 +0000)]
New testcase that causes SimplifyCFG to assert out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3912
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 15:52:01 +0000 (15:52 +0000)]
- Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3911
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 15:51:56 +0000 (15:51 +0000)]
- Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3910
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 15:51:54 +0000 (15:51 +0000)]
- Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3909
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 15:43:56 +0000 (15:43 +0000)]
Correlated Exprs pass now requires BCE pass instead of doing it manually
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3908
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 15:43:12 +0000 (15:43 +0000)]
- Expose passinfo from BreakCriticalEdges pass so that it may be "Required"
by other passes. Make BCE pass be in anonymous namespace now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3907
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 15:42:27 +0000 (15:42 +0000)]
Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by
other passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3906
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 00:09:48 +0000 (00:09 +0000)]
Make sure to close the file before deleting it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3905
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 00:09:26 +0000 (00:09 +0000)]
Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3904
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 00:08:39 +0000 (00:08 +0000)]
Add new BreakCriticalEdges pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3903
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 00:08:37 +0000 (00:08 +0000)]
Add new BreakCriticalEdges pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3902
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 00:08:01 +0000 (00:08 +0000)]
There are no implicit gep forms of load and store anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3901
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 00:07:21 +0000 (00:07 +0000)]
Make users of FindUsedTypes not have problems with linkage. This fixes
Cwriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3900
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Sep 2002 00:07:17 +0000 (00:07 +0000)]
Make users of FindUsedTypes not have problems with linkage. This fixes
cwriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3899
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 23 Sep 2002 23:41:53 +0000 (23:41 +0000)]
Convert to using long indexes instead of uint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3898
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 23 Sep 2002 23:39:43 +0000 (23:39 +0000)]
Optimize away cases like:
%cast109 = cast uint %cast212 to short ; <short> [#uses=1]
%cast214 = cast short %cast109 to uint ; <uint> [#uses=1]
%cast215 = cast uint %cast214 to short ; <short> [#uses=1]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3897
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 23 Sep 2002 23:39:17 +0000 (23:39 +0000)]
Add some more testcases for things to get optimized away
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 23 Sep 2002 23:00:46 +0000 (23:00 +0000)]
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
Chris Lattner [Mon, 23 Sep 2002 22:31:04 +0000 (22:31 +0000)]
New testcase distilled from SPEC vortex benchmark
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3894
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 23 Sep 2002 22:26:23 +0000 (22:26 +0000)]
Run constantmerge tests too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3893
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Mon, 23 Sep 2002 21:02:50 +0000 (21:02 +0000)]
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
Chris Lattner [Mon, 23 Sep 2002 20:06:22 +0000 (20:06 +0000)]
* 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
Chris Lattner [Mon, 23 Sep 2002 20:04:54 +0000 (20:04 +0000)]
Fix testcase to accurately expose bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 23 Sep 2002 19:54:06 +0000 (19:54 +0000)]
New testcase distilled from SPEC MCF benchmark
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3889
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 23 Sep 2002 18:14:15 +0000 (18:14 +0000)]
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
Chris Lattner [Mon, 23 Sep 2002 17:45:52 +0000 (17:45 +0000)]
Group #includes better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3887
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 23 Sep 2002 14:24:19 +0000 (14:24 +0000)]
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
Vikram S. Adve [Mon, 23 Sep 2002 14:23:15 +0000 (14:23 +0000)]
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
Vikram S. Adve [Mon, 23 Sep 2002 13:12:28 +0000 (13:12 +0000)]
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
Vikram S. Adve [Mon, 23 Sep 2002 12:55:50 +0000 (12:55 +0000)]
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
Chris Lattner [Sun, 22 Sep 2002 23:35:11 +0000 (23:35 +0000)]
'whoami' doesn't exist on solaris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3882
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 22 Sep 2002 21:25:12 +0000 (21:25 +0000)]
Update url
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 22 Sep 2002 19:38:40 +0000 (19:38 +0000)]
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
Chris Lattner [Sun, 22 Sep 2002 18:50:22 +0000 (18:50 +0000)]
* 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
Chris Lattner [Sun, 22 Sep 2002 18:41:25 +0000 (18:41 +0000)]
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
Chris Lattner [Sun, 22 Sep 2002 02:47:15 +0000 (02:47 +0000)]
* 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
Chris Lattner [Sun, 22 Sep 2002 02:41:20 +0000 (02:41 +0000)]
Clean up dead rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3875
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 22 Sep 2002 02:40:40 +0000 (02:40 +0000)]
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
Anand Shukla [Sat, 21 Sep 2002 05:01:21 +0000 (05:01 +0000)]
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
Anand Shukla [Sat, 21 Sep 2002 04:58:26 +0000 (04:58 +0000)]
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
Chris Lattner [Fri, 20 Sep 2002 23:26:33 +0000 (23:26 +0000)]
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
Chris Lattner [Fri, 20 Sep 2002 22:32:30 +0000 (22:32 +0000)]
Fix bug: 2002-09-20-VarArgPrototypes.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3870
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Sep 2002 22:32:00 +0000 (22:32 +0000)]
Build with $(CC), not gcc explicitly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Sep 2002 22:28:03 +0000 (22:28 +0000)]
New testcase for cbe
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3868
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Fri, 20 Sep 2002 21:44:32 +0000 (21:44 +0000)]
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
Anand Shukla [Fri, 20 Sep 2002 20:57:54 +0000 (20:57 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 18:16:20 +0000 (18:16 +0000)]
Fix yet another profile linking issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3865
91177308-0d34-0410-b5e6-
96231b3b80d8
Anand Shukla [Fri, 20 Sep 2002 16:44:35 +0000 (16:44 +0000)]
Added checking threshold
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3864
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 20 Sep 2002 16:33:03 +0000 (16:33 +0000)]
Peephole optimization pass on final machine code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3863
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 20 Sep 2002 16:15:57 +0000 (16:15 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 16:14:47 +0000 (16:14 +0000)]
Build burg separately for different architectures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3861
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Sep 2002 15:20:24 +0000 (15:20 +0000)]
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
Chris Lattner [Fri, 20 Sep 2002 15:18:30 +0000 (15:18 +0000)]
* 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
Chris Lattner [Fri, 20 Sep 2002 15:12:13 +0000 (15:12 +0000)]
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
Chris Lattner [Fri, 20 Sep 2002 15:05:40 +0000 (15:05 +0000)]
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
Chris Lattner [Fri, 20 Sep 2002 14:56:54 +0000 (14:56 +0000)]
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
Chris Lattner [Fri, 20 Sep 2002 14:37:46 +0000 (14:37 +0000)]
Checkin old testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3855
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 20 Sep 2002 14:03:13 +0000 (14:03 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 14:01:14 +0000 (14:01 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 13:56:32 +0000 (13:56 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 01:05:16 +0000 (01:05 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 00:57:37 +0000 (00:57 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 00:55:57 +0000 (00:55 +0000)]
Add erase() method for a single element.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3849
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 20 Sep 2002 00:55:04 +0000 (00:55 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 00:53:53 +0000 (00:53 +0000)]
Add PostOpts/ and rename PreSelection/ to PreOpts/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3847
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 20 Sep 2002 00:52:43 +0000 (00:52 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 00:52:09 +0000 (00:52 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 00:49:21 +0000 (00:49 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 00:47:49 +0000 (00:47 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 00:45:47 +0000 (00:45 +0000)]
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
Vikram S. Adve [Fri, 20 Sep 2002 00:43:20 +0000 (00:43 +0000)]
Renamed library preselect to preopts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3841
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 20 Sep 2002 00:42:11 +0000 (00:42 +0000)]
Peephole optimization pass on final machine code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3840
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 20 Sep 2002 00:30:46 +0000 (00:30 +0000)]
Files moved to CodeGen/PreOpts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3839
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 20 Sep 2002 00:29:28 +0000 (00:29 +0000)]
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
Chris Lattner [Thu, 19 Sep 2002 21:46:03 +0000 (21:46 +0000)]
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
Chris Lattner [Thu, 19 Sep 2002 21:33:10 +0000 (21:33 +0000)]
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
Chris Lattner [Thu, 19 Sep 2002 21:32:44 +0000 (21:32 +0000)]
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
Chris Lattner [Thu, 19 Sep 2002 20:49:25 +0000 (20:49 +0000)]
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
Chris Lattner [Thu, 19 Sep 2002 20:48:48 +0000 (20:48 +0000)]
Minor non-functionality changing changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3833
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 19 Sep 2002 19:59:42 +0000 (19:59 +0000)]
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
Chris Lattner [Thu, 19 Sep 2002 19:56:53 +0000 (19:56 +0000)]
* 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
Chris Lattner [Thu, 19 Sep 2002 19:44:28 +0000 (19:44 +0000)]
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
Chris Lattner [Thu, 19 Sep 2002 19:43:29 +0000 (19:43 +0000)]
* 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
Chris Lattner [Thu, 19 Sep 2002 19:42:24 +0000 (19:42 +0000)]
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
Chris Lattner [Thu, 19 Sep 2002 19:22:30 +0000 (19:22 +0000)]
Point gccld to the correct library directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3827
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 19 Sep 2002 19:22:11 +0000 (19:22 +0000)]
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
Chris Lattner [Thu, 19 Sep 2002 19:21:18 +0000 (19:21 +0000)]
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