This is the mail archive of the gcc@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: Redundant logical operations left after early splitting


hutchinsonandy@aim.com wrote:

The RTL for IOR Rx,0 does use subregs (since I use simplify_gen_subreg in splitter.)

Perhaps I should generate new pseudo QI registers instead before reload?
It's been a long time, but yes, you could look into creating new
registers if you're early into in the optimization pipeline.  Your
alternative is to extend the optimizers to better handle subregs
better.


The latter is far more general and would probably help in numerous situations and is definitely worth a looksie to see if it can be done easily.



Is there any particular function or pass that should be dealing with IOR rx,0 - that I could trace thru and figure out why it does not like it (or never gets there)?
I would be looking in combine and simplify-rtx (which is called by
combine).  If your splitter triggers after combine, then I'm not
immediately sure where to look -- I'm not offhand aware of a pass
after combine which would call into simplify-rtx to perform this
optimization.

jeff


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