1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 14:32:51 +01:00
Commit Graph

383 Commits

Author SHA1 Message Date
Chris Lattner
67f9108e98 - 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
f743017498 - PassManager prints analysis sets nicer
- Use Pass::AnalysisImpls instead of findAnalysisGroupMemeber

llvm-svn: 3534
2002-08-30 20:23:45 +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
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
969c616d51 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
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
e6cf772ddd Fix bug: test/Regression/Assembler/2002-08-22-DominanceProblem.ll
llvm-svn: 3474
2002-08-22 20:39:29 +00:00
Chris Lattner
1ae38466e6 - 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
3597405d6d Remove debugging code accidentally checked in.
llvm-svn: 3430
2002-08-21 22:49:31 +00:00
Chris Lattner
02221dc679 - 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
ae2d7ffd42 - Do not expose ::ID from any of the analyses anymore.
llvm-svn: 3415
2002-08-21 17:09:15 +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
6c2d688d20 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
0d58102c1c Add new SetCondInst::getInverseCondition() method.
llvm-svn: 3405
2002-08-20 18:17:12 +00:00
Chris Lattner
85290b6ab3 Add missing space
llvm-svn: 3387
2002-08-19 20:42:12 +00:00
Chris Lattner
fe91f23c6d 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
45aae6cd96 - 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
143e810ca9 Add Module::dump() method
llvm-svn: 3375
2002-08-17 23:32:47 +00:00
Chris Lattner
e63ef1c3ab Changed parser to always use parenthesis on ConstExprs to be consistent
llvm-svn: 3363
2002-08-16 21:17:11 +00:00
Chris Lattner
0d1bc11665 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
4a542aeb38 Simplify the code
llvm-svn: 3348
2002-08-15 16:15:36 +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
980bf4b44d Remove support for NOT instruction
llvm-svn: 3323
2002-08-14 18:18:02 +00:00
Chris Lattner
794511bf40 Implement two constructor functions for "unary" instructions
llvm-svn: 3317
2002-08-14 17:52:27 +00:00
Chris Lattner
9f528df0ad Remove support forNOT instruction
llvm-svn: 3316
2002-08-14 17:52:06 +00:00
Chris Lattner
26186786e1 Return null on failure, instead of aborting.
llvm-svn: 3308
2002-08-14 17:12:13 +00:00
Chris Lattner
b639abc322 - Rename ConstantGenericIntegral -> ConstantIntegral
- Add new methods to ConstantIntegral: getMaxValue, getMinValue,
   getAllOnesValue

llvm-svn: 3299
2002-08-13 17:50:20 +00:00
Chris Lattner
4fbca59155 - 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
ba82fa7aeb Remove some extraneous #includes
llvm-svn: 3289
2002-08-12 20:24:46 +00:00
Chris Lattner
f439d24c89 Changes to make GlobalValueRefMap not derive from std::map.
llvm-svn: 3288
2002-08-12 20:23:29 +00:00
Chris Lattner
d2d8928f1b UnaryOperator::create should take a name just like BinaryOperator::create
llvm-svn: 3279
2002-08-09 21:39:38 +00:00
Chris Lattner
91d4742562 - 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
e980c93ebc 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
7c8f92eacc Fix bug: test/Regression/Other/2002-08-02-DomSetProblem.ll
llvm-svn: 3213
2002-08-02 16:51:27 +00:00
Chris Lattner
829a3f1c3a 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
41280182a6 Enhance -time-passes to be more detailed and useful
llvm-svn: 3199
2002-08-01 19:33:09 +00:00
Chris Lattner
8adb533609 Fix bug: test/Regression/Assembler/2002-07-31-SlashInString.llx
llvm-svn: 3195
2002-07-31 23:56:44 +00:00
Chris Lattner
24f5355b1f *** empty log message ***
llvm-svn: 3185
2002-07-31 19:32:01 +00:00
Chris Lattner
ed762542ec We need iostream in PassManagerT.h to use cerr
llvm-svn: 3183
2002-07-31 18:04:17 +00:00
Chris Lattner
5e3350bca8 Implement new -debug-pass=Arguments option that causes PassManager to
print out the command line options for the optimizations it is running.

llvm-svn: 3165
2002-07-30 19:51:02 +00:00
Chris Lattner
1720a4c0b7 Cleanup ConstantExpr handling:
* Correctly delete TypeHandles in AsmParser.  In addition to not leaking
   memory, this prevents a bug that could have occurred when a type got
   resolved that the constexpr was using
 * Check for errors in the AsmParser instead of hitting assertion failures
   deep in the code
 * Simplify the interface to the ConstantExpr class, removing unneccesary
   parameters to the ::get* methods.
 * Rename the 'getelementptr' version of ConstantExpr::get to
   ConstantExpr::getGetElementPtr

llvm-svn: 3161
2002-07-30 18:54:25 +00:00
Chris Lattner
57c110ce62 Declare that these passes only depend on the CFG of the function
llvm-svn: 3157
2002-07-30 16:27:52 +00:00
Chris Lattner
a7bcc10581 * Move some code from Pass.cpp to PassManagerT.h
* Implement stuff so that code can declare that they only depend on the CFG of
  a function, not on anything else.  This speeds up GCCAS a lot.

llvm-svn: 3155
2002-07-30 16:27:02 +00:00
Chris Lattner
a7780b88ae Implement constant propogation of logical (and, or, xor) expressions.
Fixes testcase: test/Regression/Transforms/ConstProp/logicaltest.ll

llvm-svn: 3154
2002-07-30 16:24:28 +00:00
Chris Lattner
ef6729c9ca * Eliminate the Provided set. All Passes now finally just automatically
provide themselves.

llvm-svn: 3125
2002-07-29 21:03:38 +00:00
Chris Lattner
b202b77aab * Eliminate the Provided set. All Passes now finally just automatically
provide themselves.

llvm-svn: 3124
2002-07-29 21:03:33 +00:00
Chris Lattner
fd9fefa8f6 * PassInfo is allowed to be missing now (ie, not all passes need be registered)
* getPassName uses PassInfo if it's available
* PassInfo is now cached in the pass so that it is only looked up once, maximum

llvm-svn: 3123
2002-07-29 21:02:31 +00:00
Chris Lattner
ec2780457d * Standardize how analysis results/passes as printed with the print() virtual
methods
* Eliminate AnalysisID:  Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
  the analyses themselves.

llvm-svn: 3116
2002-07-27 01:12:17 +00:00