summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
...
* File depends on DSA, moved to lib/Analysis/DataStructureMisha Brukman2004-06-221-0/+495
| | | | llvm-svn: 14325
* If an edge points to a field of another memory object, actually reflect thisChris Lattner2004-06-221-0/+18
| | | | | | in the DOT visualization of the DSGraphs. llvm-svn: 14316
* REALLY fix PR378: crash in scalar evolution analysisChris Lattner2004-06-201-0/+1
| | | | llvm-svn: 14275
* Fix a bug in my change last night that caused a few test failures.Chris Lattner2004-06-201-1/+1
| | | | llvm-svn: 14270
* Do not sort SCEV objects by address: instead sort by complexity and groupChris Lattner2004-06-201-18/+60
| | | | | | | by address. This prevents the resultant SCEV objects from depending on where in memory other scev objects happen to live. llvm-svn: 14263
* Fix a tiny bug in the -no-aa pass, in which it did not ever get a target data.Chris Lattner2004-06-191-9/+8
| | | | | | This is a regression from 1.2, though noone uses -no-aa anyway llvm-svn: 14245
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-2/+2
| | | | llvm-svn: 14201
* isnan is deadChris Lattner2004-06-151-1/+1
| | | | llvm-svn: 14191
* llvm.isnan doesn't access memoryChris Lattner2004-06-111-1/+1
| | | | llvm-svn: 14151
* Don't grab the condition of unconditional branches!Chris Lattner2004-06-081-7/+8
| | | | | | This fixes PR363 llvm-svn: 14076
* Add some notes so I can throw away one of my many todo lists.Chris Lattner2004-06-051-0/+6
| | | | llvm-svn: 14046
* Don't send random junk to CachedWriter's. Also remove a cast that could beChris Lattner2004-06-041-4/+6
| | | | | | problematic when Type does not derive from Value. llvm-svn: 14022
* Minor efficiency gain: do 1 nlogn lookup instead of twoChris Lattner2004-05-281-7/+4
| | | | | | Code cleanup llvm-svn: 13875
* Fix warnings about reaching end of non-void functionChris Lattner2004-05-271-0/+2
| | | | llvm-svn: 13852
* Recognize memalign and friends, and handle them specially.Vikram S. Adve2004-05-251-1/+2
| | | | llvm-svn: 13741
* Changes to work with the changes to the AliasAnalysis interface. The -no-aaChris Lattner2004-05-231-28/+67
| | | | | | class is now in the BasicAliasAnalysis.cpp file llvm-svn: 13684
* Move the -no-aa AA implementation into this file since both of theseChris Lattner2004-05-231-8/+46
| | | | | | | alias analysis implementations are special: they do not autoforward to a chained implementation of alias analysis llvm-svn: 13683
* Updates to work with the new auto-forwarding AA interface changesChris Lattner2004-05-231-9/+3
| | | | llvm-svn: 13682
* Fix a really nasty bug with the -disable-ds-field-sensitivity optionChris Lattner2004-05-231-0/+3
| | | | llvm-svn: 13681
* Update to match the autochaining interface that the AA interface usesChris Lattner2004-05-231-6/+1
| | | | llvm-svn: 13680
* Implement the interfaces to update value numbering information. Add anChris Lattner2004-05-231-2/+24
| | | | | | assert. llvm-svn: 13679
* Rename a methodChris Lattner2004-05-231-2/+2
| | | | llvm-svn: 13676
* Add a simple implementation of Andersen's interprocedural pointer analysisChris Lattner2004-05-231-0/+1029
| | | | llvm-svn: 13666
* Inline both direct and indirect callees in the CBU phase becauseVikram S. Adve2004-05-231-34/+34
| | | | | | a direct callee may have indirect callees and so may have changed. llvm-svn: 13649
* Fine grainify namespacificationChris Lattner2004-05-091-4/+1
| | | | llvm-svn: 13436
* Move the stuff that fixes the size, orientation & fonts of graphs toBrian Gaeke2004-05-052-12/+4
| | | | | | | | | | | the debugging functions that call "dot". These fixed settings have various problems: for example, the fixed size that is set in the graph traits classes is not appropriate for turning the dot file into a PNG, and if TrueType font rendering is being used, the 'Courier' TrueType font may not be installed. It seems easy enough to specify these things on the command line, anyhow. llvm-svn: 13366
* Add stub support for reading BBTraces.Brian Gaeke2004-05-041-0/+16
| | | | llvm-svn: 13352
* Share ProfilingType enum with the C profiling runtime libraries.Brian Gaeke2004-05-041-7/+1
| | | | llvm-svn: 13346
* Fix a problem with double freeing memory. For some reason, CallGraph is notChris Lattner2004-05-021-0/+1
| | | | | | acting like a normal pass. :( llvm-svn: 13318
* Plug a minor memory leakChris Lattner2004-05-021-0/+1
| | | | llvm-svn: 13317
* Wrapped code and comments at 80 cols; doxygenified some comments.Misha Brukman2004-04-292-18/+20
| | | | llvm-svn: 13264
* Reorder #includes as per style guide.Misha Brukman2004-04-291-3/+3
| | | | llvm-svn: 13263
* Send text and numbers directly to CachedWriter's contained ostream.Misha Brukman2004-04-281-1/+2
| | | | llvm-svn: 13243
* Changes to fix up the inst_iterator to pass to boost iterator checks. ThisChris Lattner2004-04-275-17/+17
| | | | | | patch was graciously contributed by Vladimir Prus. llvm-svn: 13185
* Add functions that return instances of these printer passesBrian Gaeke2004-04-261-0/+10
| | | | llvm-svn: 13175
* If an object is not in the scalar map then it must be a global from anotherChris Lattner2004-04-261-33/+33
| | | | | | graph. llvm-svn: 13173
* Eliminate all of the SCEV Expansion code which is really part of theChris Lattner2004-04-231-213/+9
| | | | | | IndVars pass, not part of SCEV *analysis*. llvm-svn: 13134
* Pass the callgraph not the moduleChris Lattner2004-04-201-2/+2
| | | | llvm-svn: 13087
* Add the ability for SCC passes to initialize and finalize themselvesChris Lattner2004-04-201-6/+3
| | | | llvm-svn: 13084
* It's not just a printer, it's actually an analysis tooChris Lattner2004-04-191-1/+1
| | | | llvm-svn: 13064
* Remove code to update loop depthsChris Lattner2004-04-191-10/+1
| | | | llvm-svn: 13058
* Add new methodChris Lattner2004-04-181-0/+8
| | | | llvm-svn: 13050
* Fix computation of exit blocksChris Lattner2004-04-181-2/+2
| | | | llvm-svn: 13047
* Change the ExitBlocks list from being explicitly contained in the LoopChris Lattner2004-04-182-46/+20
| | | | | | | structure to being dynamically computed on demand. This makes updating loop information MUCH easier. llvm-svn: 13045
* Implement methodChris Lattner2004-04-181-0/+12
| | | | llvm-svn: 13036
* Add a new method, add a check missing that caused a segfault if a loop didn'tChris Lattner2004-04-181-0/+14
| | | | | | have a canonical indvar llvm-svn: 13032
* Add the ability to compute exit values for complex loop using unanalyzableChris Lattner2004-04-171-52/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | operations. This allows us to compile this testcase: int main() { int h = 1; do h = 3 * h + 1; while (h <= 256); printf("%d\n", h); return 0; } into this: int %main() { entry: call void %__main( ) %tmp.6 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([4 x sbyte]* %.str_1, long 0, long 0), int 364 ) ; <int> [#uses=0] ret int 0 } This testcase was taken directly from 256.bzip2, believe it or not. This code is not as general as I would like. Next up is to refactor it a bit to handle more cases. llvm-svn: 13019
* Add the ability to compute trip counts that are only controlled by constantsChris Lattner2004-04-171-5/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | even if the loop is using expressions that we can't compute as a closed-form. This allows us to calculate that this function always returns 55: int test() { double X; int Count = 0; for (X = 100; X > 1; X = sqrt(X), ++Count) /*empty*/; return Count; } And allows us to compute trip counts for loops like: int h = 1; do h = 3 * h + 1; while (h <= 256); (which occurs in bzip2), and for this function, which occurs after inlining and other optimizations: int popcount() { int x = 666; int result = 0; while (x != 0) { result = result + (x & 0x1); x = x >> 1; } return result; } We still cannot compute the exit values of result or h in the two loops above, which means we cannot delete the loop, but we are getting closer. Being able to compute a constant trip count for these two loops will allow us to unroll them completely though. llvm-svn: 13017
* Include <cmath> for compatibility with gcc 3.0.x (the system compiler onBrian Gaeke2004-04-161-0/+1
| | | | | | Debian.) llvm-svn: 12986
* add some helpful methods. Rearrange #includes to proper orderChris Lattner2004-04-151-6/+89
| | | | llvm-svn: 12960
OpenPOWER on IntegriCloud