<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 10, 2014, at 4:06 PM, Chandler Carruth <<a href="mailto:chandlerc@google.com" class="">chandlerc@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Dec 11, 2014 at 1:02 AM, Reid Kleckner <span dir="ltr" class=""><<a href="mailto:rnk@google.com" target="_blank" class="">rnk@google.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">How much code is there that looks at target specific intrinsics from generic IR passes?</blockquote><div class=""><br class=""></div><div class="">I suspect quite a bit transitively. ValueTracking, constant folding, instsimplify, instcombine, etc.</div></div></div></div></div></blockquote>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.</div><div><br class=""></div><div>I didn’t look at other targets.  ARM is probably supported in a similar number of places to x86.  Other targets probably less so.</div><div><br class=""></div><div>Pete<br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Can we move this code into something like TargetTransformInfo?</blockquote></div><br class="">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.</div></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:LLVMdev@cs.uiuc.edu" class="">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" class="">http://llvm.cs.uiuc.edu</a><br class=""><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" class="">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br class=""></div></blockquote></div><br class=""></body></html>