aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Further fixes for PR93Chris Lattner2003-11-051-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9738 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for constant expr shiftsChris Lattner2003-11-051-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9735 91177308-0d34-0410-b5e6-96231b3b80d8
* If we're not checking, don't check!Chris Lattner2003-11-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9732 91177308-0d34-0410-b5e6-96231b3b80d8
* Make code gcc 3.4 cleanChris Lattner2003-11-054-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9719 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelloChris Lattner2003-11-042-2/+10
| | | | | | | Add negate overload git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9709 91177308-0d34-0410-b5e6-96231b3b80d8
* Checking in Chris's suggestions:John Criswell2003-11-041-3/+32
| | | | | | | | | | | Added assert() to ensure symbol table is well formed. Added code to remember the value that was found; resolving types can change the symbol table and invalidate the value of the iterator. Added comments to the ResolveTypes() function (mainly for my own benefit). Please feel free to correct the comments if they are not accurate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9693 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix InstCombine/2003-11-03-VarargsCallBug.llChris Lattner2003-11-031-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9681 91177308-0d34-0410-b5e6-96231b3b80d8
* Did I mention that I _HATE_ CPRs?Chris Lattner2003-10-311-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9639 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant pointer refs are causing these to fail unnecessarily, which is causingChris Lattner2003-10-311-0/+31
| | | | | | | a lot of code to be pessimized. I hate CPRs. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9635 91177308-0d34-0410-b5e6-96231b3b80d8
* Use already existing classes for post order iterator.Alkis Evlogimenos2003-10-311-17/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9629 91177308-0d34-0410-b5e6-96231b3b80d8
* Make use of the new AssemblyAnnotationWriter interfaceChris Lattner2003-10-301-13/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9619 91177308-0d34-0410-b5e6-96231b3b80d8
* Output types in reverse postorder. This will allow the ByteCode/ReaderAlkis Evlogimenos2003-10-301-9/+17
| | | | | | | | to create the minimum number of opaque types for each type with a cycle in its type graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9615 91177308-0d34-0410-b5e6-96231b3b80d8
* Print the names of more opaque typesChris Lattner2003-10-301-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9598 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to print opaque types names if they are available.Chris Lattner2003-10-301-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9597 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more debugging info to help tracing the SlotCalculator.Alkis Evlogimenos2003-10-291-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9575 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test: Linker/2003-10-27-LinkOncePromote.llChris Lattner2003-10-271-27/+29
| | | | | | | Fix PR58 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9530 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: instcombine/2003-10-23-InstcombineNullFail.llChris Lattner2003-10-231-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9403 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: Linker/2003-10-21-ConflictingTypesTolerance.llChris Lattner2003-10-211-13/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9357 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix message to make more sense and confuse Chris lessChris Lattner2003-10-211-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9354 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to add a type for va_next operands, which may not other wiseChris Lattner2003-10-211-2/+2
| | | | | | | occur in the module git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9336 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix problem which effected linking apacheChris Lattner2003-10-212-3/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9335 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright header.John Criswell2003-10-212-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright notice to Makefiles.John Criswell2003-10-201-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9312 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright header (for lack of a better term).John Criswell2003-10-202-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-2025-0/+175
| | | | | | | Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
* "Function"[0] == 'F', not 'M'Chris Lattner2003-10-201-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9297 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the Opcode enum for PHI nodes from "Instruction::PHINode" to ↵Chris Lattner2003-10-192-2/+2
| | | | | | "Instruction::PHI" to be more consistent with the other instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9269 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for the new varargs intrinsics and instructionsChris Lattner2003-10-183-6/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9226 91177308-0d34-0410-b5e6-96231b3b80d8
* Chris says it's better to assert that TheModule is valid than silently return 0.Misha Brukman2003-10-171-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9212 91177308-0d34-0410-b5e6-96231b3b80d8
* Return the Module that we just materialized.Misha Brukman2003-10-171-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9201 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate some extraneous code in SlotCalculator::insertVal().Alkis Evlogimenos2003-10-172-37/+35
| | | | | | | | | | Rename SlotCalculator::getValSlot() to SlotCalculator::getSlot(), SlotCalculator::insertValue() to SlotCalculator::getOrCreateSlot(), SlotCalculator::insertVal() to SlotCalculator::insertValue(), and SlotCalculator::doInsertVal() to SlotCalculator::doInsertValue(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9190 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for 'weak' linkage.Chris Lattner2003-10-162-9/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9171 91177308-0d34-0410-b5e6-96231b3b80d8
* Completely rewrite support for the Value::use_* list. Now, all operations onChris Lattner2003-10-161-37/+11
| | | | | | | | | | | | | | | | | | | | this list (except use_size()) are constant time. Before the killUse method (used whenever something stopped using a value) was linear time, and thus very very slow for large programs. This speeds GCCAS up _substantially_ on large programs: almost 2x for 176.gcc: 176.gcc: 77.07s -> 37.38s 177.mesa: 7.59s -> 5.57s 252.eon: 21.02s -> 19.52s (*) 253.perlbmk: 11.40s -> 13.05s 254.gap: 7.25s -> 7.42s 252.eon would speed up a whole lot more, but optimization time is being dominated by the inlining pass, which needs to be fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9160 91177308-0d34-0410-b5e6-96231b3b80d8
* Enabling incremental bytecode loading in the JIT:Misha Brukman2003-10-141-3/+10
| | | | | | | | * FunctionPassManager ctor now takes in a ModuleProvider * run() materializes function before running passes on it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9126 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop using "reverse depth first" orderChris Lattner2003-10-131-6/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9081 91177308-0d34-0410-b5e6-96231b3b80d8
* Speed up TypesEqual by specializing it for all of the derived types, avoidingChris Lattner2003-10-131-15/+33
| | | | | | | a lot of virtual method dispatch overhead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9078 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid creating lots of pointless opaque types, with short lifetimesChris Lattner2003-10-131-22/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9076 91177308-0d34-0410-b5e6-96231b3b80d8
* This is a header file, hear me roarChris Lattner2003-10-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9075 91177308-0d34-0410-b5e6-96231b3b80d8
* * Remove extraneous #includesChris Lattner2003-10-131-7/+9
| | | | | | | | | | | | * Fix a nasty initializer ordering bug. Any only-CFG passes which registered themselves before the CFGOnlyAnalysis vector initialized got forgotten and thus got invalidated and recomputed. In particular, in my compiled version of gccas, the Loop information pass was being recomputed unnecessarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9074 91177308-0d34-0410-b5e6-96231b3b80d8
* Regularize header file commentsChris Lattner2003-10-139-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9071 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename methodChris Lattner2003-10-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9055 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't include Config/stdio.h or <stdio.h>.Brian Gaeke2003-10-101-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9031 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling.Misha Brukman2003-10-101-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling/grammar.Misha Brukman2003-10-107-17/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9023 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a sanity check for constant expression castsChris Lattner2003-10-071-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8951 91177308-0d34-0410-b5e6-96231b3b80d8
* Users can never be nullChris Lattner2003-10-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8895 91177308-0d34-0410-b5e6-96231b3b80d8
* Be more careful handling PHI nodes, which might be of potentially high degree.Chris Lattner2003-10-051-93/+80
| | | | | | | | This reduces the time to verify a function from eon with a large number of large PHI nodes from 22996s (6.38 hours) to 10.5499s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8866 91177308-0d34-0410-b5e6-96231b3b80d8
* Type tables are now AbstractTypeUsers. This allows them to merge togetherChris Lattner2003-10-051-135/+217
| | | | | | | | | constants as necessary due to type resolution. With this change, the following spec benchmarks now link: 176.gcc, 177.mesa, 252.eon, 253.perlbmk, & 300.twolf. IOW, all SPEC INT and FP benchmarks now link. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8853 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename AbstractModuleProvider -> ModuleProvider, to match the header file name,Chris Lattner2003-10-041-3/+3
| | | | | | | | and because, while the class used by the interface is abstract, the actual concept is not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8850 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor random speedup: make Constant::getNullValue only call ConstantFOO::getChris Lattner2003-10-031-13/+45
| | | | | | | once! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8845 91177308-0d34-0410-b5e6-96231b3b80d8