diff options
author | Adam Nemet <anemet@apple.com> | 2015-07-27 23:54:41 +0000 |
---|---|---|
committer | Adam Nemet <anemet@apple.com> | 2015-07-27 23:54:41 +0000 |
commit | 54f0b83ee227ea9e18140f4a5f3becccc1378fd9 (patch) | |
tree | 089731d06cb1deea2428155a3670fa144fe490f3 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 7c542b45699343a33b5647cf560d74e14158254d (diff) | |
download | llvm-54f0b83ee227ea9e18140f4a5f3becccc1378fd9.zip llvm-54f0b83ee227ea9e18140f4a5f3becccc1378fd9.tar.gz llvm-54f0b83ee227ea9e18140f4a5f3becccc1378fd9.tar.bz2 |
[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
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions