A question about "make check-all"

Hello,

I have successfully build the newest llvm from git source, and I would like to do some experiments on target AVR.

Does “make check-all” cover AVR? All I need some extra steps to test AVR? I have neither AVR simulator nor real AVR board connected.

Thank you.

Hi Ben,

Does "make check-all" cover AVR?

The AVR target is disabled by default; you need to pass
"-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR" to CMake when compiling
LLVM to build it. After that check-all will run some basic tests on
AVR. But none of LLVM's regression tests actually try to execute code
-- they just compile things and inspect the output.

I have neither AVR simulator nor real AVR board connected.

LLVM does have a test-suite in a separate repository that tries to
actually run code. It doesn't attempt to provide a simulator though;
quite the reverse, it expects you to tell it how to execute the code.
You'll also need libraries, headers and binutils (especially a linker)
for the system you intend to run things on.

On Linux I've had good success with qemu and binfmt_misc to make
execution transparent in the past (this was for AArch64), but I expect
you could rig most environments up somehow.

Cheers.

Tim.

Hi, Tim,

Thanks for your answer.

so you meant the check-all can guarantee my changes to AVR is correct, if it passed without an error?

I am interested in LLVM, and intend to learn it by hacking a simple backend, such as AVR, MSP430.

Ben Shi
在 2019年3月22日 01:01,Tim Northover t.p.northover@gmail.com写道:

That's a bit strong, anyone who's worked on LLVM for long will have
broken things at some point in the past despite check-all passing. But
I think it's fair to say that most people don't run the full
test-suite for every change they make (except via the build-bots after
commit), and check-all is certainly a good start.

Cheers.

Tim.

LLVM does have a test-suite in a separate repository that tries to
    actually run code. It doesn't attempt to provide a simulator though;
    quite the reverse, it expects you to tell it how to execute the code.
    You'll also need libraries, headers and binutils (especially a linker)
    for the system you intend to run things on.
    
Hi Tim, Where is this execution test-suite?
Thanks,
Anmol.

Here's where I get it from: https://github.com/llvm/test-suite.git

Cheers.

Tim.