Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix SuperFileCheck from failing outerloop #88692

Merged
merged 1 commit into from
Jul 12, 2023

Conversation

TIHan
Copy link
Contributor

@TIHan TIHan commented Jul 11, 2023

Resolves: #88622

Will need to run outerloop to double check.

@TIHan
Copy link
Contributor Author

TIHan commented Jul 11, 2023

/azp run coreclr-release-outerloop-nightly

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@TIHan
Copy link
Contributor Author

TIHan commented Jul 11, 2023

/azp run coreclr-release-outerloop

@azure-pipelines
Copy link

No pipelines are associated with this pull request.

@TIHan
Copy link
Contributor Author

TIHan commented Jul 11, 2023

@dotnet/jit-contrib this is ready. The release-outerloop-nightly is failing due to an access-token so I can't be sure it fixes that pipeline.

@TIHan TIHan merged commit 82bf906 into dotnet:main Jul 12, 2023
@TIHan TIHan deleted the outerloop-filecheck-fix branch July 12, 2023 16:12
@AndyAyersMS
Copy link
Member

@TIHan I am seeing odd errors now from file-check tests, might it be this change?

[https://helixre107v0xdcypoyl9e7f.blob.core.windows.net/dotnet-runtime-refs-pull-88749-merge-f99c6104f5a341dc9c/JIT.opt/1/console.c1083330.log?helixlogtype=result

shows the add bit is now matching in the symbol table part of the dump:

        [MethodImpl(MethodImplOptions.NoInlining)]
        static sbyte Int8_Add(sbyte x, sbyte y)
        {
            // X64-NOT: movsx

            // X64:      add
            // X64-NEXT: movsx

            return (sbyte)(x + y);
        }
__tmp0_IntAdd.cs:18:15: error: X64-NEXT: is not on the line after the previous match
 // X64-NEXT: movsx
              ^
__jit_disasm.out:20:2: note: 'next' match was here
 movsx rax, cl
 ^
__jit_disasm.out:12:74: note: previous match ended here
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+00H] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
                                                                         ^
__jit_disasm.out:13:1: note: non-matching line after previous match is here
;
^

@markples
Copy link
Member

Yes, this analysis is correct. By checking for "Lcl frame size" we skip past the preamble. It turns out that "add" is a fragile pattern. Maybe something like add .,. (with the appropriate filecheck regex wrapping) would suffice. Better would be a register pattern (looks like the test is trying to not hardcode a specific register), but of course those are annoying to write. When I played with the large-scale diffing, I introduced a notion of shortcuts so that one could put "reg" in the pattern and have it expanded by the tool to something more complicated. Theoretically, superfilecheck could do this, but it's kind of a pain and would increase our distance of standard filecheck.

@markples
Copy link
Member

It looks like the test failure here got lost in all of the other failures.

@markples
Copy link
Member

I'm on a different schedule and won't be able to see this through until much later, but if there isn't an immediate fix then this should be reverted because it impacts CI itself. Or maybe a known build error but it seems like it should be fixed rather than labeled.

@ghost ghost locked as resolved and limited conversation to collaborators Aug 13, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CHECK: expected string not found in input
3 participants