| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Cast away "comparison between signed and unsigned integer" warnings. | Benjamin Kramer | 2010-12-28 | 1 | -3/+6 |
| | | | | | llvm-svn: 122598 | ||||
| * | move isBytewiseValue out to ValueTracking.h/cpp | Chris Lattner | 2010-12-26 | 1 | -0/+69 |
| | | | | | llvm-svn: 122565 | ||||
| * | Change all self assignments X=X to (void)X, so that we can turn on a | Jeffrey Yasskin | 2010-12-23 | 2 | -3/+2 |
| | | | | | | | | new gcc warning that complains on self-assignments and self-initializations. llvm-svn: 122458 | ||||
| * | When determining whether the new instruction was already present in | Duncan Sands | 2010-12-22 | 1 | -6/+8 |
| | | | | | | | | | the original instruction, half the cases were missed (making it not wrong but suboptimal). Also correct a typo (A <-> B) in the second chunk. llvm-svn: 122414 | ||||
| * | Add some statistics, good for understanding how much more powerful | Duncan Sands | 2010-12-22 | 1 | -14/+48 |
| | | | | | | | instcombine is compared to instsimplify. llvm-svn: 122397 | ||||
| * | While I don't think any later transforms can fire, it seems cleaner to | Duncan Sands | 2010-12-21 | 1 | -3/+6 |
| | | | | | | | | not assume this (for example in case more transforms get added below it). Suggested by Frits van Bommel. llvm-svn: 122332 | ||||
| * | Fix inverted condition noticed by Frits van Bommel. | Duncan Sands | 2010-12-21 | 1 | -3/+3 |
| | | | | | llvm-svn: 122331 | ||||
| * | Pull a few more simplifications out of instcombine (there are still | Duncan Sands | 2010-12-21 | 1 | -5/+86 |
| | | | | | | | plenty left though!), in particular for multiplication. llvm-svn: 122330 | ||||
| * | Teach InstructionSimplify about distributive laws. These transforms fire | Duncan Sands | 2010-12-21 | 1 | -11/+159 |
| | | | | | | | | quite often, but don't make much difference in practice presumably because instcombine also knows them and more. llvm-svn: 122328 | ||||
| * | Move checking of the recursion limit into the various Thread methods. | Duncan Sands | 2010-12-21 | 1 | -20/+36 |
| | | | | | | | No functionality change. llvm-svn: 122327 | ||||
| * | Add generic simplification of associative operations, generalizing | Duncan Sands | 2010-12-21 | 1 | -28/+118 |
| | | | | | | | | | | | | | a couple of existing transforms. This fires surprisingly often, for example when compiling gcc "(X+(-1))+1->X" fires quite a lot as well as various "and" simplifications (usually with a phi node operand). Most of the time this doesn't make a real difference since the same thing would have been done elsewhere anyway, eg: by instcombine, but there are a few places where this results in simplifications that we were not doing before. llvm-svn: 122326 | ||||
| * | Speculatively revert the use of DenseMap in LazyValueInfo, which may be ↵ | Owen Anderson | 2010-12-20 | 1 | -42/+16 |
| | | | | | | | causing Linux self-host failures. llvm-svn: 122291 | ||||
| * | Attempt to appease the DragonEgg buildbots. | Owen Anderson | 2010-12-20 | 1 | -22/+24 |
| | | | | | llvm-svn: 122288 | ||||
| * | Convert one of LVI's primary maps to a DenseMap, now that we know are more ↵ | Owen Anderson | 2010-12-20 | 1 | -16/+40 |
| | | | | | | | assured of iterator stability. llvm-svn: 122273 | ||||
| * | More LVI cleanups, including trying to simplify the process of maintaining ↵ | Owen Anderson | 2010-12-20 | 1 | -25/+41 |
| | | | | | | | the OverDefinedCache. llvm-svn: 122256 | ||||
| * | Reuse the reference into the LVI cache throughout the solver subsystem. ↵ | Owen Anderson | 2010-12-20 | 1 | -24/+28 |
| | | | | | | | | | This is much easier to verify as being safe thanks its recent de-recursivization. llvm-svn: 122254 | ||||
| * | Have SimplifyBinOp dispatch Xor, Add and Sub to the corresponding methods | Duncan Sands | 2010-12-20 | 1 | -5/+27 |
| | | | | | | | | (they had just been forgotten before). Adding Xor causes "main" in the existing testcase 2010-11-01-lshr-mask.ll to be hugely more simplified. llvm-svn: 122245 | ||||
| * | Make LazyValueInfo non-recursive. | Nick Lewycky | 2010-12-18 | 1 | -132/+249 |
| | | | | | llvm-svn: 122120 | ||||
| * | Add vector versions of some existing scalar transforms to aid codegen in ↵ | Nate Begeman | 2010-12-17 | 1 | -0/+7 |
| | | | | | | | matching psign & pblend operations to the IR produced by clang/gcc for their C idioms. llvm-svn: 122105 | ||||
| * | Update a comment. | Dan Gohman | 2010-12-16 | 1 | -1/+3 |
| | | | | | llvm-svn: 121946 | ||||
| * | Make memcpyopt TBAA-aware. | Dan Gohman | 2010-12-16 | 1 | -4/+10 |
| | | | | | llvm-svn: 121944 | ||||
| * | Enable TBAA by default. | Dan Gohman | 2010-12-15 | 1 | -1/+1 |
| | | | | | llvm-svn: 121923 | ||||
| * | Reapply r121886, and also update DecomposeGEPExpression to keep | Dan Gohman | 2010-12-15 | 2 | -0/+17 |
| | | | | | | | it in sync. llvm-svn: 121895 | ||||
| * | Revert r121886. DecomposeGEPExpression needs to be kept | Dan Gohman | 2010-12-15 | 1 | -8/+0 |
| | | | | | | | in sync. llvm-svn: 121892 | ||||
| * | Strengthen GetUnderlyingObject using InstructionSimplify. | Dan Gohman | 2010-12-15 | 1 | -0/+9 |
| | | | | | | | | | | | While LLVM's main design is that analysis code shouldn't go out of its way to understand code which hasn't been InstCombined, analysis utility routines like this can find themselves being called in the middle of transform passes when instcombine hasn't had a chance to run. llvm-svn: 121886 | ||||
| * | Move Value::getUnderlyingObject to be a standalone | Dan Gohman | 2010-12-15 | 9 | -20/+44 |
| | | | | | | | | function so that it can live in Analysis instead of VMCore. llvm-svn: 121885 | ||||
| * | Clean up some of LVI: | Nick Lewycky | 2010-12-15 | 1 | -91/+101 |
| | | | | | | | | | * mergeIn now uses constant folding for constants that are provably not-equal. * sink some sanity checks from the get*() methods into the mark*() methods, to ensure that we never have a constant/notconstant ConstantInt * some textual cleanups, whitespace changes, removing "else" after return, that sort of thing. llvm-svn: 121877 | ||||
| * | Move Sub simplifications and additional Add simplifications out of | Duncan Sands | 2010-12-15 | 1 | -10/+67 |
| | | | | | | | instcombine and into InstructionSimplify. llvm-svn: 121861 | ||||
| * | If we detect that the instruction we are simplifying is unreachable, arrange for | Duncan Sands | 2010-12-15 | 1 | -3/+3 |
| | | | | | | | | it to be replaced by undef rather than not replaced at all, the idea being that this may reduce the amount of work done by whoever called InstructionSimplify. llvm-svn: 121860 | ||||
| * | Update a comment. | Dan Gohman | 2010-12-13 | 1 | -4/+3 |
| | | | | | llvm-svn: 121727 | ||||
| * | Reapply r121520, PartialAlias implementation for BasicAA, now that | Dan Gohman | 2010-12-13 | 1 | -0/+11 |
| | | | | | | | memdep is updated to handle it. llvm-svn: 121725 | ||||
| * | Update memdep to handle PartialAlias as MayAlias. | Dan Gohman | 2010-12-13 | 1 | -4/+4 |
| | | | | | llvm-svn: 121723 | ||||
| * | Remove useless dynamic_cast<>(). | Tobias Grosser | 2010-12-12 | 1 | -2/+1 |
| | | | | | | | | Thanks Peter for pointing me to something that should have never been committed to the llvm code base. llvm-svn: 121648 | ||||
| * | Revert r121520, which may have introduced miscompilations. | Dan Gohman | 2010-12-10 | 1 | -11/+0 |
| | | | | | llvm-svn: 121573 | ||||
| * | Implement PartialAlias checking in BasicAA. | Dan Gohman | 2010-12-10 | 1 | -0/+11 |
| | | | | | llvm-svn: 121520 | ||||
| * | Minimally update this code to handle PartialAlias. | Dan Gohman | 2010-12-10 | 1 | -0/+1 |
| | | | | | llvm-svn: 121518 | ||||
| * | Use PartialAlias to do better noalias lint checking. | Dan Gohman | 2010-12-10 | 1 | -4/+6 |
| | | | | | llvm-svn: 121514 | ||||
| * | Teach AliasAnalysisCounter about PartialAlias. | Dan Gohman | 2010-12-10 | 1 | -4/+8 |
| | | | | | llvm-svn: 121513 | ||||
| * | Teach AliasAnalysisEvaluator about PartialAlias. | Dan Gohman | 2010-12-10 | 1 | -5/+14 |
| | | | | | llvm-svn: 121512 | ||||
| * | Update this code to handle PartialAlias as MayAlias. | Dan Gohman | 2010-12-10 | 1 | -1/+1 |
| | | | | | llvm-svn: 121508 | ||||
| * | Take the first step towards making LVI non-recursive: get rid of the ↵ | Owen Anderson | 2010-12-09 | 1 | -101/+39 |
| | | | | | | | LVIQuery abstraction. llvm-svn: 121357 | ||||
| * | Use type's file info while describing inheritance relationship. | Devang Patel | 2010-12-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 121289 | ||||
| * | Add support to create debug info for functions and methods. | Devang Patel | 2010-12-08 | 1 | -0/+77 |
| | | | | | llvm-svn: 121281 | ||||
| * | Add support to create class type. | Devang Patel | 2010-12-08 | 2 | -0/+46 |
| | | | | | llvm-svn: 121279 | ||||
| * | Add support to create vector, array, enums etc... | Devang Patel | 2010-12-08 | 2 | -6/+169 |
| | | | | | llvm-svn: 121224 | ||||
| * | Global variable does not need linkage name. | Devang Patel | 2010-12-08 | 1 | -3/+2 |
| | | | | | llvm-svn: 121212 | ||||
| * | Add support to create local variable's debug info. | Devang Patel | 2010-12-07 | 1 | -0/+33 |
| | | | | | llvm-svn: 121211 | ||||
| * | Add support to create variables, structs etc.. using DIBuilder. | Devang Patel | 2010-12-07 | 2 | -7/+224 |
| | | | | | | | This is still work in progress. llvm-svn: 121205 | ||||
| * | PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and | Jay Foad | 2010-12-07 | 4 | -22/+18 |
| | | | | | | | | | zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method trunc(), to be const and to return a new value instead of modifying the object in place. llvm-svn: 121120 | ||||
| * | Also inore '()' while creating mdnode name from ObjC symbol name. | Jakob Stoklund Olesen | 2010-12-03 | 1 | -1/+2 |
| | | | | | llvm-svn: 120856 | ||||

