summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
...
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-065-84/+101
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-065-90/+75
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-055-75/+90
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* remove the private hack from CallInst, it was not supposed to hit the branch ↵Gabor Greif2010-08-051-1/+1
| | | | | | | | | anyway as a positive consequence the CallSite::getCallee() methods now can be rewritten to be a bit more efficient llvm-svn: 110380
* Eliminate unnecessary empty string literals.Dan Gohman2010-08-041-1/+1
| | | | llvm-svn: 110183
* Fix visitInvokeInst to call visitTerminatorInst, and removeDan Gohman2010-08-021-4/+1
| | | | | | a redundant check from checkInstruction. llvm-svn: 110076
* Add Verifier logic for indirectbr.Dan Gohman2010-08-021-0/+11
| | | | llvm-svn: 110075
* Prefix `next' iterator operation with `llvm::'.Oscar Fuentes2010-08-022-3/+3
| | | | | | | | Fixes potential ambiguity problems on VS 2010. Patch by nobled! llvm-svn: 110029
* Preallocate vector, avoid unnecessary vector growth.Benjamin Kramer2010-08-011-0/+1
| | | | llvm-svn: 109971
* Make GlobalValue alignment consistent with load, store, and allocaDan Gohman2010-07-281-1/+8
| | | | | | alignment, fixing silent truncation of alignment values. llvm-svn: 109653
* Define a maximum supported alignment value for load, store, andDan Gohman2010-07-281-0/+8
| | | | | | | | | alloca instructions (constrained by their internal encoding), and add error checking for it. Fix an instcombine bug which generated huge alignment values (null is infinitely aligned). This fixes undefined behavior noticed by John Regehr. llvm-svn: 109643
* After updating value handles for RAUW, check that no weak or tracking handlesDuncan Sands2010-07-271-1/+19
| | | | | | | | are still on the list. This might happen if a CallbackVH created some new value handles for the old value when doing RAUW. Barf if it occurs, since it is almost certainly a mistake. llvm-svn: 109495
* Fix (at least) quadratic worst-case complexity in DominanceFrontier::splitBlock:Dan Gohman2010-07-261-52/+64
| | | | | | | | | | | | | | don't visit all blocks in the function, and don't iterate over the split blocks' predecessor lists for each block visited. Also, remove the special-case test for the entry block. Splitting the entry block isn't common enough to make this worthwhile. This fixes a major compile-time bottleneck which is exposed now that LoopSimplify isn't being redundantly run both before and after DominanceFrontier. llvm-svn: 109408
* Avoid copying and recopying a std::set.Dan Gohman2010-07-261-6/+2
| | | | llvm-svn: 109405
* Exit a search loop when the search goal is found.Dan Gohman2010-07-261-1/+3
| | | | llvm-svn: 109404
* Fix formatting.Dan Gohman2010-07-261-2/+2
| | | | llvm-svn: 109403
* Reduce string trashing.Benjamin Kramer2010-07-251-1/+1
| | | | llvm-svn: 109386
* PR7704: A function is not allowed to return a function; make sure to enforceEli Friedman2010-07-241-2/+2
| | | | | | this consistently. llvm-svn: 109360
* Clarify that if a new value handle is added while dropping value handlesDuncan Sands2010-07-241-4/+9
| | | | | | | hanging off a value, then the dropping code will intentionally not drop it too (since this is almost certainly a bug). llvm-svn: 109337
* undo 80 column trespassing I causedGabor Greif2010-07-221-1/+2
| | | | llvm-svn: 109092
* Make NamedMDNode not be a subclass of Value, and simplify the interfaceDan Gohman2010-07-216-77/+28
| | | | | | for creating and populating NamedMDNodes. llvm-svn: 109061
* Fix batch of converting RegisterPass<> to INTIALIZE_PASS().Owen Anderson2010-07-212-8/+8
| | | | llvm-svn: 109045
* NamedMDNode is never an operand.Dan Gohman2010-07-211-1/+1
| | | | llvm-svn: 109031
* Disallow null as a named metadata operand.Dan Gohman2010-07-212-9/+4
| | | | | | | | | | | Make MDNode::destroy private. Fix the one thing that used MDNode::destroy, outside of MDNode itself. One should never delete or destroy an MDNode explicitly. MDNodes implicitly go away when there are no references to them (implementation details aside). llvm-svn: 109028
* Use TrackingVH instead of WeakVH for NamedMDNode's operands, since nodesDan Gohman2010-07-211-7/+7
| | | | | | referenced by NamedMDNodes shouldn't be deleted. llvm-svn: 109021
* Tidy.Dan Gohman2010-07-211-4/+1
| | | | llvm-svn: 109020
* Move the smarts of AnalysisGroup registration into PassRegistry.Owen Anderson2010-07-212-37/+36
| | | | llvm-svn: 109019
* Give MDNode printing has access to the current Module in moreDan Gohman2010-07-201-39/+62
| | | | | | | cases. This will be needed when function-local metadata can appear in places that aren't intrinsic function arguments. llvm-svn: 108971
* Move the handling of PassRegistrationListener's to PassRegistry.Owen Anderson2010-07-202-37/+28
| | | | llvm-svn: 108966
* Rename removeAllMetadata to clearMetadataHashEntries and simplifyDan Gohman2010-07-202-10/+8
| | | | | | | it to just do the things that need to be done when an instruction is deleted. llvm-svn: 108948
* Add support for remapping metadata kind IDs when reading in aDan Gohman2010-07-201-8/+5
| | | | | | | | | | | | | bitcode file, so that two bitcode files where the same metadata kind name happens to have been assigned a different ID can still be linked together. Eliminate the restriction that metadata kind IDs can't be 0. Change MD_dbg from 1 to 0, because we can now, and because it's less mysterious that way. llvm-svn: 108939
* Move more functionality from Pass.cpp to PassRegistry.cpp. This global will ↵Owen Anderson2010-07-202-48/+49
| | | | | | go away eventually, but for now we still need it around. llvm-svn: 108932
* Remove setDbgMetadata and getDbgMetadata; their users have beenDan Gohman2010-07-201-4/+0
| | | | | | replaced with setDebugLoc and getDebugLoc. llvm-svn: 108914
* I just fail with SVN today.Owen Anderson2010-07-201-0/+72
| | | | llvm-svn: 108888
* Convert the internal PassRegistrar class into a new, external PassRegistry ↵Owen Anderson2010-07-202-99/+21
| | | | | | class. No intended functionality change at this point. llvm-svn: 108877
* Pull out r108755. After offline discussion with Chris, we're going to go a ↵Owen Anderson2010-07-201-17/+10
| | | | | | different direction with this. llvm-svn: 108856
* Speculatively revert r108813, in an attempt to get the self-host buildbots ↵Owen Anderson2010-07-202-32/+29
| | | | | | | | working again. I don't see why this patch would cause them to fail the way they are, but none of the other intervening patches seem likely either. llvm-svn: 108818
* Reapply r108794, a fix for the failing test from last time.Owen Anderson2010-07-202-29/+32
| | | | llvm-svn: 108813
* Revert r108794, "Separate PassInfo into two classes: a constructor-freeDaniel Dunbar2010-07-202-32/+29
| | | | | | | superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is breaking teh everything. llvm-svn: 108805
* Separate PassInfo into two classes: a constructor-free superclass ↵Owen Anderson2010-07-202-29/+32
| | | | | | (StaticPassInfo) and a constructor-ful subclass (PassInfo). llvm-svn: 108794
* Change the implemented interfaces list on PassInfo from a std::vector to a ↵Owen Anderson2010-07-191-10/+17
| | | | | | | | | manually implemented linked list. This is a little slower and involves more malloc'ing, but these lists are typically short, and it allows PassInfo to be entirely constant initializable. llvm-svn: 108755
* Expose BasicBlock::moveBefore and moveAfter in C API, patchDuncan Sands2010-07-191-0/+8
| | | | | | by Benjamin Saunders. llvm-svn: 108699
* precompute 20 tagsGabor Greif2010-07-191-3/+9
| | | | llvm-svn: 108695
* fullStopTag cannot happen here, it is handled aboveGabor Greif2010-07-171-3/+1
| | | | llvm-svn: 108631
* Fix PR7658, a problem where type refinement can triggerChris Lattner2010-07-172-26/+27
| | | | | | | | constant replacement which was botching its handling of types. Use of getType() instead of getRawType() was causing the type map in constant folding to be updated wrong. llvm-svn: 108610
* tidy upChris Lattner2010-07-162-77/+88
| | | | llvm-svn: 108560
* eliminate unlockedRefineAbstractTypeTo, types are all per-llvmcontext,Chris Lattner2010-07-162-13/+4
| | | | | | so there is no locking involved in type refinement. llvm-svn: 108553
* get the first few tags from a precomputed table (count can be increased if ↵Gabor Greif2010-07-161-0/+9
| | | | | | desired) llvm-svn: 108549
* eliminate CallInst::ArgOffsetGabor Greif2010-07-161-12/+10
| | | | llvm-svn: 108522
* LoopSimplify does not update domfrontier correctly.Tobias Grosser2010-07-161-2/+2
| | | | | | This fixes PR7649. llvm-svn: 108513
OpenPOWER on IntegriCloud