Chris Lattner
0c4ea48b54
Initial implementation of ConstantRange support
...
llvm-svn: 3564
2002-09-01 23:53:39 +00:00
Chris Lattner
7c0515febe
- Exposed SetCondInst::getInverseCondition & ::getSwappedCondition better
...
- Doxygenized iOperators.h
llvm-svn: 3561
2002-09-01 19:46:36 +00:00
Chris Lattner
0a487fa68e
Convert cwriter to be a pass.
...
llvm-svn: 3557
2002-08-31 00:28:25 +00:00
Chris Lattner
838248b35a
- Eliminate the last traces of the 'analysis' namespace
...
llvm-svn: 3550
2002-08-30 22:53:53 +00:00
Chris Lattner
39d3e99afe
Update comments
...
llvm-svn: 3547
2002-08-30 22:51:21 +00:00
Chris Lattner
168cdaea1a
Fix comments.
...
llvm-svn: 3546
2002-08-30 22:51:08 +00:00
Chris Lattner
bfffa18d20
Merged into ValueNumbering.cpp
...
llvm-svn: 3545
2002-08-30 22:30:51 +00:00
Chris Lattner
47f9a4a06a
Initial implementation of basic value numbering
...
This file will probably go away at some point
llvm-svn: 3542
2002-08-30 20:30:03 +00:00
Chris Lattner
2b8ae06774
Initial version of LoadValueNumbering interface
...
llvm-svn: 3539
2002-08-30 20:27:48 +00:00
Chris Lattner
a9d7ed8985
Initial version of ValueNumbering interface
...
llvm-svn: 3538
2002-08-30 20:27:15 +00:00
Chris Lattner
4253b850c0
- PassInfo class keeps track of AnalysisGroups implemented by the Pass.
...
- Doxygenize comments
llvm-svn: 3532
2002-08-30 20:20:39 +00:00
Chris Lattner
3baff38916
- Pass now has AnalysisImpls class to implement getAnalysis() so that it is
...
correct even when called back by another passes run method.
llvm-svn: 3531
2002-08-30 20:19:49 +00:00
Chris Lattner
5545ec0631
Fix comments
...
llvm-svn: 3523
2002-08-29 20:08:39 +00:00
Chris Lattner
30a25af88c
Make the getAnalyss<> members const. Using them does NOT modify the Pass object.
...
llvm-svn: 3522
2002-08-29 20:07:59 +00:00
Chris Lattner
cc9d7e01c9
Add support for turning an array of characters into a string.
...
llvm-svn: 3509
2002-08-26 17:53:56 +00:00
Anand Shukla
1e105cdb7c
Changed so it gets linked properly
...
llvm-svn: 3508
2002-08-26 16:45:19 +00:00
Chris Lattner
69f833618d
Convert comments to Doxygen style
...
llvm-svn: 3507
2002-08-25 22:54:55 +00:00
Vikram S. Adve
f699596601
Added function GetMemInstArgs and made FoldGetElemChain private.
...
llvm-svn: 3503
2002-08-24 21:03:10 +00:00
Vikram S. Adve
6fe717b03b
Added support for type inquiry in subclasses of InstTreeNode.
...
llvm-svn: 3502
2002-08-24 21:02:42 +00:00
Chris Lattner
cb3870e441
Implement classof for SetCondInst so that instcombine doesn't break on dyn_cast<SetCondInst>
...
llvm-svn: 3493
2002-08-23 18:30:58 +00:00
Chris Lattner
9f18db8156
Eliminated the MemAccessInst class, folding contents into GEP class.
...
llvm-svn: 3488
2002-08-22 23:37:24 +00:00
Chris Lattner
20b85d96e4
Eliminated the MemAccessInst class, folding contents into GEP class.
...
llvm-svn: 3487
2002-08-22 23:37:20 +00:00
Chris Lattner
3fbdcb699a
Load & Store Inst now no longer derive from MemAccessInst
...
llvm-svn: 3486
2002-08-22 22:54:10 +00:00
Chris Lattner
d123fc1e41
Load and Store now no longer derive from MemAccessInst. Indexing a load or
...
store is not possible anymore.
llvm-svn: 3482
2002-08-22 22:47:47 +00:00
Chris Lattner
48278223df
doxygenize comments in header
...
llvm-svn: 3480
2002-08-22 22:46:20 +00:00
Chris Lattner
01ed913adb
Add doxygen comments to AliasAnalysis class
...
llvm-svn: 3475
2002-08-22 21:22:25 +00:00
Chris Lattner
5d3710be84
Fix bug: test/Regression/Assembler/2002-08-22-DominanceProblem.ll
...
llvm-svn: 3473
2002-08-22 20:39:27 +00:00
Chris Lattner
04c9a37306
Checkin new alias analysis infrastructure
...
llvm-svn: 3464
2002-08-22 18:25:20 +00:00
Chris Lattner
2522ebee1b
Remove unneccesary method
...
llvm-svn: 3452
2002-08-22 15:57:37 +00:00
Vikram S. Adve
3567460977
Just some extra comments.
...
llvm-svn: 3446
2002-08-22 03:03:10 +00:00
Vikram S. Adve
dba9c85e36
Add method copyOperands().
...
llvm-svn: 3445
2002-08-22 03:01:44 +00:00
Chris Lattner
78cb7cd03d
Add a class that is useful for hacking around linking problem due to
...
pass implementations not being linked in when they are used if the
implementation is in a .a file.
- Fighting with linking problem due to removing the ::ID elements. Now the
implementation .cpp files for analyses are not being included into gccas
and friends because it is linking to the .a file and there is no explicit
symbol reference to bring in the .o file. The new IncludeFile hack is the
result.
llvm-svn: 3434
2002-08-21 23:48:55 +00:00
Chris Lattner
c4bd846e84
- Split Dominators.h into Dominators.h & PostDominators.h
...
llvm-svn: 3432
2002-08-21 23:43:50 +00:00
Chris Lattner
c5c1d9ad89
- Implement the new AnalysisGroup feature, neccesary for Value#ing and pointer analysis
...
llvm-svn: 3425
2002-08-21 22:16:59 +00:00
Chris Lattner
bf3e8bf210
Add assertion checks to nail bugs early.
...
llvm-svn: 3424
2002-08-21 22:14:28 +00:00
Chris Lattner
48cb6df26f
- Make Pass::lookupPassInfo a public member
...
- Fix Pass::getAnalysis<AnalysisType>() to use dynamic_cast instead of a
static cast to handle the case where the cast from & two classes are not
related via inheritance.
llvm-svn: 3423
2002-08-21 22:13:33 +00:00
Chris Lattner
6c83ee57c1
- Do not expose ::ID from any of the analyses anymore.
...
llvm-svn: 3417
2002-08-21 17:09:49 +00:00
Chris Lattner
b90f78e2b3
- Do not expose ::ID from any of the analyses anymore.
...
llvm-svn: 3416
2002-08-21 17:09:45 +00:00
Chris Lattner
a63cce4e99
- Eliminate the need for analyses to expose an ::ID member.
...
llvm-svn: 3414
2002-08-21 17:08:37 +00:00
Chris Lattner
417aa6666c
Add missing forward decl
...
llvm-svn: 3413
2002-08-21 15:38:45 +00:00
Chris Lattner
edea38063b
Add new SetCondInst::getInverseCondition() method.
...
llvm-svn: 3404
2002-08-20 18:17:09 +00:00
Chris Lattner
8f4f2153e5
- ConstantPointerRefs are now automatically removed from the module table
...
when they are destroyed, which makes Constant::destroyConstant an actually
useful external interface. Expose these methods publicly.
- Implement destroyConstant on ConstPointerNull so that destroyConstant can
be used on any derived type constant safely.
llvm-svn: 3378
2002-08-18 00:39:59 +00:00
Chris Lattner
9f776d426f
Module's do not subclass from Value, so this code caused a segfault.
...
llvm-svn: 3376
2002-08-18 00:37:14 +00:00
Chris Lattner
30c534c3e1
Add Module::dump() method
...
llvm-svn: 3374
2002-08-17 23:32:42 +00:00
Chris Lattner
aac33658b1
Remove the last traces of the NOT instruction
...
llvm-svn: 3346
2002-08-15 16:14:49 +00:00
Vikram S. Adve
227bd369e5
Change opLabel numbers for Not and BNot.
...
Also, these tree nodes are now binary, not unary.
llvm-svn: 3344
2002-08-15 14:20:45 +00:00
Vikram S. Adve
c66b996e40
Added more helper functions for binary instructions emulating
...
unary Neg and Not: isNeg, isNot, getNegArgument, and getNotArgument.
llvm-svn: 3341
2002-08-15 14:15:48 +00:00
Chris Lattner
6a9d88347a
Remove support for Not ConstantExpr. This simplifies the unary case to only
...
have to support the cast instruction, so the function is renamed to getCast.
llvm-svn: 3328
2002-08-14 18:24:09 +00:00
Chris Lattner
d909e03b2e
Remove support for unary operators.
...
llvm-svn: 3326
2002-08-14 18:19:46 +00:00
Chris Lattner
7a018a27b2
Remove reference to GenericUnaryInst class
...
llvm-svn: 3325
2002-08-14 18:18:50 +00:00