[llvm] r176136 - Have a way for a target to opt-out of target-independent fast isel

Evan Cheng evan.cheng at apple.com
Thu Feb 28 08:50:55 PST 2013



On Feb 28, 2013, at 8:38 AM, Eli Bendersky <eliben at google.com> wrote:

> On Tue, Feb 26, 2013 at 8:37 PM, Michael Ilseman <milseman at apple.com> wrote:
>> 
>> On Feb 26, 2013, at 3:30 PM, Eli Bendersky <eliben at google.com> wrote:
>> 
>>> Can you provide more background for this change? Is it being done for
>>> the sake of debugging? What are the intended use cases?
>> 
>> Sure! Debugging can definitely be improved by this, but this also gives targets more flexibility. Targets can fast-isel better code with more coverage in some situations. For example, SelectOperator(), even when it returns false, has side-effects and can schedule IR instructions to be fast-iselled that otherwise never would. This becomes particularly unfortunate when such instructions trigger the DAG slow-path.
> 
> Thanks for the explanation Michael. Even though you reverted the
> change, I want to ask something more general. Your change adds a
> methods that's very generally called but only used in one specific
> place. If we simply want to prioritize target-specific fast isel over
> target-independent fast isel (which sounds like a good idea),
> shouldn't more general hooks be added?
> 

One possibly clean solution is just always attempt target-specific fast isel first. However, it's possible that would slow down the targets which mainly rely on generic fast-isel. 

Evan 

> Eli
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list