Commit Graph

392 Commits

Author SHA1 Message Date
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