summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't treat values as signed when looking at loop steppings in HowForToNonZero.Nick Lewycky2008-05-251-2/+2
| | | | llvm-svn: 51560
* "ret (constexpr)" can't be folded into a Constant. Add a method toNick Lewycky2008-05-251-16/+45
| | | | | | | | | | Analysis/ConstantFolding to fold ConstantExpr's, then make instcombine use it to try to use targetdata to fold constant expressions on void instructions. Also extend the icmp(inttoptr, inttoptr) folding to handle the case where int size != ptr size. llvm-svn: 51559
* Use isSingleValueType instead of isFirstClassType toDan Gohman2008-05-221-1/+1
| | | | | | exclude struct and array types. llvm-svn: 51452
* transform more loops to iterator form, detabifyGabor Greif2008-05-222-7/+8
| | | | llvm-svn: 51436
* Rewrite operand loops to use iterators. This shrinks .o file (at gcc4.0.1 ↵Gabor Greif2008-05-221-4/+5
| | | | | | -O3 x86) substantially (>500 bytes). Reason still unknown. llvm-svn: 51423
* Free and vaarg are not really volatile.Chris Lattner2008-05-221-9/+2
| | | | llvm-svn: 51407
* suppress gcc3.4.6's <no value returned> warningsGabor Greif2008-05-211-0/+2
| | | | llvm-svn: 51372
* Fix PR2346 by marking vaarg as volatile so that licm doesn't try toChris Lattner2008-05-201-1/+4
| | | | | | hoist them. llvm-svn: 51356
* Add a bool to isEdgeFeasible that tells it whether to treat unknownChris Lattner2008-05-201-7/+19
| | | | | | value as undef or untracked. llvm-svn: 51295
* API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. ↵Gabor Greif2008-05-161-4/+4
| | | | | | Legacy interfaces will be in place for some time. (Merge from use-diet branch.) llvm-svn: 51200
* Use static and anonymous namespaces consistently with other passes.Dan Gohman2008-05-151-8/+8
| | | | llvm-svn: 51156
* Fix memdep's handling of invokes when finding the dependency of another callOwen Anderson2008-05-131-1/+1
| | | | | | instruction. This fixes some Ada miscompiles reported in PR2324. llvm-svn: 51069
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-1318-136/+143
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* prune #includes.Chris Lattner2008-05-121-3/+0
| | | | llvm-svn: 50962
* Add a new SparsePropagation analysis utility, which allows you to doChris Lattner2008-05-121-0/+320
| | | | | | | | SCCP like sparse lattice analysis with relative ease. Just pick your lattice function and implement the transfer function and you're good. Just make sure you don't break monotonicity ;-) llvm-svn: 50961
* put LibCallAliasAnalysis into anonymous namespace to avoidTorok Edwin2008-05-091-1/+1
| | | | | | clashes on ::X llvm-svn: 50912
* Remove dead return. Thanks to Bill for the review!Chris Lattner2008-05-081-2/+0
| | | | llvm-svn: 50863
* Add support for constant folding the 'offsetof' pattern even if theChris Lattner2008-05-081-16/+23
| | | | | | base is not zero. This fixes test/C++Frontend/2008-05-07-CrazyOffsetOf.cpp llvm-svn: 50840
* Add a new LibCallAliasAnalysis pass, which is parameterizedChris Lattner2008-05-071-0/+169
| | | | | | | | | | by an instance of LibCallInfo to provide mod/ref info of standard library functions. This is powerful enough to say that 'sqrt' is readonly except that it modifies errno, or that "printf doesn't store to memory unless the %n constraint is present" etc. llvm-svn: 50827
* Add a new interface for describing the behavior of library calls. ThisChris Lattner2008-05-071-0/+65
| | | | | | | | | Currently is sufficient to describe mod/ref behavior but will hopefully eventually be extended for other purposes. This isn't used by anything yet. llvm-svn: 50820
* Fix typo and indentation.Nick Lewycky2008-05-061-2/+2
| | | | llvm-svn: 50706
* Make several variable declarations static.Dan Gohman2008-05-064-13/+14
| | | | llvm-svn: 50696
* Remove uses of llvm/System/IncludeFile.h that are no longer needed.Dan Gohman2008-05-063-9/+0
| | | | llvm-svn: 50695
* Implement destructor for PostDominatorTree to eliminate a memory leak.Torok Edwin2008-05-031-0/+5
| | | | llvm-svn: 50607
* Add assert.Devang Patel2008-05-021-0/+1
| | | | llvm-svn: 50596
* Fix the way AliasSet::print prints "may alias".Dan Gohman2008-04-211-1/+1
| | | | llvm-svn: 50051
* Fix a "large integer implicitly truncated to unsigned type"Duncan Sands2008-04-211-1/+1
| | | | | | warning. llvm-svn: 50033
* (re)fix handling of UGT. Pointed out by Nick Lewycky.Dale Johannesen2008-04-201-1/+2
| | | | llvm-svn: 49991
* Switch to using Simplified ConstantFP::get API.Chris Lattner2008-04-202-13/+11
| | | | llvm-svn: 49977
* Fix a scalar evolution bug. Reversing everythingDale Johannesen2008-04-181-2/+1
| | | | | | does not work because of 0; 2>0 but -2U is also >0. llvm-svn: 49928
* Make GVN able to remove unnecessary calls to read-only functions again.Owen Anderson2008-04-171-2/+1
| | | | llvm-svn: 49842
* Major repairs to the post-dominators implementation. Patch from Florian ↵Owen Anderson2008-04-161-0/+4
| | | | | | Brandner! llvm-svn: 49768
* Don't assume a tail call can't reference a byvalDale Johannesen2008-04-151-2/+4
| | | | | | argument to the outer function, this isn't correct. llvm-svn: 49731
* Teach AliasSetTracker about VAArgInst.Dan Gohman2008-04-141-0/+17
| | | | llvm-svn: 49674
* In the special case, call the comparison function instead ofDan Gohman2008-04-141-2/+2
| | | | | | | | manually performing the comparison. This allows the special case to work correctly even in the case where someone is experimenting with a different comparison function :-). llvm-svn: 49670
* add a new CallGraphNode::removeCallEdgeFor method, tidy some comments.Chris Lattner2008-04-131-0/+14
| | | | llvm-svn: 49617
* Fix a typo in a comment.Dan Gohman2008-04-101-1/+1
| | | | llvm-svn: 49504
* Fix for PR2190. Memdep's non-local caching was checking dirtied blocks in theOwen Anderson2008-04-101-2/+4
| | | | | | wrong order. llvm-svn: 49499
* Fix PR 2169.Daniel Berlin2008-04-071-0/+3
| | | | llvm-svn: 49339
* API changes for class Use size reduction, wave 1.Gabor Greif2008-04-061-3/+3
| | | | | | | | Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
* Set blockBegin to point to the beginning of the block,Dan Gohman2008-03-311-2/+2
| | | | | | not the end. llvm-svn: 48999
* Expose Function::viewCFG and Function::viewCFGOnly to bindings.Erick Tryzelaar2008-03-311-0/+9
| | | | llvm-svn: 48982
* minor code cleanups, allow constant folding sinf/cosf.Chris Lattner2008-03-301-20/+26
| | | | llvm-svn: 48961
* Don't include <map> in Pass.h, which doesn't need it. This requiresDan Gohman2008-03-211-0/+1
| | | | | | adding <map> to many files that actually do need it. llvm-svn: 48667
* These passes preserve CFG.Devang Patel2008-03-203-4/+4
| | | | | | This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester llvm-svn: 48623
* enable -analyze for andersensAndrew Lenharth2008-03-201-19/+39
| | | | llvm-svn: 48601
* Restore isCFGOnly property of various analysis passes.Devang Patel2008-03-2019-23/+23
| | | | llvm-svn: 48579
* PassInfo keep tracks whether a pass is an analysis pass or not.Devang Patel2008-03-1920-37/+39
| | | | llvm-svn: 48554
* Do not use virtual function to identify an analysis pass.Devang Patel2008-03-1910-53/+12
| | | | llvm-svn: 48520
* Fix PR 2160 by making sure arguments to external functions get marked as ↵Daniel Berlin2008-03-181-18/+36
| | | | | | pointing to anything llvm-svn: 48509
OpenPOWER on IntegriCloud