summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
...
* If a metadata operand is seeded in value map and the metadata should also be ↵Devang Patel2010-06-221-13/+34
| | | | | | | | | | | seeded in value map. This is not limited to function local metadata. Failure to seed metdata in such cases causes troubles when in a cloned module, metadata from a new module refers to values in old module. Usually this results in mysterious bugpoint crashes. For example, Checking to see if we can delete global inits: Unknown constant! UNREACHABLE executed at /d/g/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:904! llvm-svn: 106592
* While cloning a module, clone metadata attached with instructions.Devang Patel2010-06-221-1/+16
| | | | llvm-svn: 106591
* Clone named metadata while cloning a module.Devang Patel2010-06-221-0/+11
| | | | | | Reapply Bob's patch. llvm-svn: 106560
* Use pre-increment instead of post-increment when the result is not used.Dan Gohman2010-06-2212-48/+48
| | | | llvm-svn: 106542
* Revert 106528. It is causing self host failures.Devang Patel2010-06-221-5/+7
| | | | llvm-svn: 106529
* Do not rely on DenseMap slot which can be easily invalidated when DenseMap ↵Devang Patel2010-06-221-7/+5
| | | | | | grows. llvm-svn: 106528
* Revert my change to clone named metadata. Buildbots are complaining.Bob Wilson2010-06-221-11/+0
| | | | | | | --- Reverse-merging r106508 into '.': U lib/Transforms/Utils/CloneModule.cpp llvm-svn: 106521
* Include named metadata when cloning a module.Bob Wilson2010-06-221-0/+11
| | | | llvm-svn: 106508
* Use A.append(...) instead of A.insert(A.end(), ...) when A is aDan Gohman2010-06-212-10/+8
| | | | | | SmallVector, and other SmallVector simplifications. llvm-svn: 106452
* Add a TODO comment.Dan Gohman2010-06-191-0/+2
| | | | llvm-svn: 106397
* Include the use kind along with the expression in the key of theDan Gohman2010-06-191-2/+28
| | | | | | | | | | | | use sharing map. The reconcileNewOffset logic already forces a separate use if the kinds differ, so incorporating the kind in the key means we can track more sharing opportunities. More sharing means fewer total uses to track, which means smaller problem sizes, which means the conservative throttles don't kick in as often. llvm-svn: 106396
* Don't include things in anonymous namespaces that don't need it.Dan Gohman2010-06-191-0/+4
| | | | llvm-svn: 106395
* Disable indvars on loops when LoopSimplify form is not available.Dan Gohman2010-06-181-0/+11
| | | | | | This fixes PR7333. llvm-svn: 106267
* remove trailing whitespaceJim Grosbach2010-06-161-11/+11
| | | | llvm-svn: 106164
* Make sure that simplify libcalls does not replace a call with one callingRafael Espindola2010-06-161-0/+5
| | | | | | convention with a new call with a different calling convention. llvm-svn: 106134
* simplify-libcalls: fold strncmp(x, y, 1) -> memcmp(x, y, 1)Benjamin Kramer2010-06-161-0/+3
| | | | | | | The memcmp will be optimized further and even the pathological case 'strstr(x, "x") == x' generates optimal code now. llvm-svn: 106097
* simplify-libcalls: fold strstr(a, b) == a -> strncmp(a, b, strlen(b)) == 0Benjamin Kramer2010-06-152-0/+56
| | | | llvm-svn: 106047
* jump threading can't split a critical edge from an indirectbr. ThisChris Lattner2010-06-141-1/+6
| | | | | | fixes PR7356. llvm-svn: 105950
* SimplifyCFG: don't turn volatile stores to null/undef into unreachable. ↵Benjamin Kramer2010-06-131-0/+3
| | | | | | Fixes PR7369. llvm-svn: 105914
* Pulled CodeMetrics out of InlineCost.h and made it a bit more general, so it ↵Kenneth Uildriks2010-06-091-1/+1
| | | | | | can be reused from PartialSpecializationCost llvm-svn: 105725
* Make bugpoint dead-argument-hacking actually work, and actually test it.Dan Gohman2010-06-071-0/+7
| | | | llvm-svn: 105551
* Partial specialization was not checking the callsite to make sure it was ↵Kenneth Uildriks2010-06-051-9/+33
| | | | | | using the same constants as the specialization, leading to calls to the wrong specialization. Patch by Takumi Nakamura\! llvm-svn: 105528
* Don't track users of undef values; they aren't interesting forDan Gohman2010-06-041-1/+5
| | | | | | register pressure. llvm-svn: 105501
* Copy location info for current function argument from dbg.declare if ↵Devang Patel2010-06-041-4/+2
| | | | | | respective store instruction does not have any location info. llvm-svn: 105490
* Remove unused codeJim Grosbach2010-06-011-64/+0
| | | | llvm-svn: 105293
* fix think-oJim Grosbach2010-06-011-6/+2
| | | | llvm-svn: 105291
* Simplify things a bit more. Fix prototype to use SmallVectorImpl andJim Grosbach2010-06-011-17/+17
| | | | | | change a few SmallVectors to vanilla C arrays. llvm-svn: 105289
* mirror of r105280 changes for LowerInvoke, which uses the same basic logic hereJim Grosbach2010-06-011-10/+27
| | | | llvm-svn: 105281
* Use SmallVector instead of std::vector.Jim Grosbach2010-06-011-12/+13
| | | | llvm-svn: 105279
* Fix PR7272: when inlining through a callsite with byval arguments,Duncan Sands2010-05-311-0/+4
| | | | | | | the newly created allocas may be used by inlined calls, so these need to have their tail call flags cleared. Fixes PR7272. llvm-svn: 105255
* Avoid swap when a copy suffices.Benjamin Kramer2010-05-311-1/+1
| | | | llvm-svn: 105220
* The memcpy intrinsic only takes i8* for %src and %dst, so cast them to thatNick Lewycky2010-05-311-2/+2
| | | | | | first. Fixes PR7265. llvm-svn: 105206
* Move FindAvailableLoadedValue isSafeToLoadUnconditionally out ofDan Gohman2010-05-286-223/+4
| | | | | | | lib/Transforms/Utils and into lib/Analysis so that Analysis passes can use them. llvm-svn: 104949
* Teach instcombine to promote alloca array sizes.Dan Gohman2010-05-281-0/+12
| | | | llvm-svn: 104945
* Fix instcombine's handling of alloca to accept non-i32 types.Dan Gohman2010-05-281-8/+7
| | | | llvm-svn: 104935
* Fix typo.Devang Patel2010-05-281-1/+1
| | | | llvm-svn: 104914
* Fix typo.Devang Patel2010-05-281-1/+1
| | | | llvm-svn: 104913
* Do not drop location info for inlined function args.Devang Patel2010-05-271-0/+5
| | | | llvm-svn: 104884
* Teach instCombine to remove malloc+free if malloc's only uses are comparisonsDuncan Sands2010-05-274-46/+49
| | | | | | to null. Patch by Matti Niemenmaa. llvm-svn: 104871
* Kill unneeded SExt.Benjamin Kramer2010-05-261-1/+1
| | | | llvm-svn: 104692
* Properly promote operands when optimizing a single-character memcmp.Benjamin Kramer2010-05-251-3/+6
| | | | llvm-svn: 104648
* Fix a missing newline in debug output.Dan Gohman2010-05-251-1/+1
| | | | llvm-svn: 104644
* DominatorTree.getNode can return null for unreachable blocks.Dan Gohman2010-05-201-1/+1
| | | | llvm-svn: 104290
* Minor code cleanups.Dan Gohman2010-05-201-8/+7
| | | | llvm-svn: 104287
* Make Solve check its own post-condition, to reduce clutter in theDan Gohman2010-05-201-1/+2
| | | | | | top-level LSRInstance logic. llvm-svn: 104278
* Add comments.Dan Gohman2010-05-201-0/+16
| | | | llvm-svn: 104276
* More code cleanups. Use iterators instead of indices when indicesDan Gohman2010-05-201-22/+24
| | | | | | aren't needed. llvm-svn: 104273
* Fix OptimizeShadowIV to set Changed. Change OptimizeLoopTermCond to setDan Gohman2010-05-201-8/+7
| | | | | | | | | Changed directly instead of using a return value. Rename FilterOutUndesirableDedicatedRegisters's Changed variable to distinguish it from LSRInstance's Changed member. llvm-svn: 104269
* Add some comments.Dan Gohman2010-05-201-0/+6
| | | | llvm-svn: 104268
* Simplify this code. Don't do a DomTreeNode lookup for each visited block.Dan Gohman2010-05-201-14/+5
| | | | llvm-svn: 104267
OpenPOWER on IntegriCloud