[LLVMdev] [RFC] Stripping unusable intrinsics

Pete Cooper peter_cooper at apple.com
Wed Dec 10 16:10:41 PST 2014

> On Dec 10, 2014, at 4:06 PM, Chandler Carruth <chandlerc at google.com> wrote:
> On Thu, Dec 11, 2014 at 1:02 AM, Reid Kleckner <rnk at google.com <mailto:rnk at google.com>> wrote:
> How much code is there that looks at target specific intrinsics from generic IR passes?
> I suspect quite a bit transitively. ValueTracking, constant folding, instsimplify, instcombine, etc.
Yeah.  Quite a bit is a good way to put it.  Just looking for ‘Intrinsic::x86’ hits AutoUpgrade, ConstantFolding, InstCombineCalls, LoopStrengthReduce, MemorySanitizer, SelectionDAGBuilder and ValueTracking.

I didn’t look at other targets.  ARM is probably supported in a similar number of places to x86.  Other targets probably less so.

> Can we move this code into something like TargetTransformInfo?
> Yikes, no. That's behind an abstract common interface. All of the above are specialized specific uses of narrow interfaces in relative hot paths of the optimizer.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141210/42447c8f/attachment.html>

More information about the llvm-dev mailing list