[LLVMdev] [RFC] Stripping unusable intrinsics
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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev