aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-293-5/+15
| | | | | | | to make debugging output a lot nicer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new command line option for PassManager using utilities.Chris Lattner2002-04-292-11/+144
| | | | | | | | | Now for llc, gccas, analyze, opt, etc you can specify the -time-passes command line option that outputs a timing summary report that indicates how long each pass takes to execute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2394 91177308-0d34-0410-b5e6-96231b3b80d8
* Todo has been implemented, remove itChris Lattner2002-04-281-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2387 91177308-0d34-0410-b5e6-96231b3b80d8
* Tighten up the AnalysisUsage of lots of passes, primarily to correctly ↵Chris Lattner2002-04-281-0/+4
| | | | | | indicate whether or not they invalidate the CFGA git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2386 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FunctionPass::doesNotModifyCFG to AnalysisUsage::preservesCFG()Chris Lattner2002-04-281-14/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2384 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add a stub to FunctionPass so that subclasses can declare that they do notChris Lattner2002-04-281-4/+28
| | | | | | | | | | | 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2383 91177308-0d34-0410-b5e6-96231b3b80d8
* Move include/llvm/PassManager.h to lib/VMCore/PassManagerT.hChris Lattner2002-04-281-6/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2382 91177308-0d34-0410-b5e6-96231b3b80d8
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-2810-10/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classesChris Lattner2002-04-281-22/+22
| | | | | | | to the global namespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2370 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove extra unused argument from CheckFailed methodChris Lattner2002-04-281-10/+10
| | | | | | | Remove extraneous \n's from assert strings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2367 91177308-0d34-0410-b5e6-96231b3b80d8
* The check to see if an external function was marked internal was not reachable!Chris Lattner2002-04-281-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2366 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor changes to allow Modules (which are no longer Values) to workChris Lattner2002-04-282-14/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2361 91177308-0d34-0410-b5e6-96231b3b80d8
* The contents of the SymTabValue class have been incorporated into theChris Lattner2002-04-281-41/+1
| | | | | | | Module and Function classes directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2356 91177308-0d34-0410-b5e6-96231b3b80d8
* * Incorporate the contents of SymTabValue into Function and ModuleChris Lattner2002-04-282-5/+50
| | | | | | | * Module no longer subclasses Value git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2355 91177308-0d34-0410-b5e6-96231b3b80d8
* Module's are no longer valuesChris Lattner2002-04-281-5/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2354 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the Dominator info and LoopInfo classes to keep track of ↵Chris Lattner2002-04-281-14/+14
| | | | | | | | | BasicBlock's, not const BasicBlocks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2337 91177308-0d34-0410-b5e6-96231b3b80d8
* s/Method/FunctionChris Lattner2002-04-271-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2336 91177308-0d34-0410-b5e6-96231b3b80d8
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-274-94/+121
| | | | | | | | | | | | | | | | - 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
* Trivial simplification of codeChris Lattner2002-04-271-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2325 91177308-0d34-0410-b5e6-96231b3b80d8
* * Change Constant::getNullConstant to Constant::getNullValueChris Lattner2002-04-271-33/+1
| | | | | | | * Remove some unused code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2324 91177308-0d34-0410-b5e6-96231b3b80d8
* * Abort program on verification errorsChris Lattner2002-04-241-1/+41
| | | | | | | | * Verify that load, store, and GEP instructions indices are correct, because they _continually_ bite me on this pool allocations stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2309 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some basic checks of CallInst's.Chris Lattner2002-04-181-8/+17
| | | | | | | Assert now returns from the current function on error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2308 91177308-0d34-0410-b5e6-96231b3b80d8
* * Convert the verifier to use an InstVisitor to be better structuredChris Lattner2002-04-181-137/+154
| | | | | | | | | * Implement checking that a binary operator's two sides are the same type * Actually check that an instruction does not have a name if it has a void return type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2305 91177308-0d34-0410-b5e6-96231b3b80d8
* Move asmwriter/getStrValue cruft into AsmWriter.cpp file.Chris Lattner2002-04-181-128/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2300 91177308-0d34-0410-b5e6-96231b3b80d8
* Pull all of the getStrValue implementation cruft out of Constants.cpp andChris Lattner2002-04-181-24/+94
| | | | | | | | put it into the AsmWriter. This code is kinda gross and could probably be cleaned up, but not now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2299 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove gep::isStructSelectorChris Lattner2002-04-181-9/+4
| | | | | | | CTor's do not allow names anymore for StoreInst objects git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2285 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove old frivolous uses of getStrValue in a debugging statementChris Lattner2002-04-161-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2270 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unneccesary castChris Lattner2002-04-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2269 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to:Chris Lattner2002-04-161-44/+106
| | | | | | | | | | | | | | | * Fix bug printing method types (oops when converting previous code) * Move some of the code from Constant::getStrValue implementations here. This allows us to do a MUCH MUCH better job printing out complex constant values (think an array of structure pointers), because we print symbolic type names instead of structural. The assistance when debugging is immense Eventually, Constant::getStrValue should be removed (it existed before because the asmwriter file was not in VMCore), and everyone should go through the asmwriter that want's equivalent functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2268 91177308-0d34-0410-b5e6-96231b3b80d8
* * Fix bug: test/Regression/Verifier/2002-04-13-RetTypes.llChris Lattner2002-04-131-22/+47
| | | | | | | * Check that arguments match the method types of the method they live in git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2243 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor bugfix for previous checkinChris Lattner2002-04-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2241 91177308-0d34-0410-b5e6-96231b3b80d8
* * Remove obselete code for unsized arraysChris Lattner2002-04-131-20/+67
| | | | | | | | | | | | * Add new function printTypeAtLeastOneLevel used to... * Print the symbol table *WITH SYMBOLIC TYPES*. Now we get: %tree = type { int, %tree*, %tree* } in the type definition section of the disassembled output instead of %tree = type { int, \2*, \2* } the different for the health benchmark and power are simply amazing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2240 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Module::getTypeNameChris Lattner2002-04-131-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2237 91177308-0d34-0410-b5e6-96231b3b80d8
* * Clean up code to use isa & dyncast instead of poking directly into ↵Chris Lattner2002-04-131-9/+9
| | | | | | | | | | instructions * Do not print the allocation size for a non array allocation (this used to work, but was broken). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2235 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add commentChris Lattner2002-04-121-2/+6
| | | | | | | * Do not print a space before the * in a pointer type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2232 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new check of return value type matching ret instruction values typesChris Lattner2002-04-121-2/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2230 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix pure virtual function called exception!Chris Lattner2002-04-121-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2229 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FunctionArgument out of iOther.h into Argument.h and rename class toChris Lattner2002-04-093-10/+13
| | | | | | | be 'Argument' instead of FunctionArgument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2216 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FunctionArgument out of iOther.h into Argument.h and rename class toChris Lattner2002-04-091-15/+0
| | | | | | | | | be 'Argument' instead of FunctionArgument. Move implementation to Function.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2212 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FunctionArgument out of iOther.h into Argument.h and rename class toChris Lattner2002-04-091-2/+19
| | | | | | | | | be 'Argument' instead of FunctionArgument. Move Argument implementation to Function.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2211 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a couple of extra casts to avoid extra #includeChris Lattner2002-04-091-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2206 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a couple of extra casts to avoid having to add #includeChris Lattner2002-04-091-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2205 91177308-0d34-0410-b5e6-96231b3b80d8
* *blush* somehow this debugging code got checked in...Chris Lattner2002-04-091-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2187 91177308-0d34-0410-b5e6-96231b3b80d8
* s/Method/FunctionChris Lattner2002-04-082-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2180 91177308-0d34-0410-b5e6-96231b3b80d8
* * Narrow AsmWriter interfaceChris Lattner2002-04-081-37/+40
| | | | | | | * Implement Value::print methods here instead of WriteToAssembly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2179 91177308-0d34-0410-b5e6-96231b3b80d8
* ConstantHandling moved into VMCore libraryChris Lattner2002-04-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2165 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor change to reflect that ConstantHandling is now part of VMCoreChris Lattner2002-04-082-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2163 91177308-0d34-0410-b5e6-96231b3b80d8
* Move include/llvm/ValueHolderImpl.h to lib/VMCore/ValueHolderImpl.hChris Lattner2002-04-084-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2156 91177308-0d34-0410-b5e6-96231b3b80d8
* * Move include/llvm/Analysis/SlotCalculator.h to include/llvm/SlotCalculator.hChris Lattner2002-04-073-14/+15
| | | | | | | | because the slot calculator is already part of the VMCore library. * Rename incorporateMethod and purgeMethod to *Function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2154 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some gross code by using the Value::dump method to do debug dumpsChris Lattner2002-04-074-42/+46
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2150 91177308-0d34-0410-b5e6-96231b3b80d8