Chris Lattner
1212eabe1f
Add expr reassociation pass prototype
...
llvm-svn: 2558
2002-05-08 22:19:01 +00:00
Sumant Kowshik
64cf4b95c9
*** empty log message ***
...
llvm-svn: 2552
2002-05-08 18:09:58 +00:00
Chris Lattner
abf9a50ee5
Spell aggressive right
...
llvm-svn: 2549
2002-05-07 22:12:52 +00:00
Chris Lattner
2573cd6d56
Fix misspelling
...
llvm-svn: 2548
2002-05-07 22:12:36 +00:00
Chris Lattner
5b99f25879
These files are supersumed by include/llvm/Transforms/Scalar.h
...
llvm-svn: 2534
2002-05-07 19:38:42 +00:00
Chris Lattner
bb3896eed3
New header file to replace all of the Scalar/*.h files.
...
llvm-svn: 2533
2002-05-07 19:37:18 +00:00
Chris Lattner
d5b2b2afa5
Checkin headers for Utils library
...
llvm-svn: 2528
2002-05-07 18:52:48 +00:00
Chris Lattner
d365f9465f
Cleanup implementation a bit + comments
...
llvm-svn: 2527
2002-05-07 18:51:44 +00:00
Chris Lattner
186adba046
Update header after moving file
...
llvm-svn: 2522
2002-05-07 18:34:57 +00:00
Chris Lattner
51d7a923f5
Remove long dead file
...
llvm-svn: 2521
2002-05-07 18:20:10 +00:00
Chris Lattner
0b8c2d8b29
Factor code out to the Transform Utils library
...
llvm-svn: 2519
2002-05-07 18:18:00 +00:00
Chris Lattner
bd5095f570
Add support for passes to announce that they only depend on the CFG of a
...
function. This is crude but effective
llvm-svn: 2505
2002-05-06 19:31:16 +00:00
Chris Lattner
7d13e2f392
Move a bunch of code to a .cpp file, don't #include Instruction.h
...
llvm-svn: 2499
2002-05-06 17:54:50 +00:00
Chris Lattner
3bab8f6123
* Add getPrimitiveSize method
...
* Remove isPointerType, isMethodType, etc... methods. Use isa<> instead
* Added specialization of isa for pointer types so that DerivedTypes.h doesn't
have to be #included to use isa<PointerType>(..)
llvm-svn: 2483
2002-05-06 16:12:53 +00:00
Chris Lattner
07c6629280
Void and Label values cannot be acted on directly so they have zero size
...
llvm-svn: 2481
2002-05-06 15:10:15 +00:00
Chris Lattner
d12eac0b1b
Implement constant propogation of shift instructions
...
llvm-svn: 2471
2002-05-06 03:01:37 +00:00
Chris Lattner
2d5135d9bd
Add a range remove method
...
llvm-svn: 2468
2002-05-06 02:59:52 +00:00
Chris Lattner
a0965456d0
Implement remainder
...
llvm-svn: 2463
2002-05-03 21:40:37 +00:00
Chris Lattner
2716e9868c
Make the range insert operation return an iterator, even though the STL
...
range insert doesn't
llvm-svn: 2413
2002-04-29 21:23:30 +00:00
Chris Lattner
5d17e49ad5
Remove unused files: This is the old induction varaible cannonicalization
...
pass built on top of interval analysis
llvm-svn: 2411
2002-04-29 20:18:00 +00:00
Chris Lattner
2a1f5e79c3
Change to allow iMemory.h to avoid including DerivedTypes.h
...
llvm-svn: 2403
2002-04-29 18:46:22 +00:00
Chris Lattner
294b5915d8
Remove analysis namespace
...
llvm-svn: 2399
2002-04-29 18:12:52 +00:00
Chris Lattner
96e0c48175
Eliminate duplicate or unneccesary #include's
...
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
589debc4ba
Add new optional getPassName() virtual function that a Pass can override
...
to make debugging output a lot nicer.
llvm-svn: 2395
2002-04-29 14:57:45 +00:00
Chris Lattner
694285448c
Stub functions for timing support
...
llvm-svn: 2393
2002-04-29 04:02:50 +00:00
Chris Lattner
74ccd0f755
Tighten up the AnalysisUsage of lots of passes, primarily to correctly indicate whether or not they invalidate the CFG
...
llvm-svn: 2385
2002-04-28 21:26:51 +00:00
Chris Lattner
c74c58800a
Move FunctionPass::doesNotModifyCFG to AnalysisUsage::preservesCFG()
...
llvm-svn: 2384
2002-04-28 21:25:41 +00:00
Chris Lattner
c64ef6740a
* 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
llvm-svn: 2383
2002-04-28 20:46:05 +00:00
Chris Lattner
884c3d4899
Use forward decl instead of #include
...
llvm-svn: 2380
2002-04-28 20:40:25 +00:00
Chris Lattner
321a8cf4ba
Split ConstantVals.h into Constant.h and Constants.h
...
llvm-svn: 2378
2002-04-28 19:55:58 +00:00
Chris Lattner
fc52b111ac
Fix two FIXME's
...
llvm-svn: 2377
2002-04-28 19:49:58 +00:00
Chris Lattner
f043c4baac
Remove all contents of the cfg namespace to the global namespace
...
llvm-svn: 2369
2002-04-28 16:19:42 +00:00
Chris Lattner
82ccff25fa
Remove obsolete namespace from example
...
llvm-svn: 2368
2002-04-28 16:18:32 +00:00
Chris Lattner
23e713d49d
Initial checkin of new "Internalize" pass for GCCLD
...
llvm-svn: 2362
2002-04-28 05:43:27 +00:00
Chris Lattner
e87fe3291c
SymTabValue class incorporated into Function and Module classes.
...
llvm-svn: 2359
2002-04-28 04:56:59 +00:00
Chris Lattner
597f27fd29
Include an operator<<, to print modules
...
llvm-svn: 2358
2002-04-28 04:56:28 +00:00
Chris Lattner
67649f6aec
Remove forward def'ns that are already in Value.h
...
Do not support output of Modules directly
llvm-svn: 2349
2002-04-28 04:47:33 +00:00
Chris Lattner
8a53fbd0d0
s/Method/Function
...
llvm-svn: 2348
2002-04-28 04:47:06 +00:00
Chris Lattner
d8cb4cfb30
Module's are no longer Value's.
...
llvm-svn: 2347
2002-04-28 04:46:29 +00:00
Chris Lattner
352dadc1d1
The interesting contents of SymTabValue were incorporated into Function
...
llvm-svn: 2346
2002-04-28 04:46:07 +00:00
Chris Lattner
24a00025ac
* Module's are no longer Value's
...
* Incorporate SymTabValue contents into the Module class
llvm-svn: 2345
2002-04-28 04:45:48 +00:00
Chris Lattner
4f33b2e3ed
Add a forward defn for Module since it's no longer in Value.h
...
llvm-svn: 2344
2002-04-28 04:45:05 +00:00
Chris Lattner
d5d0313e9d
* Incorporate the functionality of SymTabValue into Function
...
* s/Method/Function
llvm-svn: 2343
2002-04-28 04:44:40 +00:00
Chris Lattner
0bd57e6e99
Initial checkin of simple&fast SSA based GCSE algorithm
...
llvm-svn: 2338
2002-04-28 00:47:11 +00:00
Chris Lattner
741453dd60
Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not
...
const BasicBlocks
llvm-svn: 2337
2002-04-28 00:15:57 +00:00
Chris Lattner
2f0ee1833d
s/Method/Function
...
llvm-svn: 2336
2002-04-27 07:27:19 +00:00
Chris Lattner
bc2e4fd4cf
s/Method/Function in classname
...
llvm-svn: 2335
2002-04-27 06:59:56 +00:00
Chris Lattner
048c4eaafe
Remove old file that will never be used
...
llvm-svn: 2334
2002-04-27 06:57:52 +00:00
Chris Lattner
536cf1b13f
* Rename MethodPass class to FunctionPass
...
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
- Method is now const
- It now takes one AnalysisUsage object to fill in instead of 3 vectors
to fill in
- Pass's now specify which other passes they _preserve_ not which ones
they modify (be conservative!)
- A pass can specify that it preserves all analyses (because it never
modifies the underlying program)
* s/Method/Function/g in other random places as well
llvm-svn: 2333
2002-04-27 06:56:12 +00:00
Chris Lattner
16601b03cf
Change the semantics of getSuccessor to FAIL if an out of range successor # is attempted.
...
llvm-svn: 2330
2002-04-27 03:14:12 +00:00