Botched Build

Sorry, I botched a commit and broke the build. I've just committed a fix.

So expect to see some buildbot churning.

                                                    -Dave

David Greene <dag@cray.com> writes:

Sorry, I botched a commit and broke the build. I've just committed a fix.

So expect to see some buildbot churning.

Don't hurry. A buildbot already decided that I am the only culprit of
the breakage. :-/

And some people pretend to use computer technology to pinpoint
terrorists...

Hmm...given that MC/AsmParser/X86/x86_32-encoding.s has been failing
for a while, maybe someone should mark it XFAIL?

                                            -Dave

It passed for me until you applied your patch, I reverted it in r96265.

-Chris

FWIW, this is because you broke the encoding of an instruction in your patch. This is incorrect:

+def MOVNTDQ_64mr : PSI<0xE7, MRMDestMem, (outs), (ins f128mem:$dst, VR128:$src),
+ "movntdq\t{$src, $dst|$dst, $src}",
+ [(alignednontemporalstore (v2f64 VR128:$src), addr:$dst)]>;

Please don't check in patches when you know that they break testcases.

-Chris

I certainly didn't know it broke anything. I even checked the buildbot and it
looked like it failed before I ever applied anything. Apologies for the mix-
up.

                                          -Dave

FYI, if you want to check the encoding of an instruction, you can do so with a command like this:

$ cat t.s
movntdq %xmm5, 3735928559(%ebx,%ecx,8)
$ llvm-mc t.s -show-encoding -show-inst
  .section __TEXT,__text,regular,pure_instructions
  movntdq %xmm5, 3735928559(%ebx,%ecx,8) ## encoding: [0x66,0x0f,0xe7,0xac,0xcb,0xef,0xbe,0xad,0xde]
                                        ## <MCInst #1358 MOVNTDQmr
                                        ## <MCOperand Reg:29>
                                        ## <MCOperand Imm:8>
                                        ## <MCOperand Reg:38>
                                        ## <MCOperand Imm:3735928559>
                                        ## <MCOperand Reg:0>
                                        ## <MCOperand Reg:138>>

This shows that the 'MOVNTDQmr' instruction is being used along with the encoding.

-Chris

Thanks. It's strange that the buidbot shows this test failing long before I
made the change. Why would that be?

In any event, I've got the problem fixed. It was a cut-n-paste oversight on
my part.

As for documentation, where should that go in LangRef.html? There's
nothing there yet that really talks about special metadata. I can make up
a section if that seems appropriate.

                                                -Dave

FWIW, this is because you broke the encoding of an instruction in your
patch. This is incorrect:

+def MOVNTDQ_64mr : PSI<0xE7, MRMDestMem, (outs), (ins f128mem:$dst,
VR128:$src), + "movntdq\t{$src, $dst|$dst, $src}",
+ [(alignednontemporalstore (v2f64 VR128:$src),
addr:$dst)]>;

Please don't check in patches when you know that they break testcases.

I certainly didn't know it broke anything. I even checked the buildbot
and it looked like it failed before I ever applied anything. Apologies
for the mix- up.

FYI, if you want to check the encoding of an instruction, you can do so
with a command like this:

Thanks. It's strange that the buidbot shows this test failing long before I
made the change. Why would that be?

It didn't. Here's a good build:
http://smooshlab.apple.com:8010/builders/clang-i386-darwin9/builds/5019

The following two builds are broken by your previous bug:
http://smooshlab.apple.com:8010/builders/clang-i386-darwin9/builds/5020
http://smooshlab.apple.com:8010/builders/clang-i386-darwin9/builds/5021

with that fixed, the subsequent builds failed these regression tests:
http://smooshlab.apple.com:8010/builders/clang-i386-darwin9/builds/5022

As for documentation, where should that go in LangRef.html? There's
nothing there yet that really talks about special metadata. I can make up
a section if that seems appropriate.

Add it to the #i_store section, thanks.

-Chris

Sorry, I just realized that those are from the internal builder, the external ones are similar, just different links.

-Chris

Unless others find this objectionable, it would be nice to see the grammar for metadata
instruction attachment in the http://llvm.org/docs/LangRef.html#metadata section. The
grammar you gave earlier seems to work.

Garrison

David Greene <dag@cray.com> writes:

Thanks. It's strange that the buidbot shows this test failing long
before I made the change. Why would that be?

Wrong timezone?

>>>> FWIW, this is because you broke the encoding of an instruction in your
>>>> patch. This is incorrect:
>>>>
>>>> +def MOVNTDQ_64mr : PSI<0xE7, MRMDestMem, (outs), (ins f128mem:$dst,
>>>> VR128:$src), + "movntdq\t{$src, $dst|$dst, $src}",
>>>> + [(alignednontemporalstore (v2f64 VR128:$src),
>>>> addr:$dst)]>;
>>>>
>>>> Please don't check in patches when you know that they break testcases.
>>>
>>> I certainly didn't know it broke anything. I even checked the buildbot
>>> and it looked like it failed before I ever applied anything. Apologies
>>> for the mix- up.
>>
>> FYI, if you want to check the encoding of an instruction, you can do so
>> with a command like this:
>
> Thanks. It's strange that the buidbot shows this test failing long
> before I made the change. Why would that be?

It didn't. Here's a good build:
http://smooshlab.apple.com:8010/builders/clang-i386-darwin9/builds/5019

Well, I can't get there, but...

Oh. Buildbot is not displaying what I would expect. Looking at the Console
(revision-oriented) Display, I was looking for errors listed under the color-
keyed build results. For example:

clang-i386-auroraux : compile Debug failed. [ stdio ]
clang-x86_64-darwin10-selfhost : test llvm 4558 tests 4557 passed 25 warnings
1 failed failed. [ stdio fail xfail unsupported multiplepluginpriorities.td ]

I was seeing the same failure (x86_32-ecoding.s) listed everywhere. I would
expect that these errors show the results of the build of the revision but
apparently it simply shows the global results of the latest build.

I don't know if that's intended of it it's a buildbot bug but it's certainly
not what I would expect.

> As for documentation, where should that go in LangRef.html? There's
> nothing there yet that really talks about special metadata. I can make
> up a section if that seems appropriate.

Add it to the #i_store section, thanks.

Ok. This can also affect loads too so I'll add something for that too.

                                         -Dave

I agree that we need a grammar specification for attaching general metadata to
instructions. I believe Devang is working on that. I think Chris is right
that for special metadata that conveys semantics, we want something right
at the point of documentation for the instruction.

                                                                   -Dave

Note that in general, if you get an individual email from buildbot,
then it is because it thinks you made a commit in the timeframe when
the build went from green to red.

- Daniel