| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | fix PR8063, a crash in globalopt in the malloc analysis code. | Chris Lattner | 2010-09-05 | 1 | -20/+29 |
| | | | | | llvm-svn: 113109 | ||||
| * | dead method. | Chris Lattner | 2010-09-04 | 1 | -1/+0 |
| | | | | | llvm-svn: 113077 | ||||
| * | zap dead code. | Chris Lattner | 2010-09-04 | 4 | -29/+0 |
| | | | | | llvm-svn: 113073 | ||||
| * | Disable the asserts that check that normalization is perfectly | Dan Gohman | 2010-09-03 | 1 | -2/+7 |
| | | | | | | | | | | invertible. ScalarEvolution's folding routines don't always succeed in canonicalizing equal expressions to a single canonical form, and this can cause these asserts to fail, even though there's no actual correctness problem. This fixes PR8066. llvm-svn: 113021 | ||||
| * | Add support for simplifying a load from a computed value to a load from a ↵ | Owen Anderson | 2010-09-03 | 1 | -2/+11 |
| | | | | | | | | | global when it is provable that they're equivalent. This fixes PR4855. llvm-svn: 112994 | ||||
| * | stop forcing a noop AssemblyAnnotationWriter to silence #uses | Chris Lattner | 2010-09-02 | 1 | -5/+1 |
| | | | | | | | comments, these don't happen anymore. llvm-svn: 112901 | ||||
| * | Remove incorrect and poorly tested code for trying to reason about values on ↵ | Owen Anderson | 2010-09-02 | 1 | -16/+2 |
| | | | | | | | | | default edges of switches. Just return the conservatively correct answer. llvm-svn: 112876 | ||||
| * | Fix a bug in LazyValueInfo that CorrelatedValuePropagation exposed: In the ↵ | Owen Anderson | 2010-09-02 | 1 | -4/+0 |
| | | | | | | | | | LVI lattice, undef and the full set ConstantRange should not be treated as equivalent. llvm-svn: 112843 | ||||
| * | Revert 112442 and 112440 until the compile time problems introduced | Dan Gohman | 2010-09-01 | 1 | -89/+78 |
| | | | | | | | by 112440 are resolved. llvm-svn: 112692 | ||||
| * | Reapply r112432, now that the real problem is addressed. | Dan Gohman | 2010-08-31 | 1 | -4/+9 |
| | | | | | llvm-svn: 112667 | ||||
| * | Reapply r112433, now that the real problem is addressed. | Dan Gohman | 2010-08-31 | 1 | -21/+24 |
| | | | | | llvm-svn: 112666 | ||||
| * | Revert r110916. This patch is buggy because the code inside the | Dan Gohman | 2010-08-31 | 1 | -7/+4 |
| | | | | | | | inner loop doesn't update all the variables in the outer loop. llvm-svn: 112665 | ||||
| * | Revert r112432. It appears to be exposing a problem in the emacs build. | Dan Gohman | 2010-08-31 | 1 | -9/+4 |
| | | | | | llvm-svn: 112638 | ||||
| * | Speculatively revert r112433. | Dan Gohman | 2010-08-31 | 1 | -24/+21 |
| | | | | | llvm-svn: 112608 | ||||
| * | It is possible to try to merge a not-constant with a constantrage, when ↵ | Owen Anderson | 2010-08-30 | 1 | -2/+3 |
| | | | | | | | | | | dealing with ptrtoint ConstantExpr's. Unfortunately, the only testcase I have for this is huge and doesn't reduce well because the error is sensitive to iteration-order issues, since the problem only occurs when merging values in a particular order. llvm-svn: 112489 | ||||
| * | Don't print two "0x" prefixes. Use a raw_ostream overload instead of ↵ | Benjamin Kramer | 2010-08-30 | 1 | -2/+1 |
| | | | | | | | llvm::format. llvm-svn: 112479 | ||||
| * | two changes: 1) make AliasSet hold the list of call sites with an | Chris Lattner | 2010-08-29 | 1 | -14/+20 |
| | | | | | | | | | | | | | | | assertingvh so we get a violent explosion if the pointer dangles. 2) Fix AliasSetTracker::deleteValue to remove call sites with by-pointer comparisons instead of by-alias queries. Using findAliasSetForCallSite can cause alias sets to get merged when they shouldn't, and can also miss alias sets when the call is readonly. #2 fixes PR6889, which only repros with a .c file :( llvm-svn: 112452 | ||||
| * | Make IVUsers iterative instead of recursive. | Dan Gohman | 2010-08-29 | 1 | -78/+89 |
| | | | | | | | | This has the side effect of reversing the order of most of IVUser's results. llvm-svn: 112442 | ||||
| * | Restructure the {A,+,B}<L> * {C,+,D}<L> folding so that it folds | Dan Gohman | 2010-08-29 | 1 | -21/+24 |
| | | | | | | | | all applicable addrecs before recursing on getMulExpr, instead of recursing on getMulExpr for each one. llvm-svn: 112433 | ||||
| * | Batch up subtracts along with adds, when analyzing long chains of | Dan Gohman | 2010-08-29 | 1 | -4/+9 |
| | | | | | | | operations. llvm-svn: 112432 | ||||
| * | Micro-optimize GroupByComplexity. | Dan Gohman | 2010-08-29 | 1 | -2/+3 |
| | | | | | llvm-svn: 112431 | ||||
| * | Hold AddRec->getLoop() in a variable, to make the Mul code more consistent | Dan Gohman | 2010-08-29 | 1 | -3/+4 |
| | | | | | | | with the Add code. llvm-svn: 112430 | ||||
| * | Rename a variable, for consistency. | Dan Gohman | 2010-08-29 | 1 | -5/+8 |
| | | | | | llvm-svn: 112429 | ||||
| * | Use iterators instead of indices. | Dan Gohman | 2010-08-29 | 1 | -2/+2 |
| | | | | | llvm-svn: 112428 | ||||
| * | when merging two alias sets, the result set is volatile if either | Chris Lattner | 2010-08-29 | 1 | -0/+1 |
| | | | | | | | | | | of the sets is volatile. We were dropping the volatile bit of the merged in set, leading (luckily) to assertions in cases like PR7535. I cannot produce a testcase that repros with opt, but this is obviously correct. llvm-svn: 112402 | ||||
| * | more cleanup | Chris Lattner | 2010-08-29 | 1 | -8/+8 |
| | | | | | llvm-svn: 112401 | ||||
| * | clean this up | Chris Lattner | 2010-08-29 | 1 | -51/+53 |
| | | | | | llvm-svn: 112400 | ||||
| * | Fix an index calculation thinko. | Dan Gohman | 2010-08-28 | 1 | -1/+1 |
| | | | | | llvm-svn: 112337 | ||||
| * | Improve the precision of getConstant(). | Owen Anderson | 2010-08-27 | 1 | -0/+5 |
| | | | | | llvm-svn: 112323 | ||||
| * | When merging adjacent operands, scan ahead and merge all equal | Dan Gohman | 2010-08-27 | 1 | -11/+14 |
| | | | | | | | adjacent operands at once, instead of just two at a time. llvm-svn: 112299 | ||||
| * | Make the {A,+,B}<L> + {C,+,D}<L> --> Other + {A+C,+,B+D}<L> | Dan Gohman | 2010-08-27 | 1 | -23/+21 |
| | | | | | | | | | transformation collect all the addrecs with the same loop add combine them at once rather than starting everything over at the first chance. llvm-svn: 112290 | ||||
| * | Switch ScalarEvolution's main Value*->SCEV* map from std::map | Dan Gohman | 2010-08-27 | 1 | -28/+26 |
| | | | | | | | to DenseMap. llvm-svn: 112281 | ||||
| * | Use LVI to eliminate conditional branches where we've tested a related ↵ | Owen Anderson | 2010-08-27 | 1 | -1/+2 |
| | | | | | | | | | condition previously. Update tests for this change. This fixes PR5652. llvm-svn: 112270 | ||||
| * | Optimize SCEVComplexityCompare. Use a 3-way return instead of a 2-way | Dan Gohman | 2010-08-27 | 1 | -48/+82 |
| | | | | | | | | return to avoid needing two calls to test for equivalence, and sort addrecs by their degree before examining their operands. llvm-svn: 112267 | ||||
| * | In the default address space, any GEP off of null results in a trap value if ↵ | Owen Anderson | 2010-08-25 | 1 | -4/+5 |
| | | | | | | | | | | you try to load it. Thus, any load in the default address space that completes implies that the base value that it GEP'd from was not null. llvm-svn: 112015 | ||||
| * | NULL loads are only invalid in the default address space. | Owen Anderson | 2010-08-24 | 1 | -1/+1 |
| | | | | | llvm-svn: 111972 | ||||
| * | Add support for inferring values for the default cases of switches. | Owen Anderson | 2010-08-24 | 1 | -3/+22 |
| | | | | | llvm-svn: 111971 | ||||
| * | Add support for inferring that a load from a pointer implies that it is not ↵ | Owen Anderson | 2010-08-24 | 1 | -4/+17 |
| | | | | | | | null. llvm-svn: 111959 | ||||
| * | Don't assume that all constants with integer types are ConstantInts. | Owen Anderson | 2010-08-24 | 1 | -2/+11 |
| | | | | | llvm-svn: 111906 | ||||
| * | Let FE use derived types for DW_TAG_friend. | Devang Patel | 2010-08-23 | 1 | -0/+1 |
| | | | | | | | Patch by Alexander Herz! llvm-svn: 111861 | ||||
| * | Handle qualified constants that are directly folded by FE. | Devang Patel | 2010-08-23 | 1 | -0/+10 |
| | | | | | | | PR 7920. llvm-svn: 111820 | ||||
| * | Now that PassInfo and Pass::ID have been separated, move the rest of the ↵ | Owen Anderson | 2010-08-23 | 4 | -16/+12 |
| | | | | | | | passes over to the new registration API. llvm-svn: 111815 | ||||
| * | CreateTemporaryType doesn't needs its Context argument. | Dan Gohman | 2010-08-20 | 1 | -1/+1 |
| | | | | | llvm-svn: 111687 | ||||
| * | Introduce a new temporary MDNode concept. Temporary MDNodes are | Dan Gohman | 2010-08-20 | 1 | -1/+15 |
| | | | | | | | | | not part of the IR, are not uniqued, and may be safely RAUW'd. This replaces a variety of alternate mechanisms for achieving the same effect. llvm-svn: 111681 | ||||
| * | Convert DbgInfoPrinter to use errs() instead of outs(). | Dan Gohman | 2010-08-20 | 1 | -1/+1 |
| | | | | | llvm-svn: 111659 | ||||
| * | Revert r111199; it breaks -debug-pass=Structure output. | Dan Gohman | 2010-08-19 | 2 | -2/+2 |
| | | | | | llvm-svn: 111500 | ||||
| * | refix PR1143 by making basicaa analyze zexts of indices aggresively, | Chris Lattner | 2010-08-18 | 1 | -11/+30 |
| | | | | | | | which I broke with a recent patch. llvm-svn: 111452 | ||||
| * | GetLinearExpression is only called when TD is non-null, pass as | Chris Lattner | 2010-08-18 | 1 | -4/+4 |
| | | | | | | | a reference instead of pointer. llvm-svn: 111445 | ||||
| * | rework GEP decomposition to make a new VariableGEPIndex struct instead of | Chris Lattner | 2010-08-18 | 1 | -19/+39 |
| | | | | | | | | using a pair. This tidies up the code a bit. While setting things up, add a (currently unused) field to keep track of how the value is extended. llvm-svn: 111444 | ||||
| * | move gep decomposition out of ValueTracking into BasicAA. The form of | Chris Lattner | 2010-08-18 | 2 | -223/+229 |
| | | | | | | | | | | decomposition that it is doing is very basicaa specific and is only used by basicaa. Now with less tree breakingness. llvm-svn: 111433 | ||||

