RFC: alive.llvm.org?

Hi folks,

I've been running a Compiler Explorer instance with Alive2 on a machine in my office, but availability has been poor due to random factors and of course recently it hasn't been easy or convenient to go in and fix things when the machine gets wedged.

Nuno and I would like to ask the LLVM community if it's OK to point alive.llvm.org at a cloud machine that I've setup with Alive2 + Compiler Explorer, that should have considerably better availability.

Other than the DNS entry, there will be no usage of LLVM community resources.

For those who don't know what Alive2 is, we wrote an intro here:

   https://blog.regehr.org/archives/1722

Comments and feedback appreciated. Thanks,

John and Nuno

This seems pretty clear cut to me - alive2 is a great tool, and I’d love to see it get more visibility in the LLVM world. Would it make sense to add a web page and make it feel more like an llvm project? Does anyone else have any concerns?

-Chris

No concerns from me. I use Alive2 all the time, and it would be fantastic to have it available online reliably.

If we can get Alive1 up there too, that would be even better. I still use that to try to prove things where it’s not obvious how to express the relationships in pure LLVM IR:
https://rise4fun.com/Alive/NDu

Nope. Sounds like a solid improvement!

Yes, this is definitely the case -- alive2 has several sub-tools that we should explain, and also I think it would be useful to have a page containing a bunch of examples illustrating things like poison/undef pitfalls for people, since that stuff takes a while to get used to.

John

If we can get Alive1 up there too, that would be even better. I still use that to try to prove things where it's not obvious how to express the relationships in pure LLVM IR:
https://rise4fun.com/Alive/NDu

I don't expect it would be real hard to shoehorn alive1 into Compiler Explorer, but Nuno and I will have to talk about whether we (or he, more accurately) wants to keep supporting it. We might prefer to try to just support use cases such as your example in alive2.

John

+1 to alive2.llvm.org

> If we can get Alive1 up there too, that would be even better. I still
> use that to try to prove things where it's not obvious how to express
> the relationships in pure LLVM IR:
> https://rise4fun.com/Alive/NDu

I don't expect it would be real hard to shoehorn alive1 into Compiler
Explorer, but Nuno and I will have to talk about whether we (or he, more
accurately) wants to keep supporting it. We might prefer to try to just
support use cases such as your example in alive2.

alive1 is python2 though, so someone would need to port it to python3 first.

Perhaps a better alternative would be to finish adding
missing support for Preconditions/constants into alive2

John

Roman

Cool, I’m not hearing any objections to this - John please work with llvm-admin to get it set up, thanks!

-Chris

Thanks for being supportive, folks! This site is working now:

https://alive2.llvm.org/

I am hoping that availability will be much better than before. It is not an incredibly strong machine, so if your alive query requires a lot of memory or CPU time, you will need to run it on your own hardware (but also we are working on technical fixes for some of the timeouts that are currently seen).

Nuno and I will work on some sort of document about Alive2 that we can make part of the LLVM documentation.

John

Nice, thank you!