aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/DataStructure
AgeCommit message (Collapse)Author
2004-04-05Support getelementptr instructions which use uint's to index into structureChris Lattner
types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12653 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14DemoteRegToStack got moved from DemoteRegToStack.h to Local.hChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12368 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Fix a tiny bug that caused an incorrect assertion failure poolallocatingChris Lattner
boxed-sim. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12358 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* toChris Lattner
Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Implement getModRefInfo() for DSA to calculate whether a function modifies orMisha Brukman
references a pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12330 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Make code more readable.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12305 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09implement new methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12264 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08Fix a bug handling globals that are constants, but are still externalChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12208 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-05Fix a minor bugChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12169 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-05Unbreak the build on Sparc.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12161 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04Fix a bug in a previous checkin that broke 175.vprChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12128 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04Add support for strto* and v*printfChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12127 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04Add non-crappy support for varargsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12126 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04Implement a FIXME, improving the efficiency of DSA on povray.Chris Lattner
This reduces CBU time from 145s -> 122s (debug build), reduces # allocated nodes from 129420 to 116477. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12125 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04Speed up the cbu pass from taking somewhere near the age of the universe to ↵Chris Lattner
about 90s on povray git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12123 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04Fix BU datastructures with povray!Chris Lattner
The problem was that we were merging a field of a node with a value that was deleted. Thanks to bugpoint for reducing povray to a nice small 3 function example. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12116 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04Minor changes, remove some debugging code that got checked in somehow.Chris Lattner
Make sure to scope the NodeMap passed into cloneInto so that it doesn't point to nodes that are deleted. Add some FIXME's for future performance enhancements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12115 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04Only clone nodes that are needed in the caller, don't clone ALL aux calls. ↵Chris Lattner
This improves povray from having ~600K nodes and 300K call nodes to 65K nodes and 25K call nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12109 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03Fix a minor bug handling incomplete programsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12105 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03Fix a DSA bug that caused DSA to generate incredibly huge graphs and take ↵Chris Lattner
forever to do it on povray. The problem is that we were not copying globals from callees to callers unless the existed in both graphs. We should have copied them in the case where the global pointed to a node that was copied as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12104 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03Deinline methods, add fast exitChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12102 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03Fix a node mapping problem that was causing the pool allocator to locally ↵Chris Lattner
allocate nodes that were globally live, thus breaking programs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12094 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-02FINALLY be able to get symbolic type names in the globals graph!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12082 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-02Really, only if reopenChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12080 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01Correctly add an array marker on a node when appropriate!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12055 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29* Remove function to find "main" in a Module, there's a method for thatMisha Brukman
* Removing extraneous empty space and empty comment lines git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12014 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-27Only clone global nodes between graphs if both graphs have the global.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11928 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-27ADD MORE FUNCTIONS!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11927 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26Be a good little compiler and handle direct calls efficiently, even if thereChris Lattner
are beastly ConstantPointerRefs in the way... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11883 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26Fix typoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11864 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26The node doesn't have to be _no_ node flags, it just has to be complete andChris Lattner
not have any globals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26Add _more_ functionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11862 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25Two changes:Chris Lattner
1. Functions do not make things incomplete, only variables 2. Constant global variables no longer need to be marked incomplete, because we are guaranteed that the initializer for the global will be in the graph we are hacking on now. This makes resolution of indirect calls happen a lot more in the bu pass, supports things like vtables and the C counterparts (giant constant arrays of function pointers), etc... Testcase here: test/Regression/Analysis/DSGraph/constant_globals.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11852 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25When building local graphs, clone the initializer for constant globals into eachChris Lattner
local graph that uses the global. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11850 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25Simplify the dead node elimination stuffChris Lattner
Make the incompleteness marker faster by looping directly over the globals instead of over the scalars to find the globals Fix a bug where we didn't mark a global incomplete if it didn't have any outgoing edges. This wouldn't break any current clients but is still wrong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11848 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25Add a bunch more functionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11847 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25Try harder to get symbol infoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11846 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25Add a bunch more functions used by perlbmkChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11824 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24Add support for 'rename'Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11813 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24Add support for remove, fwrite, and freadChris Lattner
Also fix problem where we didn't check to see if a node pointer was null. Though fclose(null) doesn't make a lot of sense, 300.twolf does it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11810 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Use isNull instead of getNode() to test for existence of a node, this is ↵Chris Lattner
cheaper. FIX MAJOR BUG, whereby we didn't merge null edges correctly. Correcting this fixes poolallocation on 175.vpr, and possibly others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11695 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21Fix an iterator invalidation problem which was causing some nodes to not beChris Lattner
correctly merged over! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11693 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21Use handy methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11692 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21Instead of cloning the globals for main into the globals graph at the end ofChris Lattner
BU propagation, clone the globals into the GG of EACH FUNCTION that finishes processing! The GlobalsGraph *must* include all globals and effects from all functions in the program. Fixing this makes pool allocation work better on 175.vpr, but it still ultimately crashes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11686 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20There is no need to merge the globals graph into the function graphs at theChris Lattner
end of the BU and CBU passes. The globals will be marked incomplete, so it doesn't matter if they are missing some info, and merging isn't guaranteed to bring everything in anyway! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11684 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Add two missing returns, which caused us to be very pessimistic about theChris Lattner
printf and scanf families! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11683 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Add support for some string functions, the scanf family, and sprintfChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11673 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-17When we complete the bottom-up pass, make sure to merge the globals in ↵Chris Lattner
'main' into the globals graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11562 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-16Only spit out warning for functions that take pointers, not for sin and the likeChris Lattner
Add more special case handling for stdio functions. I feel dirty, how about you? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11506 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-16memset and bcopy and now unified by the llvm.memset intrinsicChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11503 91177308-0d34-0410-b5e6-96231b3b80d8