Chris Lattner
97e52e4336
Tighten up the AnalysisUsage of lots of passes, primarily to correctly indicate whether or not they invalidate the CFGA
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2386 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 21:27:06 +00:00
Chris Lattner
0ad0d0e09a
Tighten up the AnalysisUsage of lots of passes, primarily to correctly indicate whether or not they invalidate the CFG
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2385 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 21:26:51 +00:00
Chris Lattner
3330e5be7a
Move FunctionPass::doesNotModifyCFG to AnalysisUsage::preservesCFG()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2384 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 21:25:41 +00:00
Chris Lattner
d30efaf56e
* Add a stub to FunctionPass so that subclasses can declare that they do not
...
modify the CFG. It currently does nothing, but will in the future.
* Changes to make the public PassManager.h be MUCH smaller, and devoid of
implementation details. Now PassManager is just a Pimpl class that wraps
PassManagerT<Module>, but lib/VMCore/Pass.cpp is now the only class that
has to #include PassManagerT.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2383 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 20:46:05 +00:00
Chris Lattner
3adc069c8b
Move include/llvm/PassManager.h to lib/VMCore/PassManagerT.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2382 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 20:42:50 +00:00
Chris Lattner
d50b671280
Add #include that was removed from TargetMachine.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2381 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 20:40:59 +00:00
Chris Lattner
b6dcbfc6d1
Use forward decl instead of #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2380 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 20:40:25 +00:00
Chris Lattner
97453d60c6
Include appropriate file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2379 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 20:40:16 +00:00
Chris Lattner
31bcdb822f
Split ConstantVals.h into Constant.h and Constants.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 19:55:58 +00:00
Chris Lattner
9ae93cdcc8
Fix two FIXME's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2377 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 19:49:58 +00:00
Chris Lattner
bfeec103e1
Simplify and update code a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2376 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 19:20:10 +00:00
Chris Lattner
b9ddce65c2
Eliminate the PromoteInstance class, incorporating it into the PromotePass
...
class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2375 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 19:12:38 +00:00
Chris Lattner
0adb9f95ea
Eliminate visited, CurrentValue, and WriteSets as instance variables of
...
PromoteInstance. Make them local variables that are passed around as
appropriate. Especially in the case of CurrentValue, this makes the
code simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2374 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 18:54:01 +00:00
Chris Lattner
5b5df1747f
* Fix bug: test/Regression/Transforms/Mem2Reg/2002-03-28-UninitializedVal.ll
...
* Minor cleanup that was missed in last patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2373 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 18:39:46 +00:00
Chris Lattner
9f4eb01dd4
This huge changeset is a strictly cleanup change
...
Bugfixes will come in the next revision so that the diff is obvious.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2372 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 18:27:55 +00:00
Chris Lattner
4ec35ab1c6
Eliminate the cfg namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2371 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:21:53 +00:00
Chris Lattner
1b7f7dc4b4
Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classes
...
to the global namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2370 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:21:30 +00:00
Chris Lattner
8fc2f2072d
Remove all contents of the cfg namespace to the global namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2369 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:19:42 +00:00
Chris Lattner
876509614b
Remove obsolete namespace from example
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2368 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:18:32 +00:00
Chris Lattner
39dd0246bd
Remove extra unused argument from CheckFailed method
...
Remove extraneous \n's from assert strings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2367 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:06:24 +00:00
Chris Lattner
794caa1d2c
The check to see if an external function was marked internal was not reachable!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2366 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:04:26 +00:00
Chris Lattner
c6d52e07e5
Expose the internalize pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2365 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:49:53 +00:00
Chris Lattner
7bf5dfec19
Run the internalize pass to mark all functions except main internal when
...
linking the final program to allow smarter optimizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2364 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:49:45 +00:00
Chris Lattner
100d6daca4
Be careful not to make "external" function internal
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2363 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:48:34 +00:00
Chris Lattner
dbb1735673
Initial checkin of new "Internalize" pass for GCCLD
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2362 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:43:27 +00:00
Chris Lattner
2e9175a085
Minor changes to allow Modules (which are no longer Values) to work
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2361 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:14:06 +00:00
Chris Lattner
d43035e1d7
Use operator << to print modules
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2360 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:13:45 +00:00
Chris Lattner
f4467b8ebc
SymTabValue class incorporated into Function and Module classes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2359 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:56:59 +00:00
Chris Lattner
dae4a36849
Include an operator<<, to print modules
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2358 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:56:28 +00:00
Chris Lattner
2312b1c594
Eliminate use of SymTabValue class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2357 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:55:14 +00:00
Chris Lattner
67e08db3b9
The contents of the SymTabValue class have been incorporated into the
...
Module and Function classes directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2356 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:52:28 +00:00
Chris Lattner
11aa4770fe
* Incorporate the contents of SymTabValue into Function and Module
...
* Module no longer subclasses Value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2355 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:51:51 +00:00
Chris Lattner
5240dac674
Module's are no longer values
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2354 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:51:09 +00:00
Chris Lattner
fd63f25fbd
Simplify code
...
Remove unneccesary getID variant for module's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2353 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:50:54 +00:00
Chris Lattner
09c66f07c0
Remove unneccesary #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2352 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:50:19 +00:00
Chris Lattner
96d0f3011a
Module's are no longer Value subclasses
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2351 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:50:00 +00:00
Chris Lattner
3bed5b46ba
Fix signed/unsigned comparison warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2350 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:49:43 +00:00
Chris Lattner
09a60ac9fe
Remove forward def'ns that are already in Value.h
...
Do not support output of Modules directly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2349 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:47:33 +00:00
Chris Lattner
20ad298c74
s/Method/Function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2348 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:47:06 +00:00
Chris Lattner
356b79320b
Module's are no longer Value's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2347 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:46:29 +00:00
Chris Lattner
853737706f
The interesting contents of SymTabValue were incorporated into Function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2346 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:46:07 +00:00
Chris Lattner
6b5689ed55
* Module's are no longer Value's
...
* Incorporate SymTabValue contents into the Module class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2345 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:45:48 +00:00
Chris Lattner
785bfcca13
Add a forward defn for Module since it's no longer in Value.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2344 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:45:05 +00:00
Chris Lattner
8c310c7548
* Incorporate the functionality of SymTabValue into Function
...
* s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2343 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:44:40 +00:00
Chris Lattner
89bf005646
New testcase for GCSE
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2342 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 01:46:36 +00:00
Chris Lattner
923caadfab
Test GCSE
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2341 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 01:46:30 +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
e5fb83ebb8
Expose new GCSE pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2339 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 00:48:17 +00:00
Chris Lattner
d80e973cec
Initial checkin of simple&fast SSA based GCSE algorithm
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2338 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 00:47:11 +00:00
Chris Lattner
a298d27808
Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not
...
const BasicBlocks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2337 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 00:15:57 +00:00