Hi Peter, When I started the original thread last year I was in favor of adding "asm goto" and didn't understand why it wasn't done by that time. The feedback I got is that this feature (optimizing tracepoints) is very useful and that we do want it in llvm, but perhaps there's a cleaner way of implementing than "asm goto". An alternative suggestion arose as well.
I'm sure you can provide a lot of background for the decisions of why "asm goto" was chosen and which other alternatives were considered, as you were the one to implement this. This may shed a lot of light on the alternative suggestions that arose in my thread in the llvm community. I think that including GCC folks in the "small team" discussion Chandler suggested might be a very good idea, so if you have some contacts, please send them to Chandler. Anyway, I think we should consider the alternatives and not take "asm goto" as a given, even though this is the implementation of this feature for the past 7 years and it works well. I'm not saying linux kernel needs to rush and adopt an alternative solution ASAP, but we cannot ignore that it exists and may (or may not) be the direction of the future (for both gcc and llvm). Thanks, Marina -----Original Message----- From: Peter Zijlstra [mailto:[email protected]] Sent: Wednesday, February 14, 2018 11:09 To: Yatsina, Marina <[email protected]> Cc: Kees Cook <[email protected]>; David Woodhouse <[email protected]>; Chandler Carruth <[email protected]>; Kreitzer, David L <[email protected]>; Grischenko, Andrei L <[email protected]>; [email protected]; LLVM Developers <[email protected]>; [email protected]; Tayree, Coby <[email protected]>; Matthias Braun <[email protected]>; Dean Michael Berris <[email protected]>; James Y Knight <[email protected]>; Guenter Roeck <[email protected]>; X86 ML <[email protected]>; LKML <[email protected]>; Alan Cox <[email protected]>; Rik van Riel <[email protected]>; Andi Kleen <[email protected]>; Josh Poimboeuf <[email protected]>; Tom Lendacky <[email protected]>; Linus Torvalds <[email protected]>; Jiri Kosina <[email protected]>; Andy Lutomirski <[email protected]>; Hansen, Dave <[email protected]>; Tim Chen <[email protected]>; Greg Kroah-Hartman <[email protected]>; Paul Turner <[email protected]>; Stephen Hines <[email protected]>; Nick Desaulniers <[email protected]> Subject: Re: clang asm-goto support (Was Re: [PATCH v2] x86/retpoline: Add clang support) On Wed, Feb 14, 2018 at 08:33:39AM +0000, Yatsina, Marina wrote: > I hope this will give this issue a push forward and we will find a > solution that will not prevent llvm from compiling linux kernel. That solution is asm-goto. We (linux kernel) are not going to support something like it. It's going to be asm-goto or bust. The feature is over 7 years old by now, deal with it. If you ever get to the point where it makes sense to build a kernel with LLVM, then you can bike-shed with the GCC team on new features, until then tough luck. --------------------------------------------------------------------- Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.

