| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Strip trailing whitespace. | Duncan Sands | 2010-11-14 | 1 | -50/+49 |
| | | | | | llvm-svn: 119038 | ||||
| * | Fix typo pointed out by Trevor Harmon. | Duncan Sands | 2010-11-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 119001 | ||||
| * | Re-disable TBAA for now; it broke MultiSource/Applications/JM/lencod, | Dan Gohman | 2010-11-12 | 1 | -1/+1 |
| | | | | | | | at least. llvm-svn: 118890 | ||||
| * | Enable TBAA. | Dan Gohman | 2010-11-12 | 1 | -1/+1 |
| | | | | | llvm-svn: 118884 | ||||
| * | Add helper functions for computing the Location of load, store, | Dan Gohman | 2010-11-11 | 3 | -42/+30 |
| | | | | | | | and vaarg instructions. llvm-svn: 118845 | ||||
| * | Don't forget the TBAA info, if available. | Dan Gohman | 2010-11-11 | 1 | -1/+6 |
| | | | | | llvm-svn: 118842 | ||||
| * | Avoid calling alias on non-pointer values. | Dan Gohman | 2010-11-11 | 1 | -3/+4 |
| | | | | | llvm-svn: 118822 | ||||
| * | It's not necessary to clear out the Size and TBAATag at each of | Dan Gohman | 2010-11-11 | 1 | -12/+1 |
| | | | | | | | these points. llvm-svn: 118752 | ||||
| * | Set NonLocalDepInfo's Size field to UnknownSize when invalidating | Dan Gohman | 2010-11-11 | 1 | -5/+5 |
| | | | | | | | it, so that it doesn't appear to be a known size. llvm-svn: 118748 | ||||
| * | When clearing a non-local pointer dependency cache entry, clear | Dan Gohman | 2010-11-10 | 1 | -0/+8 |
| | | | | | | | the reverse map too. This fixes seflhost build errors. llvm-svn: 118729 | ||||
| * | Take care of special characters while creating named MDNode name to hold ↵ | Devang Patel | 2010-11-10 | 1 | -3/+35 |
| | | | | | | | | | function specific local variable's info. This fixes radar 8653152. I am checking in testcase as a separate check-in. llvm-svn: 118726 | ||||
| * | Factor out the code for computing an AliasAnalysis::Location | Dan Gohman | 2010-11-10 | 1 | -82/+101 |
| | | | | | | | for a given instruction into a helper function. llvm-svn: 118723 | ||||
| * | Fully invalidate cached results when a prior query's size or | Dan Gohman | 2010-11-10 | 1 | -10/+23 |
| | | | | | | | type is insufficient for, or incompatible with, the current query. llvm-svn: 118721 | ||||
| * | Reduce the maximum recursion depth, 5 seems pointlessly too much. | Duncan Sands | 2010-11-10 | 1 | -1/+1 |
| | | | | | | | Probably it should just be 1, but compromise with 3. llvm-svn: 118718 | ||||
| * | Enhance GVN to do more precise alias queries for non-local memory | Dan Gohman | 2010-11-10 | 2 | -15/+55 |
| | | | | | | | | | | | | | | | | references. For example, this allows gvn to eliminate the load in this example: void foo(int n, int* p, int *q) { p[0] = 0; p[1] = 1; if (n) { *q = p[0]; } } llvm-svn: 118714 | ||||
| * | Teach InstructionSimplify how to look through PHI nodes. Since PHI | Duncan Sands | 2010-11-10 | 1 | -32/+163 |
| | | | | | | | | | | nodes can be used in loops, this could result in infinite looping if there is no recursion limit, so add such a limit. It is also used for the SelectInst case because in theory there could be an infinite loop there too if the basic block is unreachable. llvm-svn: 118694 | ||||
| * | Add a doesAccessArgPointees helper function, and update code to use | Dan Gohman | 2010-11-10 | 1 | -22/+24 |
| | | | | | | | it, and to be consistent. llvm-svn: 118692 | ||||
| * | Simplify binary operations where one operand is a select instruction. | Duncan Sands | 2010-11-10 | 1 | -28/+113 |
| | | | | | | | | | | | | | | | | | | The simplifications performed here never create new instructions, they only return existing instructions (or a constant), and so are always a win. In theory they should transform (for example) %z = and i32 %x, %y %s = select i1 %cond, i32 %y, i32 %z %r = and i32 %x, %s into %r = and i32 %x, y but in practice they get into a fight with instcombine, and lose. Unfortunately instcombine does a poor job in this case. Nonetheless I'm committing this transform to make it easier to discuss what to do to make peace with instcombine. llvm-svn: 118679 | ||||
| * | Make ModRefBehavior a lattice. Use this to clean up AliasAnalysis | Dan Gohman | 2010-11-10 | 4 | -19/+29 |
| | | | | | | | chaining and simplify FunctionAttrs' GetModRefBehavior logic. llvm-svn: 118660 | ||||
| * | VAArg doesn't capture its operand. | Dan Gohman | 2010-11-09 | 1 | -0/+3 |
| | | | | | llvm-svn: 118623 | ||||
| * | Teach AliasAnalysis about AccessesArgumentsReadonly. | Dan Gohman | 2010-11-09 | 1 | -6/+8 |
| | | | | | llvm-svn: 118621 | ||||
| * | Teach LICM and AliasSetTracker about AccessesArgumentsReadonly. | Dan Gohman | 2010-11-09 | 1 | -1/+1 |
| | | | | | llvm-svn: 118618 | ||||
| * | Factorize code, no functionality change. | Duncan Sands | 2010-11-09 | 1 | -34/+31 |
| | | | | | llvm-svn: 118516 | ||||
| * | Re-introduce the MaxLookup limit to BasicAliasAnalysis' | Dan Gohman | 2010-11-08 | 1 | -2/+8 |
| | | | | | | | | pointsToConstantMemory code to guard against possible compile time slowdowns. llvm-svn: 118440 | ||||
| * | Implement getModRefBehavior for TypeBasedAliasAnalysis. | Dan Gohman | 2010-11-08 | 1 | -0/+23 |
| | | | | | llvm-svn: 118416 | ||||
| * | Extend the AliasAnalysis::pointsToConstantMemory interface to allow it | Dan Gohman | 2010-11-08 | 6 | -23/+71 |
| | | | | | | | | | | | | | to optionally look for constant or local (alloca) memory. Teach BasicAliasAnalysis::pointsToConstantMemory to look through Select and Phi nodes, and to support looking for local memory. Remove FunctionAttrs' PointsToLocalOrConstantMemory function, now that AliasAnalysis knows all the tricks that it knew. llvm-svn: 118412 | ||||
| * | Delete getIntrinsicModRefBehavior. Clients can just use the normal | Dan Gohman | 2010-11-08 | 1 | -7/+0 |
| | | | | | | | | getModRefBehavior now, since it now understands intrinsics as well as normal functions. llvm-svn: 118411 | ||||
| * | Teach BasicAliasAnalysis::getModRefBehavior(const Function *F) | Dan Gohman | 2010-11-08 | 1 | -3/+11 |
| | | | | | | | to analyze intrinsic functions. llvm-svn: 118409 | ||||
| * | Add simplification of floating point comparisons with the result | Duncan Sands | 2010-11-07 | 1 | -0/+20 |
| | | | | | | | | of a select instruction, the same as already exists for integer comparisons. llvm-svn: 118379 | ||||
| * | Fix a README item: when doing a comparison with the result | Duncan Sands | 2010-11-07 | 1 | -2/+21 |
| | | | | | | | | | of a select instruction, see if doing the compare with the true and false values of the select gives the same result. If so, that can be used as the value of the comparison. llvm-svn: 118378 | ||||
| * | Use arrays instead of constant-sized SmallVectors. | Benjamin Kramer | 2010-11-04 | 1 | -132/+143 |
| | | | | | llvm-svn: 118257 | ||||
| * | Introduce DIBuilder. It is intended to be a front-end friendly interface to ↵ | Devang Patel | 2010-11-04 | 2 | -0/+250 |
| | | | | | | | | | | | | | | emit debuggging information entries in LLVM IR. To create debugging information for a pointer, using DIBUilder front-end just needs DBuilder.CreatePointerType(Ty, Size); instead of DebugFactory.CreateDerivedType(llvm::dwarf::DW_TAG_pointer_type, TheCU, "", getOrCreateMainFile(), 0, Size, 0, 0, 0, OCTy); llvm-svn: 118248 | ||||
| * | Fix DIType verifier. The element 3 is DIFile now. | Devang Patel | 2010-11-02 | 1 | -3/+4 |
| | | | | | llvm-svn: 118054 | ||||
| * | Make ScalarEvolution::forgetLoop forget all contained loops too, because | Dan Gohman | 2010-10-29 | 1 | -0/+5 |
| | | | | | | | | they may have ValuesAtScopes map entries referencing their outer loops. This fixes a user-after-free reported in PR8471. llvm-svn: 117698 | ||||
| * | Teach memdep to use pointsToConstantMemory to determine that loads | Dan Gohman | 2010-10-29 | 1 | -5/+10 |
| | | | | | | | from constant memory don't alias any stores. llvm-svn: 117636 | ||||
| * | Support TBAA attachments on calls. This is somewhat experimental. | Dan Gohman | 2010-10-25 | 1 | -0/+36 |
| | | | | | llvm-svn: 117317 | ||||
| * | Fix chaining in TBAA's pointsToConstantMemory. | Dan Gohman | 2010-10-25 | 1 | -1/+1 |
| | | | | | llvm-svn: 117314 | ||||
| * | Only read one bit for testing for a readonly type, leaving the other | Dan Gohman | 2010-10-25 | 1 | -2/+1 |
| | | | | | | | bits open for future uses. llvm-svn: 117301 | ||||
| * | Add a comment. | Dan Gohman | 2010-10-25 | 1 | -1/+3 |
| | | | | | llvm-svn: 117288 | ||||
| * | Update comments; BasicAA is no longer necessarily the end of the chain. | Dan Gohman | 2010-10-25 | 1 | -3/+3 |
| | | | | | llvm-svn: 117268 | ||||
| * | Reintroduce these asserts, now that BasicAA is a normal AliasAnalysis pass. | Dan Gohman | 2010-10-25 | 1 | -6/+3 |
| | | | | | llvm-svn: 117266 | ||||
| * | Make some symbols static, move classes into anonymous namespaces. | Benjamin Kramer | 2010-10-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 117111 | ||||
| * | Add some more documentation. | Dan Gohman | 2010-10-21 | 1 | -15/+21 |
| | | | | | llvm-svn: 117070 | ||||
| * | Explain what "constant" means here. | Dan Gohman | 2010-10-21 | 1 | -1/+3 |
| | | | | | llvm-svn: 117053 | ||||
| * | Update comments. | Dan Gohman | 2010-10-21 | 1 | -3/+23 |
| | | | | | llvm-svn: 117048 | ||||
| * | Memdep says that an instruction clobbers itself | Dan Gohman | 2010-10-20 | 1 | -1/+4 |
| | | | | | | | when it means there is no specific clobber instruction. llvm-svn: 116960 | ||||
| * | Factor out the main aliasing check into a separate function. | Dan Gohman | 2010-10-20 | 1 | -24/+39 |
| | | | | | llvm-svn: 116958 | ||||
| * | Fix comments; the type graph is currently a tree, not a DAG. | Dan Gohman | 2010-10-20 | 1 | -3/+3 |
| | | | | | llvm-svn: 116954 | ||||
| * | Add RegionPass support. | Tobias Grosser | 2010-10-20 | 2 | -0/+277 |
| | | | | | | | | A RegionPass is executed like a LoopPass but on the regions detected by the RegionInfo pass instead of the loops detected by the LoopInfo pass. llvm-svn: 116905 | ||||
| * | Fix CMake build | Douglas Gregor | 2010-10-20 | 1 | -0/+1 |
| | | | | | llvm-svn: 116903 | ||||

