http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52203

--- Comment #8 from Andrey Belevantsev <abel at gcc dot gnu.org> 2012-02-14 
06:56:10 UTC ---
Sorry, I didn't explain clearly from the start.  Regarding the backend, I just
wanted to double check that for the given insn not having a reservation is
correct.  Now that Uros confirmed this, I can proceed with the scheduler patch.

Uros and Steven, regarding the big picture, you can read the thread on PR
49014, starting from http://gcc.gnu.org/ml/gcc-patches/2011-05/msg01801.html
(our first discussions with Bernd) and initial patch with the remainder of the
thread at http://gcc.gnu.org/ml/gcc-patches/2011-07/msg00045.html.  Basically,
we allow insns that recog as >=0 but do not change the DFA state, such insns do
not get counted against issue rate.  I was wondering whether we could mark such
insns specially in the MD files and then assert that any other real insn should
affect the DFA.  The reason for this was that at least three real backend bugs
(missing DFA attributes) were fixed due to the more strict checking the
selective scheduler makes wrt the Haifa scheduler.  

Suprisingly, I could bootstrap x86-64 with just some hours of work with the
patch from http://gcc.gnu.org/ml/gcc-patches/2011-07/msg00045.html (the patch
marks the offending insns with the new attribute and adds an assert; Uros, if
you can spot any insns there that indeed should have a reservation, I can make
a patch fixing those).  However, at the time I gave in pursuing this work
further, as nobody was very fascinated with the idea and I didn't have much
free time.

Reply via email to