1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/test/Analysis/LoopAccessAnalysis
Adam Nemet 7b14f72b61 [LAA] Split out a helper to print a collection of memchecks
This is effectively an NFC but we can no longer print the index of the
pointer group so instead I print its address.  This still lets us
cross-check the section that list the checks against the section that
list the groups (see how I modified the test).

E.g. before we printed this:

    Run-time memory checks:
    Check 0:
      Comparing group 0:
        %arrayidxC = getelementptr inbounds i16, i16* %c, i64 %store_ind
        %arrayidxC1 = getelementptr inbounds i16, i16* %c, i64 %store_ind_inc
      Against group 1:
        %arrayidxA = getelementptr i16, i16* %a, i64 %ind
        %arrayidxA1 = getelementptr i16, i16* %a, i64 %add
    ...
    Grouped accesses:
      Group 0:
        (Low: %c High: (78 + %c))
          Member: {%c,+,4}<%for.body>
          Member: {(2 + %c),+,4}<%for.body>

Now we print this (changes are underlined):

    Run-time memory checks:
    Check 0:
      Comparing group (0x7f9c6040c320):
                       ~~~~~~~~~~~~~~
        %arrayidxC1 = getelementptr inbounds i16, i16* %c, i64 %store_ind_inc
        %arrayidxC = getelementptr inbounds i16, i16* %c, i64 %store_ind
      Against group (0x7f9c6040c358):
                     ~~~~~~~~~~~~~~
        %arrayidxA1 = getelementptr i16, i16* %a, i64 %add
        %arrayidxA = getelementptr i16, i16* %a, i64 %ind
    ...
    Grouped accesses:
      Group 0x7f9c6040c320:
            ~~~~~~~~~~~~~~
        (Low: %c High: (78 + %c))
          Member: {(2 + %c),+,4}<%for.body>
          Member: {%c,+,4}<%for.body>

llvm-svn: 243354
2015-07-27 23:54:41 +00:00
..
backward-dep-different-types.ll [LoopAccesses] Remove unused global variables in tests 2015-04-02 04:42:51 +00:00
non-wrapping-pointer.ll [LAA] Try to prove non-wrapping of pointers if SCEV cannot 2015-06-26 17:25:43 +00:00
number-of-memchecks.ll [LAA] Split out a helper to print a collection of memchecks 2015-07-27 23:54:41 +00:00
pointer-with-unknown-bounds.ll [LAA] Revert a small part of r239295 2015-07-08 22:58:48 +00:00
resort-to-memchecks-only.ll [LAA] Merge memchecks for accesses separated by a constant offset 2015-07-08 09:16:33 +00:00
reverse-memcheck-bounds.ll Fix memcheck interval ends for pointers with negative strides 2015-07-16 14:02:58 +00:00
safe-no-checks.ll [LoopAccesses] Properly print whether memchecks are needed 2015-04-14 01:12:55 +00:00
store-to-invariant-check1.ll [LoopAccesses] Allow analysis to complete in the presence of uniform stores 2015-04-08 17:48:40 +00:00
store-to-invariant-check2.ll [LoopAccesses] Allow analysis to complete in the presence of uniform stores 2015-04-08 17:48:40 +00:00
store-to-invariant-check3.ll [LoopAccesses] Allow analysis to complete in the presence of uniform stores 2015-04-08 17:48:40 +00:00
stride-access-dependence.ll [LoopAccessAnalysis] Teach LAA to check the memory dependence between strided accesses. 2015-06-08 04:48:37 +00:00
underlying-objects-1.ll [getUnderlyingOjbects] Analyze loop PHIs further to remove false positives 2015-04-23 20:09:20 +00:00
underlying-objects-2.ll [LoopAccesses] Rearrange printed lines in -analyze 2015-05-18 15:36:57 +00:00
unsafe-and-rt-checks.ll Cleanup after r241809 - remove uncessary call to std::sort 2015-07-13 14:48:24 +00:00