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
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
Chris Lattner
4dd7d3e34d
* No longer need to run die after instcombine
...
* Run new correlated expressions pass
* Simplify the CFG (removing dead blocks, merging blocks, eliminating branches
on constant booleans, etc) after correlated exprs pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3598 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 18:41:33 +00:00
Chris Lattner
c5394837fe
- Reformat comments
...
- 'gccas' puts verifier in logical place in pass procession to avoid
recomputing dominator information unneccesarily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3553 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:55:32 +00:00
Chris Lattner
1b7fbef3d3
- GCCAS now uses load value #ing for GCSE
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3536 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:25:25 +00:00
Chris Lattner
374a0950cc
Do not leak memory for passes when using -stopAfterNPasses or -stopraise
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3371 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-17 22:40:03 +00:00
Chris Lattner
0e4ca08843
Run GlobalDCE before deadtypeelim so that we do not retain types for global
...
variables that are obviously dead. The most common case is %FILE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3370 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-17 22:38:02 +00:00
Chris Lattner
d4c7f2766b
Print the tool name when an error comes from so that I can tell which
...
tool of a pipeline is having issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3168 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 21:43:25 +00:00
Chris Lattner
c7a0985995
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3087 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 16:31:09 +00:00
Chris Lattner
d9d8c07eea
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3040 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 22:04:43 +00:00
Chris Lattner
ccbb3bd6e4
Raise pass requires an explicit TargetData member now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3020 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 18:09:58 +00:00
Chris Lattner
56d27019e6
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3002 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:52:38 +00:00
Chris Lattner
5ff62e90d0
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2985 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 02:10:13 +00:00
Vikram S. Adve
f8685ebd9d
Disabling reassociate pass until it is fixed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2849 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-09 19:53:09 +00:00
Chris Lattner
b4aef1746a
Yes, we REALLY DO want to run the reassociate pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2809 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-30 16:19:14 +00:00
Anand Shukla
cf17bcc7e7
Changes for 64bit gcc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2799 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 21:57:48 +00:00
Chris Lattner
624c3e028b
Simplify the code that adds passes so compilation can stop after any step
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2775 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 15:57:43 +00:00
Chris Lattner
5424e50c61
No need to run dce with adce right behind!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2738 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-23 19:27:50 +00:00
Chris Lattner
ff8207fc6c
Add the ADCE pass to gccas finally!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2719 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22 21:30:24 +00:00
Chris Lattner
e3a20e733e
Simplify CFG after code generation is done
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2698 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-21 20:05:08 +00:00
Chris Lattner
4ad532299a
Run another local value numbering phase after redundancy elimination
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2625 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-14 16:23:14 +00:00
Chris Lattner
88fcc513aa
Add LICM pass to compiler
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2613 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 22:44:31 +00:00
Chris Lattner
94fbab0022
Run expression reassociation as part of gccas
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2556 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-08 22:18:20 +00:00
Chris Lattner
65f1b895bb
Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2538 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 20:03:27 +00:00
Chris Lattner
ddca9d0dcb
Fix makefiles after shuffling passes around the libraries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2532 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 19:27:33 +00:00
Chris Lattner
2154d13354
Straighten out makefiles after moving code to new Transform Utils library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2520 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:18:26 +00:00
Chris Lattner
5f06e10a84
GCSE is faster than SCCP, and it makes SCCP's job easier, so run it first.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 18:54:12 +00:00
Chris Lattner
eadd32cda2
Instruction Combination can create a ton of trivially dead instructions. Remove
...
them with an DIE pass before more expensive optimizations are run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2491 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 16:52:15 +00:00
Chris Lattner
9c1291c85e
Run DCE AFTER SCCP and GCSE!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2476 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 03:04:17 +00:00
Chris Lattner
8ac58a83eb
Move constant merging pass earlier
...
Include the SCCP pass in gccas
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2410 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 20:11:38 +00:00
Chris Lattner
c6f3ae5c66
Eliminate duplicate or unneccesary #include's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 17:42:12 +00:00
Chris Lattner
598d21c7e5
Run GCSE as part of gccas.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2340 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 01:00:15 +00:00
Chris Lattner
76d12299b5
Make sure that there is no case where a signal can occur leaving a partially
...
written output file. This is important because crashing testcases often write
part of a file out, and the testing harness decides the file is up-to-date next
time the test is run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2303 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 19:55:25 +00:00
Chris Lattner
6a1f6940a1
The cleangcc pass is brokeninto two pieces, execute both of them.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2225 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:33:32 +00:00
Chris Lattner
94202988a8
Remove asmwriter library from link line, because the useful contents of it
...
have been incorporated into the vmcore library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2153 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 22:35:30 +00:00
Chris Lattner
69cd2b1ade
Move the PromoteMemoryToRegister pass to be run _after_ the raise pointer
...
references pass, so it is given the chance to do some good!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2089 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01 19:45:11 +00:00
Cameron Buschardt
0732c70ffb
Rename constructor function for mem2reg pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2008 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-27 23:29:23 +00:00
Chris Lattner
081c409e27
Add a debugging option to gccas to cause it to not do level raise or anything
...
after it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1934 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 21:21:50 +00:00
Chris Lattner
71e7bb4bc0
Pull interprocedural analyses out of Analysis library into their own lib
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1827 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-06 18:44:29 +00:00
Chris Lattner
417fbe5287
Change to use new pass accessor functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1817 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 21:47:29 +00:00
Chris Lattner
0253ceeb56
Resolve deps
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1615 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 15:52:41 +00:00
Chris Lattner
0f3bfffd9e
PassManager is now in it's own header file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1608 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 00:46:22 +00:00
Chris Lattner
e94525575f
Only run DeadInst elimination early, because it is quick and painless and
...
pipelines well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1549 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 21:06:44 +00:00
Chris Lattner
3dc67dd95b
Misc cleanups. Allocate ofstream statically, and use a pass to write out the bytecode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1529 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 03:30:46 +00:00
Chris Lattner
d7db863c1d
Rename LowerAllocations.h to ChangeAllocations.h since it now contains the
...
RaiseAllocations pass as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1525 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 01:04:08 +00:00
Chris Lattner
5048c3b853
Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass in
...
the ChangeAllocations.h header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 00:13:51 +00:00
Chris Lattner
59b6b8e0b3
Move stuff out of the Optimizations directories into the appropriate Transforms
...
directories. Eliminate the opt namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1520 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 23:17:48 +00:00
Chris Lattner
8efb9d733f
Eliminate opt library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1516 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 23:13:46 +00:00
Chris Lattner
f4de63f65f
Implement a more powerful, simpler, pass system. This pass system can figure
...
out how to run a collection of passes optimially given their behaviors and
charactaristics.
Convert code to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:31:50 +00:00
Chris Lattner
697954c15d
Changes to build successfully with GCC 3.02
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Chris Lattner
d584dcc6ef
Add more passes to run after raising
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1476 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:48:30 +00:00
Chris Lattner
0d7a474463
Run DCE before cleanupGCCoutput which will cause some dead types (like FILE) to be removed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1429 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-07 04:25:36 +00:00
Chris Lattner
9c6f2ac665
Simplify induction variables before 'raising' the representation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1418 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-05 06:34:58 +00:00
Chris Lattner
cee8f9ae67
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27 00:03:19 +00:00
Chris Lattner
2409ddb5b2
-raise includes constprop and dce
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1397 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 19:37:43 +00:00
Chris Lattner
a8b3015d40
Run constprop before -raise
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1354 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:16:07 +00:00
Chris Lattner
c2ae4f6d3b
Fix link prob
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1297 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 11:03:17 +00:00
Chris Lattner
068f487ee5
Move the Raise xform from opt to transforms
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1072 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:41:09 +00:00
Chris Lattner
dbe0514e12
crunch the output of GCC a bit to make it nicer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1068 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 06:36:48 +00:00
Chris Lattner
11c862cf46
Fix dumb copy and paste typos
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1063 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:33:33 +00:00
Chris Lattner
ecbde333a2
Initial checkin of GCCAS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1058 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:28:11 +00:00