{"id":197,"date":"2020-07-30T16:49:53","date_gmt":"2020-07-30T16:49:53","guid":{"rendered":"https:\/\/www.linuxplumbersconf.org\/blog\/2020\/?p=197"},"modified":"2023-03-08T07:03:45","modified_gmt":"2023-03-08T07:03:45","slug":"llvm-microconference-accepted-into-2020-linux-plumbers-conference","status":"publish","type":"post","link":"https:\/\/lpc.events\/blog\/current\/index.php\/2020\/07\/30\/llvm-microconference-accepted-into-2020-linux-plumbers-conference\/","title":{"rendered":"LLVM Microconference Accepted into 2020 Linux Plumbers Conference"},"content":{"rendered":"<p>We are pleased to announce that the LLVM Microconference has been accepted into the 2020 Linux Plumbers Conference!<\/p>\n<p>The LLVM toolchain has made significant progress over the years and many kernel developers are now using it to build their kernels. It is still the one toolchain that can natively compile C into BPF byte code. Clang (the C frontend to LLVM) is used to build Android and ChromeOS kernels and others are in the process of testing to use Clang to build their kernels.<\/p>\n<p>Many topics still need to be resolved, and are planned to be discussed here.<br \/>\nThese include (but not limited to):<\/p>\n<ul>\n<li>Barriers to <a href=\"https:\/\/www.zdnet.com\/article\/programming-languages-now-rust-project-looks-for-a-way-into-the-linux-kernel\/\">in-tree Rust support<\/a>?<\/li>\n<li><a href=\"https:\/\/lore.kernel.org\/kernel-hardening\/20200624203200.78870-1-samitolvanen@google.com\/\">Memory ordering and compiler verification<\/a><\/li>\n<li> <a href=\"https:\/\/lore.kernel.org\/kernel-hardening\/20200624203200.78870-1-samitolvanen@google.com\/\">Kernel LTO<\/a> with clang and optimizing using profiling information (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Profile-guided_optimization\">PGO<\/a> and <a href=\"https:\/\/opensource.google\/projects\/autofdo\">AutoFDO<\/a>)<\/li>\n<li>Clang related Continuous Integration topics:\n<li>Improving KernelCI clang integration<\/li>\n<li>Improving 0day bot clang integration<\/li>\n<li>Using clang with <a href=\"https:\/\/gitlab.com\/Linaro\/tuxbuild\">tuxbuild<\/a><\/li>\n<li>Setting up CI on the LLVM side for Linux kernel builds<\/li>\n<li>Cross LLVM\/binutils testing<\/li>\n<\/li>\n<li>Measuring and improving <a href=\"https:\/\/lists.llvm.org\/pipermail\/cfe-dev\/2020-July\/066093.html\">kernel compile times<\/a> with Clang<\/li>\n<li>Builds of <a href=\"https:\/\/mirrors.edge.kernel.org\/pub\/tools\/crosstool\/\">LLVM for kernel.org<\/a><\/li>\n<li>Using <a href=\"https:\/\/lkml.org\/lkml\/2019\/8\/6\/941\">clang-tidy<\/a> and clang-format with kernel code<\/li>\n<li>Coordination between clang and GCC developers on GNU C extensions used in the kernel code<\/li>\n<li>asm goto w\/ outputs (CONFIG_CC_HAS_ASM_GOTO_OUTPUT)<\/li>\n<li>Parsing issues with genksyms<\/li>\n<li>clang feedback session; what&#8217;s working, what can be improved.<\/li>\n<\/ul>\n<p>Come and join us in the discussion of improving this new toolchain to make it the most useable<br \/>\nfor everyone!<\/p>\n<p>We hope to see you <a href=\"https:\/\/www.linuxplumbersconf.org\/event\/7\/page\/80-accepted-microconferences#llvm-cr\">there<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are pleased to announce that the LLVM Microconference has been accepted into the 2020 Linux Plumbers Conference! The LLVM toolchain has made significant progress over the years and many kernel developers are now using it to build their kernels. It is still the one toolchain that can natively compile C into BPF byte code. [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[19],"class_list":["post-197","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-19"],"_links":{"self":[{"href":"https:\/\/lpc.events\/blog\/current\/index.php\/wp-json\/wp\/v2\/posts\/197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lpc.events\/blog\/current\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lpc.events\/blog\/current\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lpc.events\/blog\/current\/index.php\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/lpc.events\/blog\/current\/index.php\/wp-json\/wp\/v2\/comments?post=197"}],"version-history":[{"count":1,"href":"https:\/\/lpc.events\/blog\/current\/index.php\/wp-json\/wp\/v2\/posts\/197\/revisions"}],"predecessor-version":[{"id":431,"href":"https:\/\/lpc.events\/blog\/current\/index.php\/wp-json\/wp\/v2\/posts\/197\/revisions\/431"}],"wp:attachment":[{"href":"https:\/\/lpc.events\/blog\/current\/index.php\/wp-json\/wp\/v2\/media?parent=197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lpc.events\/blog\/current\/index.php\/wp-json\/wp\/v2\/categories?post=197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lpc.events\/blog\/current\/index.php\/wp-json\/wp\/v2\/tags?post=197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}