[polly] Add diagnostic remark for ReportVariantBasePtr

Diego Novillo dnovillo at google.com
Fri Jul 11 08:53:50 PDT 2014


On Fri, Jul 11, 2014 at 2:57 AM, Tobias Grosser <tobias at grosser.es> wrote:
> On 26/06/2014 23:06, Andreas Simbuerger wrote:
>>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> - --- examples/polli ยป pclang -S -g -gcolumn-info -emit-llvm -O3 -mllvm
>> - -polly-detect-track-failures -mllvm -polly-detect-keep-going -mllvm
>> - -polly -Xclang -Rpass-missed="polly-detect" -c tobi-scop.c
>> tobi-scop.c:6:8: remark: The following errors keep this region from
>> being a Scop.
>>        [-Rpass-missed=polly-detect]
>>    for (int i = 0; i < 32; i++)
>>         ^
>> tobi-scop.c:7:5: remark: The base address of this array is not
>> invariant inside the loop
>>        [-Rpass-missed=polly-detect]
>>      A->b[i] = A->b[i + 1];
>>      ^
>> tobi-scop.c:7:5: remark: The base address of this array is not
>> invariant inside the loop
>>        [-Rpass-missed=polly-detect]
>>
>> In this case here I have -Rpass-missed -g -gcolumn-info specified.
>>
>> I would expect the first remark pinned at line 7 column 5
>> and the second remark pinned at the read in line 7 column 17.
>>
>> However, the IR only contains dbg nodes for line 7 column 5 inside the
>> loop body. Tobi's patch further up in the thread fixes it.
>
>
> To add relevant information to this thread, Diego committed -gcolumn-info in
> r212781, so our caret diagnostic is now at the right place.
>
> clang still does not emit separate debug locations for individual
> loads/stores. We could now add this on top of -gcolumn-info.

Right. One of the current limitations is that the backend receives
degraded location information.  Clang's tracking of locations is
mapped to dwarf locs, which are not as precise.

One possible future direction would be to transfer Clang's source
location tables to the backend, but that seems pretty convoluted and
it would not survive without the front end. A bitcode file with the
source location annotations would not be able to provide actual
file/line/column info.


Diego.




More information about the llvm-commits mailing list