Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix PR681 by using the standard Lengauer and Tarjan algorithm for dominator | Nate Begeman | 2006-03-11 | 1 | -142/+191 |
| | | | | | | | | | | set construction, rather than intersecting various std::sets. This reduces the memory usage for the testcase in PR681 from 496 to 26MB of ram on my darwin system, and reduces the runtime from 32.8 to 0.8 seconds on a 2.5GHz G5. This also enables future code sharing between Dom and PostDom now that they share near-identical implementations. llvm-svn: 26707 | ||||
* | Use autogenerated mod/ref info for intrinsics. | Chris Lattner | 2006-03-09 | 1 | -22/+26 |
| | | | | llvm-svn: 26670 | ||||
* | Fix a crash compiling Obsequi | Chris Lattner | 2006-03-04 | 1 | -5/+12 |
| | | | | llvm-svn: 26529 | ||||
* | Be more conservative with our symbolic alias analysis. In particular, | Chris Lattner | 2006-03-04 | 1 | -6/+35 |
| | | | | | | | | | | don't assume that A[1][0] and A[0][i] can't alias. "i" might be out of range, or even negative. This fixes a miscompilation of 188.ammp (which does bad pointer tricks) with the new CFE. Testcase here: Analysis/BasicAA/2006-03-03-BadArraySubscript.ll llvm-svn: 26515 | ||||
* | updates for recent changes | Chris Lattner | 2006-03-03 | 1 | -2/+4 |
| | | | | llvm-svn: 26481 | ||||
* | Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving | Chris Lattner | 2006-03-03 | 1 | -3/+6 |
| | | | | | | PR709, and paving the way for future progress. llvm-svn: 26476 | ||||
* | add an assert | Chris Lattner | 2006-02-14 | 1 | -1/+2 |
| | | | | llvm-svn: 26178 | ||||
* | Pull the InsertCastOfTo out of the header, implement CSE'ing of arguments. | Chris Lattner | 2006-02-04 | 1 | -0/+51 |
| | | | | llvm-svn: 25973 | ||||
* | Value# select instructions, allowing -gcse to remove duplicates | Chris Lattner | 2006-02-04 | 1 | -1/+36 |
| | | | | llvm-svn: 25969 | ||||
* | Add explicit iostream #includes | Chris Lattner | 2006-01-22 | 9 | -1/+9 |
| | | | | llvm-svn: 25513 | ||||
* | Add explicit #includes of <iostream> | Chris Lattner | 2006-01-22 | 2 | -0/+2 |
| | | | | llvm-svn: 25509 | ||||
* | For PR411: | Reid Spencer | 2006-01-16 | 1 | -7/+18 |
| | | | | | | | | | | | | | | | | This patch is an incremental step towards supporting a flat symbol table. It de-overloads the intrinsic functions by providing type-specific intrinsics and arranging for automatically upgrading from the old overloaded name to the new non-overloaded name. Specifically: llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64 llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64 llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64 llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64 llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64 New code should not use the overloaded intrinsic names. Warnings will be emitted if they are used. llvm-svn: 25366 | ||||
* | Change ET-Forest to automatically recalculate its DFSnum's if too many slow | Chris Lattner | 2006-01-14 | 1 | -2/+2 |
| | | | | | | | | queries are made. Patch by Daniel Berlin! llvm-svn: 25323 | ||||
* | Add a new CallGraph::getOrInsertFunction for clients to use when updating | Chris Lattner | 2006-01-14 | 1 | -16/+19 |
| | | | | | | the callgraph. llvm-svn: 25317 | ||||
* | add a dump method to CallGraph | Chris Lattner | 2006-01-14 | 1 | -0/+4 |
| | | | | llvm-svn: 25314 | ||||
* | Add bswap intrinsics as documented in the Language Reference | Nate Begeman | 2006-01-14 | 2 | -1/+17 |
| | | | | llvm-svn: 25309 | ||||
* | Switch loopinfo to using ETForest instead of DominatorSet to compute itself. | Chris Lattner | 2006-01-11 | 1 | -9/+9 |
| | | | | | | Patch by Daniel Berlin! llvm-svn: 25199 | ||||
* | Remove unused inclusion of SymbolTable.h | Reid Spencer | 2006-01-10 | 1 | -1/+0 |
| | | | | llvm-svn: 25170 | ||||
* | Fix a problem exposed by the et-forest work. Load-vn needs these passes live | Chris Lattner | 2006-01-08 | 1 | -3/+3 |
| | | | | | | whenever it is live, not just when load-vn is computed initially llvm-svn: 25146 | ||||
* | Initial implementation of the ET-Forest data structure for dominators and | Chris Lattner | 2006-01-08 | 1 | -0/+63 |
| | | | | | | post-dominators. This code was written/adapted by Daniel Berlin! llvm-svn: 25144 | ||||
* | Make the -print-alias-sets pass work for printing out something other than | Chris Lattner | 2006-01-03 | 1 | -11/+3 |
| | | | | | | the default aa impl results. llvm-svn: 25062 | ||||
* | Separate the call graph implementation from its interface. This implements | Chris Lattner | 2005-12-22 | 1 | -105/+178 |
| | | | | | | | | | the rough idea sketched out in http://nondot.org/sabre/LLVMNotes/CallGraphClass.txt, allowing new spiffy implementations of the callgraph interface to be built. Many thanks to Saem Ghani for contributing this! llvm-svn: 24944 | ||||
* | Prefix DSA specific options with dsa. | John Criswell | 2005-12-19 | 1 | -4/+4 |
| | | | | | | Make the dsa-alloc-list and dsa-free-list options hidden. llvm-svn: 24864 | ||||
* | Added an option to specify the names of heap freeing functions. | John Criswell | 2005-12-19 | 1 | -0/+20 |
| | | | | llvm-svn: 24863 | ||||
* | Added a command line option that allows the user to specify a list of | John Criswell | 2005-12-19 | 1 | -0/+19 |
| | | | | | | functions that allocate memory. llvm-svn: 24862 | ||||
* | Collapsing node if variable length struct with final field of length zero | Sumant Kowshik | 2005-12-06 | 1 | -1/+18 |
| | | | | llvm-svn: 24621 | ||||
* | post-dom-frontiers requires proper post-dominance | Chris Lattner | 2005-11-18 | 1 | -1/+1 |
| | | | | llvm-svn: 24409 | ||||
* | prevent cse of readcyclecounter | Andrew Lenharth | 2005-11-11 | 1 | -1/+0 |
| | | | | llvm-svn: 24303 | ||||
* | continued readcyclecounter support | Andrew Lenharth | 2005-11-11 | 1 | -0/+1 |
| | | | | llvm-svn: 24300 | ||||
* | Fix a problem that Nate noticed with LSR: | Chris Lattner | 2005-10-30 | 1 | -1/+26 |
| | | | | | | | | | | | | | | | | | | | | When inserting code for an addrec expression with a non-unit stride, be more careful where we insert the multiply. In particular, insert the multiply in the outermost loop we can, instead of the requested insertion point. This allows LSR to notice the mul in the right loop, reducing it when it gets to it. This allows it to reduce the multiply, where before it missed it. This happens quite a bit in the test suite, for example, eliminating 2 multiplies in art, 3 in ammp, 4 in apsi, reducing from 1050 multiplies to 910 muls in galgel (!), from 877 to 859 in applu, and 36 to 30 in bzip2. This speeds up galgel from 16.45s to 16.01s, applu from 14.21 to 13.94s and fourinarow from 66.67s to 63.48s. This implements Transforms/LoopStrengthReduce/nested-reduce.ll llvm-svn: 24102 | ||||
* | remove a dead file | Chris Lattner | 2005-10-29 | 1 | -355/+0 |
| | | | | llvm-svn: 24085 | ||||
* | Move some constant folding functions into LLVMAnalysis since they are used | John Criswell | 2005-10-27 | 1 | -0/+172 |
| | | | | | | by Analysis and Transformation passes. llvm-svn: 24038 | ||||
* | Move some constant folding code shared by Analysis and Transform passes | John Criswell | 2005-10-27 | 1 | -1/+1 |
| | | | | | | | | into the LLVMAnalysis library. This allows LLVMTranform and LLVMTransformUtils to be archives and linked with LLVMAnalysis.a, which provides any missing definitions. llvm-svn: 24036 | ||||
* | Remove this pass, it is not useful | Chris Lattner | 2005-10-24 | 1 | -106/+0 |
| | | | | llvm-svn: 23949 | ||||
* | DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now | Chris Lattner | 2005-10-24 | 2 | -3/+1 |
| | | | | llvm-svn: 23940 | ||||
* | Only build .a file versions of these libraries, instead of .a and .o versions. | Chris Lattner | 2005-10-24 | 2 | -0/+2 |
| | | | | | | This should speed up build times. llvm-svn: 23933 | ||||
* | don't bother building the archive version of this library | Chris Lattner | 2005-10-24 | 1 | -1/+1 |
| | | | | llvm-svn: 23927 | ||||
* | expose a ctor | Chris Lattner | 2005-10-24 | 1 | -0/+3 |
| | | | | llvm-svn: 23924 | ||||
* | implement some prototypes | Chris Lattner | 2005-10-24 | 2 | -0/+10 |
| | | | | llvm-svn: 23920 | ||||
* | move this to the analyze tool | Chris Lattner | 2005-10-24 | 1 | -105/+0 |
| | | | | llvm-svn: 23918 | ||||
* | wrap a long line | Chris Lattner | 2005-09-28 | 1 | -1/+2 |
| | | | | llvm-svn: 23507 | ||||
* | Add a new getLoopLatch() method. | Chris Lattner | 2005-09-12 | 1 | -1/+25 |
| | | | | llvm-svn: 23315 | ||||
* | floor/ceil don't read/write memory. This allows gcse to eliminate 6 calls | Chris Lattner | 2005-08-24 | 1 | -0/+2 |
| | | | | | | in mesa. llvm-svn: 23015 | ||||
* | Fix Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll | Chris Lattner | 2005-08-16 | 1 | -2/+3 |
| | | | | llvm-svn: 22797 | ||||
* | Teach LLVM to know how many times a loop executes when constructed with | Chris Lattner | 2005-08-15 | 1 | -2/+110 |
| | | | | | | a < expression, e.g.: for (i = m; i < n; ++i) llvm-svn: 22793 | ||||
* | Fix an obvious oops | Chris Lattner | 2005-08-10 | 1 | -1/+1 |
| | | | | llvm-svn: 22742 | ||||
* | implement two helper methods | Chris Lattner | 2005-08-09 | 1 | -0/+28 |
| | | | | llvm-svn: 22736 | ||||
* | * Unbreak optimized build (noticed by Eric van Riet Paap) | Misha Brukman | 2005-08-04 | 1 | -3/+5 |
| | | | | | | * Comment #endif clauses for readability llvm-svn: 22646 | ||||
* | add support for Graphviz when viewing CFGs | Chris Lattner | 2005-08-03 | 1 | -0/+20 |
| | | | | llvm-svn: 22620 | ||||
* | Break SCEVExpander out of IndVarSimplify into its own .h/.cpp file so that | Nate Begeman | 2005-07-30 | 1 | -0/+105 |
| | | | | | | other passes may use it. llvm-svn: 22557 |