Hi Roger,

sorry for late reply, rather unexpectedly I found myself traveling last
week.

On Fri, Jun 16 2023, Roger Sayle wrote:
> Hi Martin,
> It's great to hear from you.  My apologies for the inconvenience.
> I believe that the problem has been solved by Jakub's patch:
> https://gcc.gnu.org/git/?p=gcc.git;a=commit;f=gcc/config/i386/i386.md;h=43a3252c42af12ad90082e4088ea58eecd0bf582

Unfortunately the situation remains the same, even with the above patch
in master.

The workaround I hoped for (adding --ignore-errors mismatch) does not
help either, the whole process then fails later on.  Perhaps adding
another --ignore-errors elsewhere may fix this, but at the moment I need
to defer playing with this for a few weeks.

Thanks,

Martin


>
> I strongly suspect that the problem was that my patch was emitting 
> "(const_int 0)" as
> an instruction into the RTL stream, which I'd misunderstood to be recognized 
> as a
> no-op by the middle-end.  This isn't the case and the correct idiom is to 
> (also) use:
> emit_note (NOTE_INSN_DELETED); DONE;
>
> I can easily believe that this unintended behaviour is/was interfering with 
> your code
> coverage scripts (I should study your posted results).
>
> I hope this explains things.  Please let me know if things really are not 
> fixed (or not).
> Cheers,
> Roger
> --
>
>> -----Original Message-----
>> From: Martin Jambor <mjam...@suse.cz>
>> Sent: 16 June 2023 13:51
>> To: GCC Mailing List <gcc@gcc.gnu.org>
>> Cc: Roger Sayle <ro...@nextmovesoftware.com>
>> Subject: Issue generating GCC coverage report since r14-1625-geba3565ce6d766
>> 
>> Hello,
>> 
>> we try to build coverage info for GCC for our testsuite and upload it to
>> https://gcc.opensuse.org/gcc-lcov/ every weekend.  But since patch
>> r14-1625-geba3565ce6d766 (Add support for stc and cmc instructions in
>> i386.md) the generation broke down.  However, I don't think there is 
>> something
>> necessarily wrong with that particular commit, at least I don't see anything
>> suspicious.
>> 
>> I inherited the generating script from Martin Liška and have not really 
>> looked
>> much into it much, but it simply does the following after a fresh GCC master
>> checkout (I added the --disable-multilib and reduced the number of languages 
>> to
>> reproduce this more quickly):
>> 
>> 
>>   ../src/configure --prefix=/home/mjambor/gcc/mine/inst --enable-
>> languages=c,c++ --disable-bootstrap --enable-host-shared 
>> --enable-coverage=opt
>> --disable-multilib
>>   make -j64 && make -j64 -k check
>>   find gcc/testsuite/ -name '*.gcda' -exec rm -rvf {} \;  # I don't know why 
>> the
>> script does this
>>   lcov -d . --capture --output-file gcc.info
>> 
>> 
>> and this last step, since the commit, when processing file 
>> ./gcc/insn-attrtab.gcda
>> fails with error:
>> 
>>   geninfo: ERROR: mismatched end line for _Z12get_attr_isaP8rtx_insn at
>> /home/mjambor/gcc/mine/src/gcc/config/i386/i386.md:5776: 5776 -> 8963
>>           (use "geninfo --ignore-errors mismatch ..." to bypass this error)
>> 
>> I tried looking briefly into the perl sources of lcov and geninfo but I am 
>> afraid I
>> don't have the necessary knowledge of the language and the tool or the time 
>> to
>> properly debug this.  So I am inclined to simply add --ignore-errors 
>> mismatch to
>> lcov options, which avoids the issue, and be done with it.  Nevertheless, I 
>> thought
>> I'd mention this here in case anyone here has any ideas what can be going 
>> wrong.
>> 
>> Thanks,
>> 
>> Martin

Reply via email to