PSA: Potential lit workflow change

Hi all, I’ve got https://reviews.llvm.org/D37756 up for review currently which simplifies a lot of the logic in our lit config files.

For most people, this will be completely transparent and “just work”, but it breaks one workflow that people should be aware of.

Problem: If you run lit by putting llvm-config in your path and then running /utils/lit/lit.py / then this is not going to work anymore.

Luckily, there’s an easy fix:

Solution: Run /bin/llvm-lit.py /

Happy to answer any questions here or on the code review.

Thanks for working on this.

One question: do you know what’s the fastest way to create a working /bin/llvm-lit program? By ‘working’, I mean: assuming I’ve already built llvm-config and the relevant test dependencies (FileCheck, opt, etc), I can run llvm-lit on a single test.

Hi all, I’ve got https://reviews.llvm.org/D37756 up for review currently which simplifies a lot of the logic in our lit config files.

For most people, this will be completely transparent and “just work”, but it breaks one workflow that people should be aware of.

Problem: If you run lit by putting llvm-config in your path and then running /utils/lit/lit.py / then this is not going to work anymore.

Luckily, there’s an easy fix:

Solution: Run /bin/llvm-lit.py /

Will llvm-lit.py be added to /bin, or is this supposed to be /bin/llvm-lit?

vedant

llvm-lit is already put into /bin by CMake.

There is a CMake target called llvm-lit that will generate the /bin/llvm-lit script. If you built only a few specific llvm targets such as FileCheck, etc then you may need to run this lit target manually. If you just run “ninja” for example, or “ninja check-llvm”, it’s automatically generated.

s/run this lit target manually/run this CMake target manually (e.g. ninja llvm-lit)/

s/run this lit target manually/run this CMake target manually (e.g. ninja llvm-lit)/

Great, thanks!

vedant

Actually I’m wrong. llvm-lit is automatically put into the bin directory by CMake itself. You don’t have to run ninja at all.