This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] combine: Do not call simplify from inside change_zero_ext (PR78232)


On Wed, Nov 09, 2016 at 09:30:59AM +0100, Eric Botcazou wrote:
> > This can also happen if a splitter in the MD uses nonzero_bits (for
> > example).  I tried to make the splitting code in combine save and restore
> > the i2dest reg_stat info, but that causes one of the acats tests to fail.
> 
> Could you elaborate?  Did you try to temporarily invalidate it, e.g. by means 
> of last_set_label, or something more involved?

You need more than that, e.g. reg_nonzero_bits_for_combine looks at the
nonzero_bits field no matter what else.  So I set all fields to "safe"
values and restored them later (if no combination is done).  But this
fails in acats c66002c (all other tests for all languages work fine).

I didn't have the heart to look into this testcase breakage; the
save/restore thing would make this already way over-complex code a lot
more complex still, so I made a safer change instead.

Ideally reg_stat will just go away, but that will not happen soon.


Segher


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]