I’ve had another look, and some of the failing tests don’t use temporary files, so I don’t think this is a case of tests having side-effects.
Instead, I’ve noticed that in the build log (http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/6552/steps/build-unified-tree/logs/stdio), llvm-tblgen.exe is built (my patch modified it), but the table-generation steps of the main build (importantly, ARMGenAsmMatcher.inc) do not appear to be running. I think this would explain the FileCheck output from those failing tests.
Could there be a buildbot misconfiguration which is preventing the newly-built llvm-tblgen from being used?
I've been having the same problem for a while on the GlobalISel work. We didn't get to the bottom of it, but it seems likely that the CMake Generator this bot uses forgets to create a dependency.
This might be related this change rL319620.
While the first build with this change seems to build fine, all the ones after it fail to re-run the clean-build-dir and cmake-configure steps.
There have been a couple of tweaks to it, but basically this change defers creating the NATIVE subdir and running cmake until needed (it was always getting called twice – once at config time and again at build time).
I don’t have windows, so I have no way to test this.
Please disregard my last – seems completely unrelated.
As Daniel has mentioned, the problem is in cmake missing dependencies for tablegen.