Running "make check" on Windows yields lots of unwarrented unexpected failures (HTML free this time:-)

Hi,

sorry, in my last mail, I didn't check in time that HTML e-mails would be turned off.
So, checking out llvm/clang yesterday under Win32, building it, and running the "check"-project using MS Visual Studio yielded 177 unexpected failures, many of which happen because of the different
registers used in passing arguments under Win64 and everybody else
on x86-64.
I would be willing to provide patches for these tests, but I would like
to know if there is a preferred solution.
I see the following approaches:
1. Add a working triple (like x86_64-pc-linux-gnu) to the failing tests.
2. Basically like 1., but add another test line for the registers used
    in Win64.
3. XFAIL the test for Win64 (or in that case: mingw64).
4. Relax the tested patterns, so that they accept (at least) both
    possible registers.

Again, sorry for the double-post.
Bye
Dirk

Dirk,

I am working on tests/win32(s) too.
I can let all tests pass on msvc10 and cygming with my patches,
thought, my patches are incomplete (several of them hide potential problems)

Please see threads below in llvm-commits.
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20100927/109077.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20101004/109271.html

If you are ready to disclose your patches, please describe and post to
llvm-commits, thank you.
I will post mine in this week.

Dirk,

I am working on tests/win32(s) too.
I can let all tests pass on msvc10 and cygming with my patches,
thought, my patches are incomplete (several of them hide potential problems)

Please see threads below in llvm-commits.
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20100927/109077.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20101004/109271.html

If you are ready to disclose your patches, please describe and post to
llvm-commits, thank you.
I will post mine in this week.

Hi Takumi,

thanks for pointing that thread out to me. This is basically what I
wanted to know.
Besides, if you are not satisfied with some of your changes because you see potential problems, then you should probably only commit those changes, which do not hide problems. My intention is (at the moment) only to fix those tests, which would pass if the argument registers didn't differ.
A test like e.g. codegen/x86/coalescer-commute2.ll cannot work the way it's designed to on Win64, so I guess it should be XFAILed on Win64, or the test has to be rewritten to not rely on having 128bit arguments passed in SSE registers. That's a tricky decision for each currently failing test. That's why I will look at those tests if the simple failures are fixed.
If I have anything ready, I'll put it up at llvm-commits for review. But I don't think I'll have enough time before the end of the week.

1. Add a working triple (like x86_64-pc-linux-gnu) to the failing tests.
2. Basically like 1., but add another test line for the registers used
    in Win64.
3. XFAIL the test for Win64 (or in that case: mingw64).
4. Relax the tested patterns, so that they accept (at least) both
    possible registers.

We may be aware of win64. (2) and (4) are possible.

Yes, I've seen that your proposed patches from the beginning of October used both approaches. It's certainly the best thing to do. So, I'll keep
that in mind.

Thank you...Takumi

Bye
Dirk