[llvm-dev] Heads-up: Handling target-specific intrinsics in InstCombine
Hal Finkel via llvm-dev
llvm-dev at lists.llvm.org
Mon Jun 29 19:31:01 PDT 2020
On 6/29/20 7:29 AM, Nicolai Hähnle via llvm-dev wrote:
> Hello,
>
> this mail is to raise awareness of https://reviews.llvm.org/D81728,
> which is substantial enough of a conceptual change that it should
> probably at least be mentioned in llvm-dev.
>
> InstCombine has dealt with target-specific intrinsics for a long time,
> since its fix-point iteration is arguably the right place to do so. A
> downside is that there's a pull to add an increasing amount of code
> into lib/Transforms/InstCombine/ that really is target-specific.
>
> What the aforementioned change does is provide a target hook via
> TargetTransformInfo, and move the handling of all target intrinsics
> for InstCombine purposes into the corresponding lib/Target/$foo/
> directory via the hook, thus cleaning up the core of InstCombine.
>
> Cheers,
> Nicolai
I said this on the review, but to repeat it here, I think that this is a
good idea. We should allow targets to customize the behavior of the
optimizer with respect to target-specific intrinsics using code in the
target, not code spread throughout the optimizer. We now do this kind of
thing using TTI in many other places, and we should do it here too.
-Hal
--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-dev
mailing list