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


Jeff,

thanks again for suggestions.

As I understand it (perhaps wrongly), actual splitting only occurs after combine pass (by split1 pass).

The combine, does, match one of my patterns (lshift:SI (zero_extend:QI....), 8/16/24). The other splitters (zero_extend) are "matched" initially - since they are standard insn.

I dont think this matters, if neither is split until split1 - (or does combine perform a split that is hidden from the dump files?)

If your description is correct, you may have answered the question - combine is before split1 so there are no further optimisation perfromed on any split - since simplfy-rtx is never called.

I could use expand - but I know that will cause a world of hurt by missing optimisations at the "word" level. So new psuedos seems my only way forward (at the target level)

Which optimiser/pass would benefit from handling subregs better?

best regards

Andy




-----Original Message----- From: Jeff Law <law@redhat.com> To: hutchinsonandy@aim.com Cc: gcc@gcc.gnu.org Sent: Tue, 19 Feb 2008 2:47 pm Subject: 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Â



________________________________________________________________________
More new features than ever. Check out the new AIM(R) Mail ! - http://webmail.aim.com



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