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
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