aboutsummaryrefslogtreecommitdiffstats
path: root/test/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* Update computeArraySize() to use ComputeMultiple() to determine the array ↵Victor Hernandez2009-11-101-9/+1
| | | | | | size associated with a malloc; also extend PerformHeapAllocSRoA() to check if the optimized malloc's arg had its highest bit set, so that it is safe for ComputeMultiple() to look through sext instructions while determining the optimized malloc's array size git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86676 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-commit r86077 now that r86290 fixes the 179.art and 175.vpr ARM regressions.Victor Hernandez2009-11-071-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | Here is the original commit message: This commit updates malloc optimizations to operate on malloc calls that have constant int size arguments. Update CreateMalloc so that its callers specify the size to allocate: MallocInst-autoupgrade users use non-TargetData-computed allocation sizes. Optimization uses use TargetData to compute the allocation size. Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays. Extend getMallocType() to support malloc calls that have non-bitcast uses. Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly. Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use. Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use. Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86311 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r86077 because it caused crashes in 179.art and 175.vpr on ARMVictor Hernandez2009-11-061-14/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86213 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CreateMalloc so that its callers specify the size to allocate:Victor Hernandez2009-11-051-4/+14
| | | | | | | | | | | | | | | | | | | MallocInst-autoupgrade users use non-TargetData-computed allocation sizes. Optimization uses use TargetData to compute the allocation size. Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays. Extend getMallocType() to support malloc calls that have non-bitcast uses. Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly. Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use. Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use. Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86077 91177308-0d34-0410-b5e6-96231b3b80d8
* Make opt default to not adding a target data string and update tests that ↵Kenneth Uildriks2009-11-037-1/+8
| | | | | | depend on target data to supply it within the test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85900 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert Analysis tests to FileCheck in regards to PR5307.Edward O'Callaghan2009-10-275-7/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85241 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach BasicAA how to analyze Select instructions, and make it moreDan Gohman2009-10-261-0/+73
| | | | | | | aggressive on PHI instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85158 91177308-0d34-0410-b5e6-96231b3b80d8
* Update these tests to match what Loop::print now prints.Dan Gohman2009-10-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85021 91177308-0d34-0410-b5e6-96231b3b80d8
* fix testChris Lattner2009-10-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84405 91177308-0d34-0410-b5e6-96231b3b80d8
* tighten up test3, add test3a for the converse Chris Lattner2009-10-181-3/+22
| | | | | | | transform, which isn't happening yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84402 91177308-0d34-0410-b5e6-96231b3b80d8
* tighten test2, add a test that it doesn't get transformed in the invalid ↵Chris Lattner2009-10-181-1/+12
| | | | | | edge case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84401 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge tests into modref.ll. Also add a test for r84174 at Chris' behest!Nick Lewycky2009-10-183-31/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84400 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a couple new testcases.Nick Lewycky2009-10-182-0/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84385 91177308-0d34-0410-b5e6-96231b3b80d8
* replace a useless test with a useful oneChris Lattner2009-10-171-13/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84383 91177308-0d34-0410-b5e6-96231b3b80d8
* Make use of the result of the loads even though that means adding -instcombine.Nick Lewycky2009-10-141-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84125 91177308-0d34-0410-b5e6-96231b3b80d8
* Another BasicAA fix. If a value does not alias a GEP's base pointer, then itEvan Cheng2009-10-141-0/+30
| | | | | | | | | cannot alias the GEP. GEP pointer alias rule states this clearly: A pointer value formed from a getelementptr instruction is associated with the addresses associated with the first operand of the getelementptr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84079 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace test with a simpler hand crafted one.Evan Cheng2009-10-141-76/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84069 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach basic AA about PHI nodes. If all operands of a phi NoAlias another ↵Evan Cheng2009-10-131-0/+86
| | | | | | value than it's safe to declare the PHI NoAlias the value. Ditto for MustAlias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84038 91177308-0d34-0410-b5e6-96231b3b80d8
* don't use dead loads as tests.Chris Lattner2009-10-131-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83985 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach BasicAA a little something about the atomic intrinsics: they can onlyNick Lewycky2009-10-131-0/+16
| | | | | | | modify through the pointer they're given. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83959 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it ↵Victor Hernandez2009-09-251-1/+1
| | | | | | causes regressions in the nightly tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82784 91177308-0d34-0410-b5e6-96231b3b80d8
* Auto-upgrade malloc instructions to malloc calls.Victor Hernandez2009-09-241-1/+1
| | | | | | | | Reviewed by Devang Patel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82694 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach ScalarEvolution how to reason about no-wrap flags on loopsDan Gohman2009-09-171-0/+76
| | | | | | | | | where the induction variable has a non-unit stride, such as {0,+,2}, and there are expressions such as {1,+,2} inside the loop formed with or or add nsw operators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82151 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate more redundant llvm-as calls.Dan Gohman2009-09-113-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81540 91177308-0d34-0410-b5e6-96231b3b80d8
* Change tests from "opt %s" to "opt < %s" so that opt doesn't see theDan Gohman2009-09-11128-132/+132
| | | | | | | | | input filename so that opt doesn't print the input filename in the output so that grep lines in the tests don't unintentionally match strings in the input filename. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81537 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate more uses of llvm-as and llvm-dis.Dan Gohman2009-09-092-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81293 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert a few more opt | llvm-dis to opt -S.Dan Gohman2009-09-083-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81261 91177308-0d34-0410-b5e6-96231b3b80d8
* Use opt -S instead of piping bitcode output through llvm-dis.Dan Gohman2009-09-0829-32/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81257 91177308-0d34-0410-b5e6-96231b3b80d8
* Change these tests to feed the assembly files to opt directly, insteadDan Gohman2009-09-08128-132/+132
| | | | | | | of using llvm-as, now that opt supports this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81226 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated tests to use ProfileVerifer to test ProfileLoader and ProfileEstimator.Andreas Neustifter2009-09-042-3/+13
| | | | | | | (Keep disabled test disabled until selfhosted build issue is resolved.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81008 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "--- Reverse-merging r80908 into '.':", I already "fixed" this.Daniel Dunbar2009-09-033-0/+345
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80970 91177308-0d34-0410-b5e6-96231b3b80d8
* --- Reverse-merging r80908 into '.':Bill Wendling2009-09-033-345/+0
| | | | | | | | | | | | D test/Analysis/Profiling --- Reverse-merging r80907 into '.': U lib/Analysis/ProfileInfoLoaderPass.cpp Attempt to remove failure in the self-hosting build bot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80966 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable some parts of the profiling-tool-chain test, which is currently failingDaniel Dunbar2009-09-031-5/+9
| | | | | | | on a self-hosted build (although it seems to work on non-self hosted). I'll work with Andreas to figure this out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80947 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply profiling tests.Daniel Dunbar2009-09-033-0/+341
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80908 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed temporarily because of breaking Darwin builds.Andreas Neustifter2009-09-023-341/+0
| | | | | | | (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086214.html) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80799 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed profiling-tool-chain.ll test to use optimal-edge-profiling instead ofAndreas Neustifter2009-09-022-7/+164
| | | | | | | | | | edge-profiling, this is more useful since the loading of the optimal-edge-profiling is more complicated. The edge-profiling is tested in edge-profiling.ll where only the instrumentation is tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80791 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't force the triple or data layout in this test. We just have to get themDaniel Dunbar2009-09-021-2/+0
| | | | | | from the host and hope that works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80751 91177308-0d34-0410-b5e6-96231b3b80d8
* rename test so that name reflects what it is testing for.Chris Lattner2009-08-301-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80519 91177308-0d34-0410-b5e6-96231b3b80d8
* convert to filecheck format.Chris Lattner2009-08-301-2/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80518 91177308-0d34-0410-b5e6-96231b3b80d8
* rm needs -fTorok Edwin2009-08-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80363 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the llvmprof.out from the test output, otherwise runningTorok Edwin2009-08-281-1/+1
| | | | | | | | make check in a non-clean directory causes it to fail (for example when running make check twice), since execution counts will differ. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80362 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove profiling output file because two consecutive runs of make check giveAndreas Neustifter2009-08-281-0/+1
| | | | | | | error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80357 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed unnecessary file creation during test.Andreas Neustifter2009-08-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80356 91177308-0d34-0410-b5e6-96231b3b80d8
* Pulled all tests into one test. Removed some redundant tests. Rename.Andreas Neustifter2009-08-284-326/+181
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80355 91177308-0d34-0410-b5e6-96231b3b80d8
* Readded test from r79615, this tests the complete profiling tool chain. FurhterAndreas Neustifter2009-08-284-0/+330
| | | | | | | tests can test only parts of this system. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80348 91177308-0d34-0410-b5e6-96231b3b80d8
* Create a ScalarEvolution-based AliasAnalysis implementation.Dan Gohman2009-08-261-0/+194
| | | | | | | | | | | | | | | | | This is a simple AliasAnalysis implementation which works by making ScalarEvolution queries. ScalarEvolution has a more complete understanding of arithmetic than BasicAA's collection of ad-hoc checks, so it handles some cases that BasicAA misses, for example p[i] and p[i+1] within the same iteration of a loop. This is currently experimental. It may be that the main use for this pass will be to help find cases where BasicAA can be profitably extended, or to help in the development of the overall AliasAnalysis infrastructure, however it's also possible that it could grow up to become a directly useful pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80098 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed profiling test, lli not available on all platforms.Andreas Neustifter2009-08-214-330/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79633 91177308-0d34-0410-b5e6-96231b3b80d8
* Added tests for Profiling Infrastructure.Andreas Neustifter2009-08-214-0/+330
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79615 91177308-0d34-0410-b5e6-96231b3b80d8
* Loosen up the regex for this test so that it doesn't implicitlyDan Gohman2009-08-191-1/+3
| | | | | | | depend on TargetData information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79491 91177308-0d34-0410-b5e6-96231b3b80d8
* Make LLVM Assembly dramatically easier to read by aligning the comments,Dan Gohman2009-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | using formatted_raw_ostream's PadToColumn. Before: bb1: ; preds = %bb %2 = sext i32 %i.01 to i64 ; <i64> [#uses=1] %3 = getelementptr double* %p, i64 %2 ; <double*> [#uses=1] %4 = load double* %3, align 8 ; <double> [#uses=1] %5 = fmul double %4, 1.100000e+00 ; <double> [#uses=1] %6 = sext i32 %i.01 to i64 ; <i64> [#uses=1] %7 = getelementptr double* %p, i64 %6 ; <double*> [#uses=1] After: bb1: ; preds = %bb %2 = sext i32 %i.01 to i64 ; <i64> [#uses=1] %3 = getelementptr double* %p, i64 %2 ; <double*> [#uses=1] %4 = load double* %3, align 8 ; <double> [#uses=1] %5 = fmul double %4, 1.100000e+00 ; <double> [#uses=1] %6 = sext i32 %i.01 to i64 ; <i64> [#uses=1] %7 = getelementptr double* %p, i64 %6 ; <double*> [#uses=1] Several tests required whitespace adjustments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78816 91177308-0d34-0410-b5e6-96231b3b80d8