running test-suite in cross compilation/execution

Currently, if you are on Mips hardware running linux, you can basically just run test suite the same way you would run it on an x86 box.

You can just do a "make report TEST=simple" for example.

We also run it on an x86 box, generating MIPS code and then use either qemu as a simulator or connect to a mips linux box to just execute the tests.

To do this cross compilation and testing, we have made our own scripts that are heavily customized. We have made other modifications to various files in test-suite. I'm not sure the total extent but it takes some work each time we resynch it all to the tip of tree.

I want to push all of this into the LLVM trunk in some intelligent way so that it's consistent with what is already there and so that people that are outside of Mips can just check out an LLVM/Clang tree and build the compiler and run test-suite.

Is Apple already doing this for compiling test-suite on x86 for ARM/IOS and then running it on an iphone or ipad?

If so, how is this setup up. I.e.
make TEST=..................


What is the intention here?

To me, no files should need to be customized as long as the functionality matches one the ones already in test-suite.

If we do need to put back target specific files, then maybe there should be target subdirectories for those.



It seems like you would to run gcc and llvm/clang as separate steps (if you are not comparing with reference files) when in cross mode.

Otherwise you will have a train wreck with conflicting options because the basic compiler target is built into gcc compilers and is not for clang unless host==target.