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

Eli Bendersky eliben at google.com
Thu Feb 28 08:38:36 PST 2013


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?

Eli




More information about the llvm-commits mailing list