Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | File depends on DSA, moved to lib/Analysis/DataStructure | Misha Brukman | 2004-06-22 | 1 | -0/+495 | |
| | | | | llvm-svn: 14325 | |||||
* | If an edge points to a field of another memory object, actually reflect this | Chris Lattner | 2004-06-22 | 1 | -0/+18 | |
| | | | | | | in the DOT visualization of the DSGraphs. llvm-svn: 14316 | |||||
* | REALLY fix PR378: crash in scalar evolution analysis | Chris Lattner | 2004-06-20 | 1 | -0/+1 | |
| | | | | llvm-svn: 14275 | |||||
* | Fix a bug in my change last night that caused a few test failures. | Chris Lattner | 2004-06-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 14270 | |||||
* | Do not sort SCEV objects by address: instead sort by complexity and group | Chris Lattner | 2004-06-20 | 1 | -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 Lattner | 2004-06-19 | 1 | -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 Lattner | 2004-06-17 | 1 | -2/+2 | |
| | | | | llvm-svn: 14201 | |||||
* | isnan is dead | Chris Lattner | 2004-06-15 | 1 | -1/+1 | |
| | | | | llvm-svn: 14191 | |||||
* | llvm.isnan doesn't access memory | Chris Lattner | 2004-06-11 | 1 | -1/+1 | |
| | | | | llvm-svn: 14151 | |||||
* | Don't grab the condition of unconditional branches! | Chris Lattner | 2004-06-08 | 1 | -7/+8 | |
| | | | | | | This fixes PR363 llvm-svn: 14076 | |||||
* | Add some notes so I can throw away one of my many todo lists. | Chris Lattner | 2004-06-05 | 1 | -0/+6 | |
| | | | | llvm-svn: 14046 | |||||
* | Don't send random junk to CachedWriter's. Also remove a cast that could be | Chris Lattner | 2004-06-04 | 1 | -4/+6 | |
| | | | | | | problematic when Type does not derive from Value. llvm-svn: 14022 | |||||
* | Minor efficiency gain: do 1 nlogn lookup instead of two | Chris Lattner | 2004-05-28 | 1 | -7/+4 | |
| | | | | | | Code cleanup llvm-svn: 13875 | |||||
* | Fix warnings about reaching end of non-void function | Chris Lattner | 2004-05-27 | 1 | -0/+2 | |
| | | | | llvm-svn: 13852 | |||||
* | Recognize memalign and friends, and handle them specially. | Vikram S. Adve | 2004-05-25 | 1 | -1/+2 | |
| | | | | llvm-svn: 13741 | |||||
* | Changes to work with the changes to the AliasAnalysis interface. The -no-aa | Chris Lattner | 2004-05-23 | 1 | -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 these | Chris Lattner | 2004-05-23 | 1 | -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 changes | Chris Lattner | 2004-05-23 | 1 | -9/+3 | |
| | | | | llvm-svn: 13682 | |||||
* | Fix a really nasty bug with the -disable-ds-field-sensitivity option | Chris Lattner | 2004-05-23 | 1 | -0/+3 | |
| | | | | llvm-svn: 13681 | |||||
* | Update to match the autochaining interface that the AA interface uses | Chris Lattner | 2004-05-23 | 1 | -6/+1 | |
| | | | | llvm-svn: 13680 | |||||
* | Implement the interfaces to update value numbering information. Add an | Chris Lattner | 2004-05-23 | 1 | -2/+24 | |
| | | | | | | assert. llvm-svn: 13679 | |||||
* | Rename a method | Chris Lattner | 2004-05-23 | 1 | -2/+2 | |
| | | | | llvm-svn: 13676 | |||||
* | Add a simple implementation of Andersen's interprocedural pointer analysis | Chris Lattner | 2004-05-23 | 1 | -0/+1029 | |
| | | | | llvm-svn: 13666 | |||||
* | Inline both direct and indirect callees in the CBU phase because | Vikram S. Adve | 2004-05-23 | 1 | -34/+34 | |
| | | | | | | a direct callee may have indirect callees and so may have changed. llvm-svn: 13649 | |||||
* | Fine grainify namespacification | Chris Lattner | 2004-05-09 | 1 | -4/+1 | |
| | | | | llvm-svn: 13436 | |||||
* | Move the stuff that fixes the size, orientation & fonts of graphs to | Brian Gaeke | 2004-05-05 | 2 | -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 Gaeke | 2004-05-04 | 1 | -0/+16 | |
| | | | | llvm-svn: 13352 | |||||
* | Share ProfilingType enum with the C profiling runtime libraries. | Brian Gaeke | 2004-05-04 | 1 | -7/+1 | |
| | | | | llvm-svn: 13346 | |||||
* | Fix a problem with double freeing memory. For some reason, CallGraph is not | Chris Lattner | 2004-05-02 | 1 | -0/+1 | |
| | | | | | | acting like a normal pass. :( llvm-svn: 13318 | |||||
* | Plug a minor memory leak | Chris Lattner | 2004-05-02 | 1 | -0/+1 | |
| | | | | llvm-svn: 13317 | |||||
* | Wrapped code and comments at 80 cols; doxygenified some comments. | Misha Brukman | 2004-04-29 | 2 | -18/+20 | |
| | | | | llvm-svn: 13264 | |||||
* | Reorder #includes as per style guide. | Misha Brukman | 2004-04-29 | 1 | -3/+3 | |
| | | | | llvm-svn: 13263 | |||||
* | Send text and numbers directly to CachedWriter's contained ostream. | Misha Brukman | 2004-04-28 | 1 | -1/+2 | |
| | | | | llvm-svn: 13243 | |||||
* | Changes to fix up the inst_iterator to pass to boost iterator checks. This | Chris Lattner | 2004-04-27 | 5 | -17/+17 | |
| | | | | | | patch was graciously contributed by Vladimir Prus. llvm-svn: 13185 | |||||
* | Add functions that return instances of these printer passes | Brian Gaeke | 2004-04-26 | 1 | -0/+10 | |
| | | | | llvm-svn: 13175 | |||||
* | If an object is not in the scalar map then it must be a global from another | Chris Lattner | 2004-04-26 | 1 | -33/+33 | |
| | | | | | | graph. llvm-svn: 13173 | |||||
* | Eliminate all of the SCEV Expansion code which is really part of the | Chris Lattner | 2004-04-23 | 1 | -213/+9 | |
| | | | | | | IndVars pass, not part of SCEV *analysis*. llvm-svn: 13134 | |||||
* | Pass the callgraph not the module | Chris Lattner | 2004-04-20 | 1 | -2/+2 | |
| | | | | llvm-svn: 13087 | |||||
* | Add the ability for SCC passes to initialize and finalize themselves | Chris Lattner | 2004-04-20 | 1 | -6/+3 | |
| | | | | llvm-svn: 13084 | |||||
* | It's not just a printer, it's actually an analysis too | Chris Lattner | 2004-04-19 | 1 | -1/+1 | |
| | | | | llvm-svn: 13064 | |||||
* | Remove code to update loop depths | Chris Lattner | 2004-04-19 | 1 | -10/+1 | |
| | | | | llvm-svn: 13058 | |||||
* | Add new method | Chris Lattner | 2004-04-18 | 1 | -0/+8 | |
| | | | | llvm-svn: 13050 | |||||
* | Fix computation of exit blocks | Chris Lattner | 2004-04-18 | 1 | -2/+2 | |
| | | | | llvm-svn: 13047 | |||||
* | Change the ExitBlocks list from being explicitly contained in the Loop | Chris Lattner | 2004-04-18 | 2 | -46/+20 | |
| | | | | | | | structure to being dynamically computed on demand. This makes updating loop information MUCH easier. llvm-svn: 13045 | |||||
* | Implement method | Chris Lattner | 2004-04-18 | 1 | -0/+12 | |
| | | | | llvm-svn: 13036 | |||||
* | Add a new method, add a check missing that caused a segfault if a loop didn't | Chris Lattner | 2004-04-18 | 1 | -0/+14 | |
| | | | | | | have a canonical indvar llvm-svn: 13032 | |||||
* | Add the ability to compute exit values for complex loop using unanalyzable | Chris Lattner | 2004-04-17 | 1 | -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 constants | Chris Lattner | 2004-04-17 | 1 | -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 on | Brian Gaeke | 2004-04-16 | 1 | -0/+1 | |
| | | | | | | Debian.) llvm-svn: 12986 | |||||
* | add some helpful methods. Rearrange #includes to proper order | Chris Lattner | 2004-04-15 | 1 | -6/+89 | |
| | | | | llvm-svn: 12960 |