Chris Lattner
80a2568f9b
Fix typeo in assertion message
...
llvm-svn: 3641
2002-09-10 04:52:59 +00:00
Chris Lattner
1f41925300
Do not allow adds of pointer types, or many other operations on pointer types.
...
llvm-svn: 3638
2002-09-09 20:26:04 +00:00
Chris Lattner
ed6504b1eb
Enable "garbage detection" of LLVM objects. Check for leaks after running
...
every pass.
llvm-svn: 3621
2002-09-08 19:00:07 +00:00
Chris Lattner
184b298edc
Enable "garbage detection" of LLVM objects. Now users should be obnoxious
...
warnings. If they accidentally leak LLVM Value's.
llvm-svn: 3620
2002-09-08 18:59:35 +00:00
Chris Lattner
9ed7aef651
Move code out of header files into .cpp files to make future changes easier
...
llvm-svn: 3605
2002-09-06 21:33:15 +00:00
Chris Lattner
6213ae0028
* Remove extraneous #includes
...
* Add extra argument to Function ctor to allow automatic insertion into module
llvm-svn: 3600
2002-09-06 20:46:32 +00:00
Chris Lattner
07507a4ccb
Implement setcc for booleans. Fixes bug:
...
test/Regression/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll
llvm-svn: 3576
2002-09-03 20:09:49 +00:00
Chris Lattner
b0b412e66e
- Renamed Type::isIntegral() to Type::isInteger()
...
- Added new method Type::isIntegral() that is the same as isInteger, but
also accepts bool.
llvm-svn: 3574
2002-09-03 01:08:28 +00:00
Chris Lattner
b33e4630ff
- Exposed SetCondInst::getInverseCondition & ::getSwappedCondition better
...
llvm-svn: 3562
2002-09-01 19:46:40 +00:00
Chris Lattner
216edd4ea0
- Use Pass::AnalysisImpls instead of findAnalysisGroupMemeber
...
- -debug-pass=Details now prints implementation class names for analysis
groups
- Rework how AnalysisGroups are resolved to be simpler and better.
llvm-svn: 3535
2002-08-30 20:25:01 +00:00
Chris Lattner
b3708e267e
- PassManager prints analysis sets nicer
...
- Use Pass::AnalysisImpls instead of findAnalysisGroupMemeber
llvm-svn: 3534
2002-08-30 20:23:45 +00:00
Chris Lattner
81fabb05e5
Add support for turning an array of characters into a string.
...
llvm-svn: 3509
2002-08-26 17:53:56 +00:00
Chris Lattner
dfb3a2cd07
Eliminated the MemAccessInst class, folding contents into GEP class.
...
llvm-svn: 3487
2002-08-22 23:37:20 +00:00
Chris Lattner
cd709cbf53
Load & StoreInst no longer derive from MemAccessInst, so we don't have
...
to handle indexing anymore
llvm-svn: 3485
2002-08-22 22:49:05 +00:00
Chris Lattner
4011c62a8d
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
e46f5528a3
Fix bug: test/Regression/Assembler/2002-08-22-DominanceProblem.ll
...
llvm-svn: 3474
2002-08-22 20:39:29 +00:00
Chris Lattner
675e7a9e3d
- 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: 3436
2002-08-21 23:51:51 +00:00
Chris Lattner
10d7b85d5e
Remove debugging code accidentally checked in.
...
llvm-svn: 3430
2002-08-21 22:49:31 +00:00
Chris Lattner
6e041bdb12
- Implement the new AnalysisGroup feature, neccesary for Value#ing and pointer analysis
...
llvm-svn: 3426
2002-08-21 22:17:09 +00:00
Chris Lattner
1230f23da8
- Do not expose ::ID from any of the analyses anymore.
...
llvm-svn: 3415
2002-08-21 17:09:15 +00:00
Chris Lattner
4b16963ca2
- Eliminate the need for analyses to expose an ::ID member.
...
llvm-svn: 3414
2002-08-21 17:08:37 +00:00
Chris Lattner
e821d78432
Sort -time-passes report first by user+system, then by Wall clock time.
...
llvm-svn: 3407
2002-08-20 18:47:53 +00:00
Chris Lattner
dcf53552ce
Add new SetCondInst::getInverseCondition() method.
...
llvm-svn: 3405
2002-08-20 18:17:12 +00:00
Chris Lattner
ca5afe74ab
Add missing space
...
llvm-svn: 3387
2002-08-19 20:42:12 +00:00
Chris Lattner
5ec216b5fe
Fix the -time-passes option to not print NaN when there is zero execution time
...
llvm-svn: 3382
2002-08-19 15:43:33 +00:00
Chris Lattner
0c6e0b9042
- 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: 3379
2002-08-18 00:40:04 +00:00
Chris Lattner
e0f6af9bb2
Add Module::dump() method
...
llvm-svn: 3375
2002-08-17 23:32:47 +00:00
Chris Lattner
cfe8f53a4b
Changed parser to always use parenthesis on ConstExprs to be consistent
...
llvm-svn: 3363
2002-08-16 21:17:11 +00:00
Chris Lattner
83b396b830
Write constexpr casts using the cast X to Y notation, not using the implicit
...
type result
llvm-svn: 3354
2002-08-15 19:37:43 +00:00
Chris Lattner
7f8e677715
Simplify the code
...
llvm-svn: 3348
2002-08-15 16:15:36 +00:00
Vikram S. Adve
243f187791
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
330b7ac76c
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
8fd96fcdaf
Remove support for unary operators.
...
llvm-svn: 3326
2002-08-14 18:19:46 +00:00
Chris Lattner
b193ff8f70
Remove support for NOT instruction
...
llvm-svn: 3323
2002-08-14 18:18:02 +00:00
Chris Lattner
3733c7374e
Implement two constructor functions for "unary" instructions
...
llvm-svn: 3317
2002-08-14 17:52:27 +00:00
Chris Lattner
4ec79c3e6f
Remove support forNOT instruction
...
llvm-svn: 3316
2002-08-14 17:52:06 +00:00
Chris Lattner
31408f7a80
Return null on failure, instead of aborting.
...
llvm-svn: 3308
2002-08-14 17:12:13 +00:00
Chris Lattner
b1585a90d9
- Rename ConstantGenericIntegral -> ConstantIntegral
...
- Add new methods to ConstantIntegral: getMaxValue, getMinValue,
getAllOnesValue
llvm-svn: 3299
2002-08-13 17:50:20 +00:00
Chris Lattner
41e99a07f1
- Added a new superclass of ConstantBool/ConstantInt: ConstantGenericIntegral
...
- Moved InstCombine: isMaxValue, isMinValue, isAllOnesValue to Constants.h
llvm-svn: 3293
2002-08-12 21:21:21 +00:00
Chris Lattner
68fe621771
Remove some extraneous #includes
...
llvm-svn: 3289
2002-08-12 20:24:46 +00:00
Chris Lattner
7d9a14d5d9
Changes to make GlobalValueRefMap not derive from std::map.
...
llvm-svn: 3288
2002-08-12 20:23:29 +00:00
Chris Lattner
a09b01b2c1
UnaryOperator::create should take a name just like BinaryOperator::create
...
llvm-svn: 3279
2002-08-09 21:39:38 +00:00
Chris Lattner
40eb9dafed
- Cleaned up the interface to AnalysisUsage to take analysis class names
...
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3264
2002-08-08 19:01:28 +00:00
Chris Lattner
8e72d6f6e9
Implement dominator checking in the verifier, so that we check that all
...
defintiions dominate their uses
llvm-svn: 3214
2002-08-02 17:37:08 +00:00
Chris Lattner
6d149e0215
Fix bug: test/Regression/Other/2002-08-02-DomSetProblem.ll
...
llvm-svn: 3213
2002-08-02 16:51:27 +00:00
Chris Lattner
d43023a85d
Split dominance calculation and post dominance calculation stuff
...
Dominance calculation goes to VMCore library to be used by Verifier.
llvm-svn: 3210
2002-08-02 16:43:03 +00:00
Chris Lattner
6a33d6f0bb
Enhance -time-passes to be more detailed and useful
...
llvm-svn: 3199
2002-08-01 19:33:09 +00:00
Chris Lattner
e5fd3867d3
Fix bug: test/Regression/Assembler/2002-07-31-SlashInString.llx
...
llvm-svn: 3195
2002-07-31 23:56:44 +00:00
Chris Lattner
be4826e627
*** empty log message ***
...
llvm-svn: 3185
2002-07-31 19:32:01 +00:00
Chris Lattner
395c27ae39
We need iostream in PassManagerT.h to use cerr
...
llvm-svn: 3183
2002-07-31 18:04:17 +00:00