keita abdoul-kader via llvm-dev
2017-Aug-25 16:47 UTC
[llvm-dev] [RFC] Enhance Partial Inliner by using a general outlining scheme for cold blocks
Hello Graham, We are also starting some work in the general direction of outlining/function splitting using profiling information. In our case, we are focusing on splitting functions into smaller parts to allow for a better code layout and thus better Icache/ITLB utilization. It wasn't clear to me from your description what type of subgraphs those cold regions would generate, and whether you would need to extend the code in CodeExtractor.h/FunctionCloner to support those. Abdoul-kader keita, Compiler Engineering @ Facebook, Inc Thanks, -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170825/7512162a/attachment.html>
Graham Yiu via llvm-dev
2017-Aug-25 18:56 UTC
[llvm-dev] [RFC] Enhance Partial Inliner by using a general outlining scheme for cold blocks
Hey Kader, So I'm not sure what you mean by what type of subgraphs. The cold regions would be outlined into its own function (assuming single entry, single exit), and there could be multiple regions we outline from a single function. I currently have a prototype that can do this type of outlining without modifying the CodeExtractor, but the FunctionCloner needed some changes to track multiple outline functions and its corresponding in the parent function. Graham Yiu LLVM Compiler Development IBM Toronto Software Lab Office: (905) 413-4077 C2-707/8200/Markham Email: gyiu at ca.ibm.com From: keita abdoul-kader via llvm-dev <llvm-dev at lists.llvm.org> To: llvm-dev at lists.llvm.org Date: 08/25/2017 12:48 PM Subject: [llvm-dev] [RFC] Enhance Partial Inliner by using a general outlining scheme for cold blocks Sent by: "llvm-dev" <llvm-dev-bounces at lists.llvm.org> Hello Graham, We are also starting some work in the general direction of outlining/function splitting using profiling information. In our case, we are focusing on splitting functions into smaller parts to allow for a better code layout and thus better Icache/ITLB utilization. It wasn't clear to me from your description what type of subgraphs those cold regions would generate, and whether you would need to extend the code in CodeExtractor.h/FunctionCloner to support those. Abdoul-kader keita, Compiler Engineering @ Facebook, Inc Thanks, _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Ddev&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=4ST7e3kMd0GTi3w9ByK5Cw&m=7qKkgqzSpO7gQOKtb_lBf6F1_pX_MNLYrYg25Oxg9e4&s=Z7dIsavKEJcakTkG0iw2Hfj0oEjvCCkV7Orpp61P6o8&e -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170825/bc476fa0/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: graycol.gif Type: image/gif Size: 105 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170825/bc476fa0/attachment.gif>