aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis
AgeCommit message (Collapse)Author
2004-03-29Adjust to new itfChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12534 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-25Minor efficiency improvement, finegrainify namespacificationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12517 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-17Fix a HORRIBLY NASTY bug that caused siod to stop working last night.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12479 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-16Add some missing functions. Make sure to handle calls together in case theChris Lattner
client has another VN implementation that can VN calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12427 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15Ok, the assertion was bogus. Calls that do not read/write memory should notChris Lattner
have an alias set, just like adds and subtracts don't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12422 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15This assertion is bogus now that calls do not necessarily read/write memoryChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12421 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15Implement CSE of call instructions in the most trivial case. This implementsChris Lattner
GCSE/call_cse.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12419 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15Fix a minor bug, implementing GCSE/call_pure_function.llChris Lattner
Also, add some stuff I missed before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12417 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15Don't be COMPLETELY pessimistic in the face of function callsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12413 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15Deinline some virtual methods, provide better mod/ref answers through theChris Lattner
use of the boolean queries git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12410 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15Pass through the boolean queriesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12409 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15Teach basicaa about some stdc functions.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12408 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-12Fix a couple of minor problems. Because PHI nodes can use themselves, thisChris Lattner
could cause infinite loops. Also, getUnderlyingObject can return null git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12351 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Implement mod/ref analysis for a trivial case where locals don't escape.Chris Lattner
This comes up when you have a local array on the stack and you never pass the address of elements around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12349 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Simplify code to process CallSites (thanks to Chris).Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12334 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Evaluate ModRef information in addition to regular ol' pointer analysis.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12331 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-10Fix PR284: [indvars] Induction variable analysis violates LLVM invariantsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12275 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-08Switch to using edge profiling information as the basic source of profile infoChris Lattner
from using basic block counts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12242 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08Refactor implementationsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12240 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08Import the trace class from the reoptimizerChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12236 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08If we have edge counts, we can produce block counts. I've verified thatChris Lattner
using an edge profile to produce block counts gives the exact same numbers as using a block count directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12232 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08Add initial support for reading edge counts. This will be improved to enableChris Lattner
translation of edge counts into block/function counts when possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12229 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-03-01Expand on my note-to-selfChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12029 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