[llvm] r207301 - [X86] Implement TargetLowering::getScalingFactorCost hook.

Hal Finkel hfinkel at anl.gov
Sun Apr 27 05:09:05 PDT 2014

----- Original Message -----
> From: "Krzysztof Parzyszek" <kparzysz at codeaurora.org>
> To: llvm-commits at cs.uiuc.edu
> Sent: Saturday, April 26, 2014 5:38:22 PM
> Subject: Re: [llvm] r207301 - [X86] Implement	TargetLowering::getScalingFactorCost hook.
> On 4/26/2014 5:15 PM, Chandler Carruth wrote:
> >
> > The problem I hit was the *DAG* destroying the information because
> > it is
> > represented as arbitrary math in the DAG and we have a bunch of DAG
> > combines for math. If you want to make the problem I observed
> > better,
> > the way to do so is to introduce an addressing mode DAG node (or
> > kill
> > off the DAG completely).
> What would be nice is if the DAG combiner consulted the targets
> whether
> to perform any given operation or not.  This type of problem extends
> beyond addressing modes.  Even for a specific target, a specific
> transformation may be beneficial or deterimental depending on
> circumstances. 

How do you propose we change this? We often already check operation legality, etc., and I agree this is fairly crude, but I don't recall anyone proposing a more-sophisticated framework.

> Currently, the target-specific combining only happens
> when the generic one (visit) does nothing.

This is a separate problem, and I would certainly be in favor of a patch that fixes it!


> -K
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> hosted by The Linux Foundation
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory

More information about the llvm-commits mailing list