On Fri, Sep 15, 2017 at 10:56:04AM -0600, Jeff Law wrote:
> Yes, these are some of the things we kicked around.  One of the most
> interesting conclusions was that for these target issues we'd really
> like a target.pd file to handle this class of transformations just prior
> to rtl expansion.

But often combine will need to know about which bits you actually care
about (and other passes too, but combine is the biggie).

> Essentially early type promotion/demotion would be concerned with cases
> where we can eliminate operations in a target independent manner and
> narrow operands as much as possible.  Late promotion/demotion would deal
> with stuff like the target's desire to work on specific sized hunks in
> specific contexts.
> 
> I'm greatly oversimplifying here.  Type promotion/demotion is fairly
> complex to get right.

Yeah :-(

Maybe the best thing is to promote really early, but to keep track of which
bits matter.  And then adjust some passes to take that into account.  Not a
trivial amount of work.


Segher

Reply via email to