Question about the platform/OS used by most LLVM developers

Hi, I’m working on a tool that is very useful for working with compiler IR and the plan is to open source it next year (I work on the MSVC optimizer at Microsoft). It’s a Windows-based UI tool, but does work well on Linux using Wine with a couple of distributions I tried, including Ubuntu.

What I wonder is what OS most LLVM devs use for the typical dev work, bug investigations etc. that involve dealining with LLVM IR/MLIR. I assume most are not using Windows, but do wonder about the Linux/Mac OS split, and then for Linux what distro.

Was there such a survey ever done? If I’d make a survey, would people be willing to answer it? :slight_smile: Knowing this would help make sure the tool works fine for the platform used by most LLVM devs.

Thanks,
Gratian Lup

Hi,

I’m working on a tool that is very useful for understanding and visualizing compiler IR and the plan is to open source it next year ('m a dev on the MSVC optimizer at Microsoft). It’s a Windows-based UI tool, but does work well on Linux using Wine with a couple of distributions I tried, including Ubuntu.

What I wonder is what OS most LLVM devs use for the typical dev work, bug investigations etc. that involve dealining with LLVM IR/MLIR. I assume most are not using Windows, but do wonder about the Linux/Mac OS split, and then for Linux what distro.

Was there such a survey ever done? If I’d make a survey, would people be willing to answer it? :slight_smile: Knowing this would help make sure the tool works fine for the platform used by most LLVM devs.

Thanks,
Gratian Lup

I’m not aware of any survey like that. It would be interesting to know, and I expect a lot of people would be willing to respond to a survey. Some people use more than one; I use both Ubuntu and Windows, for example.

In general the project looks for tools to be usable across the major platforms, so I would recommend against using the results of the survey to focus on one platform to the exclusion of others. This is admittedly trickier if you have GUIs in the mix, but seems solvable.

–paulr

I’m not the most regular contributor, but if I were to guess, I’d expect it’s reasonably well mixed and there are likely a decent number of “poly-OS” folks (I’m currently prototyping something & working on it on both debian linux + mac osx).

One thing that immediately occurred to me is that splitting a tool like that into a library/command line tool/service that’s independent of the actual ‘display’ is something that seems relatively common with clang/llvm libraries and also a technique that’s been done with clang-related tools in the past to get cross platform & cross editor exploration (e.x. the clangd service + a vscode plugin or a plugin for any other editor that supports the LSP). That could be an easy or easy-ish way to build something cross platform that helps with visualizing compiler IR without having to solve the cross-platform-GUI problem.

–EJM

Thanks for the info!
Made a survey with 3 questions here, it would be great to get some answers:

https://www.surveymonkey.com/r/SDQMM3Q

I assumed there is a mix of OS usage (although didn’t think about FreeBSD, to be honest) and getting the app to run on all these platforms would be ideal.
Main issue is that it’s made using .NET Core (C#) and WPF, with WPF being now the Windows-only part, officially. I’ve got it to work really well with Wine though on Linux, and Docker makes things even easier by having to just get a prebuilt image that has everything configured properly.

The app does have several libs, with a “core” part and 1-2 command-line tools that would run natively where .NET core does, just that the power of the tool is all in the UI. Not sure I can share screenshots yet, that would give a better idea of what it is. Think about it as an IDE for compiler devs I guess. Sometimes I regret not going with QT, but such a change would be a big rewrite at this point and it’s mostly my free-time project. And to be honest I would rather not use C++ for this even though I work on a C++ compiler…

Btw, should I send another message just with the survey link, or does this have enough visibility?

Thanks,
Gratian

I suggest a separate email with a more obvious subject line. And not to be snarky—survey design is oddly non-trivial–some suggestions about the survey itself:

Q.1 should allow more than one response. I’m not sure which I would pick, if forced to pick only one.

Q.3 appears to assume “your platform/OS” is not Windows, which as a Windows user, makes it hard to choose an answer. Would I want to run something not native to Windows in a Windows VM running on Windows? Hmmmm…

Looking forward to an improved survey,

–paulr

Thanks, I appreciate the feedback and rephrased the questions to make things more clear. Sadly can’t change to multi-answer anymore for question 1 since I got around 22 answers and doing that would reset the current survey.

Yes, I mostly want to get a better understanding of the dev environment of LLVM devs, to do more testing on those platforms, beside getting the application to run in the first place since it’s Windows-native. From current answers Linux is 70%+ and there the app runs fine using Wine, or the easier way, in a Docker container with everything set up. Didn’t have luck replicating either approach on Mac OS Big Sur yet.

Gratian