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

MC/Sparc tests failing on self-hosted 32-bit Windows builds #28980

Closed
zmodem opened this issue Jul 19, 2016 · 12 comments
Closed

MC/Sparc tests failing on self-hosted 32-bit Windows builds #28980

zmodem opened this issue Jul 19, 2016 · 12 comments
Assignees
Labels
bugzilla Issues migrated from bugzilla

Comments

@zmodem
Copy link
Collaborator

zmodem commented Jul 19, 2016

Bugzilla Link 28606
Resolution FIXED
Resolved on Jul 22, 2016 08:51
Version 3.9
OS Linux
Blocks #28974
CC @rnk,@sebpop

Extended Description

"ninja check" fails for me when self-hosting for 32-bit Windows using VS2013 at r275826.

[219/220] Running the LLVM regression tests
-- Testing: 17335 tests, 32 threads --
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: LLVM :: MC/Sparc/sparc-atomic-instructions.s (13311 of 17335)
******************** TEST 'LLVM :: MC/Sparc/sparc-atomic-instructions.s' FAILED


Script:

D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-atomic-instructions.s -arch=sparcv9 -show-encoding | D:
/src/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-atomic-instructions.s
D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-atomic-instructions.s -arch=sparc -show-encoding | D:/s
rc/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826\ll
vm\test\MC\Sparc\sparc-atomic-instructions.s

Exit Code: 2

Command Output (stdout):

$ "D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE" "D:\src\llvm_package_27
5826\llvm\test\MC\Sparc\sparc-atomic-instructions.s" "-arch=sparcv9" "-show-enco
ding"

command stderr:

#​0 0x00f5bd5a (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0xcbd5a)
#​1 0x0119558b (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x30558b)
#​2 0x0118eb06 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x2feb06)
#​3 0x00e93d66 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x3d66)
#​4 0x01357dc6 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x4c7dc6)
#​5 0x74f7338a (C:\Windows\syswow64\kernel32.dll+0x1338a)
#​6 0x76fe9902 (C:\Windows\SysWOW64\ntdll.dll+0x39902)
#​7 0x76fe98d5 (C:\Windows\SysWOW64\ntdll.dll+0x398d5)

error: command failed with exit status: -1073741819
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "D:\src\llvm_package_
275826\llvm\test\MC\Sparc\sparc-atomic-instructions.s"

command stderr:

FileCheck error: '-' is empty.
FileCheck command line: D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE
D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparc-atomic-instructions.s

error: command failed with exit status: 2

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: LLVM :: MC/Sparc/sparc-coproc.s (13313 of 17335)
******************** TEST 'LLVM :: MC/Sparc/sparc-coproc.s' FAILED *************


Script:

D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-coproc.s -arch=sparc -show-encoding | D:/src/llvm_packa
ge_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826\llvm\test\MC\Sp
arc\sparc-coproc.s

Exit Code: 2

Command Output (stdout):

$ "D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE" "D:\src\llvm_package_27
5826\llvm\test\MC\Sparc\sparc-coproc.s" "-arch=sparc" "-show-encoding"

command stderr:

#​0 0x00f5bd5a (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0xcbd5a)
#​1 0x0119558b (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x30558b)
#​2 0x0118eb06 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x2feb06)
#​3 0x00e93d66 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x3d66)
#​4 0x01357dc6 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x4c7dc6)
#​5 0x74f7338a (C:\Windows\syswow64\kernel32.dll+0x1338a)
#​6 0x76fe9902 (C:\Windows\SysWOW64\ntdll.dll+0x39902)
#​7 0x76fe98d5 (C:\Windows\SysWOW64\ntdll.dll+0x398d5)

error: command failed with exit status: -1073741819
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "D:\src\llvm_package_
275826\llvm\test\MC\Sparc\sparc-coproc.s"

command stderr:

FileCheck error: '-' is empty.
FileCheck command line: D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE
D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparc-coproc.s

error: command failed with exit status: 2

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: LLVM :: MC/Sparc/sparc-ctrl-instructions.s (13317 of 17335)
******************** TEST 'LLVM :: MC/Sparc/sparc-ctrl-instructions.s' FAILED **


Script:

D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-ctrl-instructions.s -arch=sparc -show-encoding | D:/s
rc/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826\ll
vm\test\MC\Sparc\sparc-ctrl-instructions.s
D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-ctrl-instructions.s -arch=sparcv9 -show-encoding | D:/s
rc/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826\ll
vm\test\MC\Sparc\sparc-ctrl-instructions.s

Exit Code: 2

Command Output (stdout):

$ "D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE" "D:\src\llvm_package_27
5826\llvm\test\MC\Sparc\sparc-ctrl-instructions.s" "-arch=sparc" "-show-encoding
"

command stderr:

#​0 0x00f5bd5a (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0xcbd5a)
#​1 0x0119558b (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x30558b)
#​2 0x0118eb06 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x2feb06)
#​3 0x00e93d66 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x3d66)
#​4 0x01357dc6 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x4c7dc6)
#​5 0x74f7338a (C:\Windows\syswow64\kernel32.dll+0x1338a)
#​6 0x76fe9902 (C:\Windows\SysWOW64\ntdll.dll+0x39902)
#​7 0x76fe98d5 (C:\Windows\SysWOW64\ntdll.dll+0x398d5)

error: command failed with exit status: -1073741819
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "D:\src\llvm_package_
275826\llvm\test\MC\Sparc\sparc-ctrl-instructions.s"

command stderr:

FileCheck error: '-' is empty.
FileCheck command line: D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE
D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparc-ctrl-instructions.s

error: command failed with exit status: 2

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: LLVM :: MC/Sparc/sparc-mem-instructions.s (13319 of 17335)
******************** TEST 'LLVM :: MC/Sparc/sparc-mem-instructions.s' FAILED ***


Script:

D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-mem-instructions.s -arch=sparc -show-encoding | D:/sr
c/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826\llv
m\test\MC\Sparc\sparc-mem-instructions.s
D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-mem-instructions.s -arch=sparcv9 -show-encoding | D:/sr
c/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826\llv
m\test\MC\Sparc\sparc-mem-instructions.s

Exit Code: 2

Command Output (stdout):

$ "D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE" "D:\src\llvm_package_27
5826\llvm\test\MC\Sparc\sparc-mem-instructions.s" "-arch=sparc" "-show-encoding"

command stderr:

#​0 0x00f5bd5a (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0xcbd5a)
#​1 0x0119558b (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x30558b)
#​2 0x0118eb06 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x2feb06)
#​3 0x00e93d66 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x3d66)
#​4 0x01357dc6 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x4c7dc6)
#​5 0x74f7338a (C:\Windows\syswow64\kernel32.dll+0x1338a)
#​6 0x76fe9902 (C:\Windows\SysWOW64\ntdll.dll+0x39902)
#​7 0x76fe98d5 (C:\Windows\SysWOW64\ntdll.dll+0x398d5)

error: command failed with exit status: -1073741819
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "D:\src\llvm_package_
275826\llvm\test\MC\Sparc\sparc-mem-instructions.s"

command stderr:

FileCheck error: '-' is empty.
FileCheck command line: D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE
D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparc-mem-instructions.s

error: command failed with exit status: 2

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: LLVM :: MC/Sparc/sparc-fp-instructions.s (13320 of 17335)
******************** TEST 'LLVM :: MC/Sparc/sparc-fp-instructions.s' FAILED ****


Script:

D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-fp-instructions.s -arch=sparcv9 -show-encoding | D:/src
/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826\llvm
\test\MC\Sparc\sparc-fp-instructions.s

Exit Code: 1

Command Output (stdout):

$ "D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE" "D:\src\llvm_package_27
5826\llvm\test\MC\Sparc\sparc-fp-instructions.s" "-arch=sparcv9" "-show-encoding
"

command stderr:

#​0 0x00f5bd5a (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0xcbd5a)
#​1 0x0119558b (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x30558b)
#​2 0x0118eb06 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x2feb06)
#​3 0x00e93d66 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x3d66)
#​4 0x01357dc6 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x4c7dc6)
#​5 0x74f7338a (C:\Windows\syswow64\kernel32.dll+0x1338a)
#​6 0x76fe9902 (C:\Windows\SysWOW64\ntdll.dll+0x39902)
#​7 0x76fe98d5 (C:\Windows\SysWOW64\ntdll.dll+0x398d5)

error: command failed with exit status: -1073741819
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "D:\src\llvm_package_
275826\llvm\test\MC\Sparc\sparc-fp-instructions.s"

command stderr:

D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparc-fp-instructions.s:146:11: er
ror: expected string not found in input
! CHECK: st %f29, [%l0] ! encoding: [0xfb,0x24,0x00,0x00]
^
:85:2: note: scanning from here
st %f29, [%l0] ! encoding: [0xfb,0x24
^

error: command failed with exit status: 1

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: LLVM :: MC/Sparc/sparc-special-registers.s (13321 of 17335)
******************** TEST 'LLVM :: MC/Sparc/sparc-special-registers.s' FAILED **


Script:

D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-special-registers.s -arch=sparc -show-encoding | D:/src
/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826\llvm
\test\MC\Sparc\sparc-special-registers.s
D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-special-registers.s -arch=sparcv9 -show-encoding | D:/s
rc/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826\ll
vm\test\MC\Sparc\sparc-special-registers.s

Exit Code: 1

Command Output (stdout):

$ "D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE" "D:\src\llvm_package_27
5826\llvm\test\MC\Sparc\sparc-special-registers.s" "-arch=sparc" "-show-encoding
"

command stderr:

#​0 0x00f5bd5a (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0xcbd5a)
#​1 0x0119558b (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x30558b)
#​2 0x0118eb06 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x2feb06)
#​3 0x00e93d66 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x3d66)
#​4 0x01357dc6 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x4c7dc6)
#​5 0x74f7338a (C:\Windows\syswow64\kernel32.dll+0x1338a)
#​6 0x76fe9902 (C:\Windows\SysWOW64\ntdll.dll+0x39902)
#​7 0x76fe98d5 (C:\Windows\SysWOW64\ntdll.dll+0x398d5)

error: command failed with exit status: -1073741819
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "D:\src\llvm_package_
275826\llvm\test\MC\Sparc\sparc-special-registers.s"

command stderr:

D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparc-special-registers.s:25:11: e
rror: expected string not found in input
! CHECK: rd %tbr, %i0 ! encoding: [0xb1,0x58,0x00,0x00]
^
:17:2: note: scanning from here
rd %tbr, %i0
^

error: command failed with exit status: 1

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: LLVM :: MC/Sparc/sparc-synthetic-instructions.s (13327 of 17335)
******************** TEST 'LLVM :: MC/Sparc/sparc-synthetic-instructions.s' FAIL
ED ********************
Script:

D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-synthetic-instructions.s -arch=sparc -show-encoding |
D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_2758
26\llvm\test\MC\Sparc\sparc-synthetic-instructions.s
D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-synthetic-instructions.s -arch=sparcv9 -show-encoding |
D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_2758
26\llvm\test\MC\Sparc\sparc-synthetic-instructions.s
D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-synthetic-instructions.s -arch=sparc -show-encoding |
D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_2758
26\llvm\test\MC\Sparc\sparc-synthetic-instructions.s --check-prefix=V8
D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-synthetic-instructions.s -arch=sparcv9 -show-encoding |
D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_2758
26\llvm\test\MC\Sparc\sparc-synthetic-instructions.s --check-prefix=V9

Exit Code: 1

Command Output (stdout):

$ "D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE" "D:\src\llvm_package_27
5826\llvm\test\MC\Sparc\sparc-synthetic-instructions.s" "-arch=sparc" "-show-enc
oding"

command stderr:

#​0 0x00f5bd5a (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0xcbd5a)
#​1 0x0119558b (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x30558b)
#​2 0x0118eb06 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x2feb06)
#​3 0x00e93d66 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x3d66)
#​4 0x01357dc6 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x4c7dc6)
#​5 0x74f7338a (C:\Windows\syswow64\kernel32.dll+0x1338a)
#​6 0x76fe9902 (C:\Windows\SysWOW64\ntdll.dll+0x39902)
#​7 0x76fe98d5 (C:\Windows\SysWOW64\ntdll.dll+0x398d5)

error: command failed with exit status: -1073741819
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "D:\src\llvm_package_
275826\llvm\test\MC\Sparc\sparc-synthetic-instructions.s"

command stderr:

D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparc-synthetic-instructions.s:93:
11: error: expected string not found in input
! CHECK: andn %g2, %g1, %g2 ! encoding: [0x84,0x28,0x80,0x01]
^
:57:2: note: scanning from here
andn %g2, %g1, %g2
^

error: command failed with exit status: 1

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: LLVM :: MC/Sparc/sparcv9-instructions.s (13328 of 17335)
******************** TEST 'LLVM :: MC/Sparc/sparcv9-instructions.s' FAILED *****


Script:

not D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275
826\llvm\test\MC\Sparc\sparcv9-instructions.s -arch=sparc -show-encoding 2>&1
| D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275
826\llvm\test\MC\Sparc\sparcv9-instructions.s --check-prefix=V8
D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparcv9-instructions.s -arch=sparcv9 -show-encoding | D:/src/
llvm_package_275826/build32/./bin\FileCheck.EXE D:\src\llvm_package_275826\llvm
test\MC\Sparc\sparcv9-instructions.s --check-prefix=V9

Exit Code: 1

Command Output (stdout):

$ "not" "D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE" "D:\src\llvm_pack
age_275826\llvm\test\MC\Sparc\sparcv9-instructions.s" "-arch=sparc" "-show-encod
ing"
note: command had no output on stdout or stderr
error: command failed with exit status: 1
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "D:\src\llvm_package_
275826\llvm\test\MC\Sparc\sparcv9-instructions.s" "--check-prefix=V8"

command stderr:

D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparcv9-instructions.s:94:8: error
: expected string not found in input
! V8: error: instruction requires a CPU feature not currently enabled
^
:57:2: note: scanning from here
^
^

error: command failed with exit status: 1

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: LLVM :: MC/Sparc/sparc-pic.s (13329 of 17335)
******************** TEST 'LLVM :: MC/Sparc/sparc-pic.s' FAILED ****************


Script:

D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-pic.s -arch=sparcv9 --position-independent -filetype=ob
j | D:/src/llvm_package_275826/build32/./bin\llvm-readobj.EXE -r | D:/src/llvm_p
ackage_275826/build32/./bin\FileCheck.EXE --check-prefix=PIC D:\src\llvm_package
_275826\llvm\test\MC\Sparc\sparc-pic.s
D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc-pic.s -arch=sparcv9 -filetype=obj | D:/src/llvm_package
_275826/build32/./bin\llvm-readobj.EXE -r | D:/src/llvm_package_275826/build32/.
/bin\FileCheck.EXE --check-prefix=NOPIC D:\src\llvm_package_275826\llvm\test\MC
Sparc\sparc-pic.s

Exit Code: 2

Command Output (stdout):

$ "D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE" "D:\src\llvm_package_27
5826\llvm\test\MC\Sparc\sparc-pic.s" "-arch=sparcv9" "--position-independent" "-
filetype=obj"

command stderr:

#​0 0x00f5bd5a (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0xcbd5a)
#​1 0x0119558b (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x30558b)
#​2 0x0118eb06 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x2feb06)
#​3 0x00e93d66 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x3d66)
#​4 0x01357dc6 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x4c7dc6)
#​5 0x74f7338a (C:\Windows\syswow64\kernel32.dll+0x1338a)
#​6 0x76fe9902 (C:\Windows\SysWOW64\ntdll.dll+0x39902)
#​7 0x76fe98d5 (C:\Windows\SysWOW64\ntdll.dll+0x398d5)

error: command failed with exit status: -1073741819
$ "D:/src/llvm_package_275826/build32/./bin\llvm-readobj.EXE" "-r"

command stderr:

Error reading file: : The file was not recognized as a valid object file.

error: command failed with exit status: 1
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "--check-prefix=PIC"
"D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparc-pic.s"

command stderr:

FileCheck error: '-' is empty.
FileCheck command line: D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE
--check-prefix=PIC D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparc-pic.s

error: command failed with exit status: 2

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: LLVM :: MC/Sparc/sparc64-ctrl-instructions.s (13331 of 17335)
******************** TEST 'LLVM :: MC/Sparc/sparc64-ctrl-instructions.s' FAILED


Script:

D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE D:\src\llvm_package_275826
llvm\test\MC\Sparc\sparc64-ctrl-instructions.s -triple=sparc64-unknown-linux-gnu
-show-encoding | D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE D:\src
llvm_package_275826\llvm\test\MC\Sparc\sparc64-ctrl-instructions.s

Exit Code: 1

Command Output (stdout):

$ "D:/src/llvm_package_275826/build32/./bin\llvm-mc.EXE" "D:\src\llvm_package_27
5826\llvm\test\MC\Sparc\sparc64-ctrl-instructions.s" "-triple=sparc64-unknown-li
nux-gnu" "-show-encoding"

command stderr:

#​0 0x00f5bd5a (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0xcbd5a)
#​1 0x0119558b (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x30558b)
#​2 0x0118eb06 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x2feb06)
#​3 0x00e93d66 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x3d66)
#​4 0x01357dc6 (D:\src\llvm_package_275826\build32\bin\llvm-mc.EXE+0x4c7dc6)
#​5 0x74f7338a (C:\Windows\syswow64\kernel32.dll+0x1338a)
#​6 0x76fe9902 (C:\Windows\SysWOW64\ntdll.dll+0x39902)
#​7 0x76fe98d5 (C:\Windows\SysWOW64\ntdll.dll+0x398d5)

error: command failed with exit status: -1073741819
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "D:\src\llvm_package_
275826\llvm\test\MC\Sparc\sparc64-ctrl-instructions.s"

command stderr:

D:\src\llvm_package_275826\llvm\test\MC\Sparc\sparc64-ctrl-instructions.s:1220:1
1: error: expected string not found in input
! CHECK: fmovrsnz %g1, %f2, %f3 ! encoding: [0x87,0xa8,0x54,0xa2]
^
:875:2: note: scanning from here
fmovrsnz %g1, %f2, %f3 ! encoding: [0x87,0xa8,0x54,0
^

error: command failed with exit status: 1

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70..
FAIL: LLVM :: Object/archive-update.test (13633 of 17335)
******************** TEST 'LLVM :: Object/archive-update.test' FAILED **********


Script:

cd D:\src\llvm_package_275826\build32\test\Object\Output
rm -f D:\src\llvm_package_275826\build32\test\Object\Output\archive-update.test.
tmp.a
mkdir -p D:\src\llvm_package_275826\build32\test\Object\Output\archive-update.te
st.tmp.older
echo older > D:\src\llvm_package_275826\build32\test\Object\Output\archive-updat
e.test.tmp.older/evenlen
mkdir -p D:\src\llvm_package_275826\build32\test\Object\Output\archive-update.te
st.tmp.newer
touch -m -t 200001010000 D:\src\llvm_package_275826\build32\test\Object\Output\a
rchive-update.test.tmp.older/evenlen || sleep 2.1
echo newer > D:\src\llvm_package_275826\build32\test\Object\Output\archive-updat
e.test.tmp.newer/evenlen
touch D:\src\llvm_package_275826\build32\test\Object\Output\archive-update.test.
tmp.newer/evenlen
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE rU D:\src\llvm_package_2758
26\build32\test\Object\Output\archive-update.test.tmp.a D:\src\llvm_package_2758
26\build32\test\Object\Output\archive-update.test.tmp.newer/evenlen
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE p D:\src\llvm_package_27582
6\build32\test\Object\Output\archive-update.test.tmp.a | D:/src/llvm_package_275
826/build32/./bin\FileCheck.EXE --check-prefix=NEWER D:\src\llvm_package_275826
llvm\test\Object\archive-update.test
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE rU D:\src\llvm_package_2758
26\build32\test\Object\Output\archive-update.test.tmp.a D:\src\llvm_package_2758
26\build32\test\Object\Output\archive-update.test.tmp.older/evenlen
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE p D:\src\llvm_package_27582
6\build32\test\Object\Output\archive-update.test.tmp.a | D:/src/llvm_package_275
826/build32/./bin\FileCheck.EXE --check-prefix=OLDER D:\src\llvm_package_275826
llvm\test\Object\archive-update.test
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE ruU D:\src\llvm_package_275
826\build32\test\Object\Output\archive-update.test.tmp.a D:\src\llvm_package_275
826\build32\test\Object\Output\archive-update.test.tmp.newer/evenlen
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE p D:\src\llvm_package_27582
6\build32\test\Object\Output\archive-update.test.tmp.a | D:/src/llvm_package_275
826/build32/./bin\FileCheck.EXE --check-prefix=NEWER D:\src\llvm_package_275826
llvm\test\Object\archive-update.test
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE ruU D:\src\llvm_package_275
826\build32\test\Object\Output\archive-update.test.tmp.a D:\src\llvm_package_275
826\build32\test\Object\Output\archive-update.test.tmp.older/evenlen
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE p D:\src\llvm_package_27582
6\build32\test\Object\Output\archive-update.test.tmp.a | D:/src/llvm_package_275
826/build32/./bin\FileCheck.EXE --check-prefix=NEWER D:\src\llvm_package_275826
llvm\test\Object\archive-update.test
rm -f D:\src\llvm_package_275826\build32\test\Object\Output\archive-update.test.
tmp.a
echo foo > foo
echo bar > bar
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE --format=gnu rcT D:\src\llv
m_package_275826\build32\test\Object\Output\archive-update.test.tmp.a foo
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE --format=gnu rcT D:\src\llv
m_package_275826\build32\test\Object\Output\archive-update.test.tmp.a bar
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE t D:\src\llvm_package_27582
6\build32\test\Object\Output\archive-update.test.tmp.a | D:/src/llvm_package_275
826/build32/./bin\FileCheck.EXE --check-prefix=BOTH-FILES D:\src\llvm_package_27
5826\llvm\test\Object\archive-update.test
rm -f D:\src\llvm_package_275826\build32\test\Object\Output\archive-update.test.
tmp.a
D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE --format=gnu rc D:\src\llvm
_package_275826\build32\test\Object\Output\archive-update.test.tmp.a foo
not D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE --format=gnu rcT D:\src
\llvm_package_275826\build32\test\Object\Output\archive-update.test.tmp.a bar 2>
&1 | D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE --check-prefix=ERROR
D:\src\llvm_package_275826\llvm\test\Object\archive-update.test

Exit Code: 1

Command Output (stdout):

$ "rm" "-f" "D:\src\llvm_package_275826\build32\test\Object\Output\archive-updat
e.test.tmp.a"
$ "mkdir" "-p" "D:\src\llvm_package_275826\build32\test\Object\Output\archive-up
date.test.tmp.older"
$ "echo" "older"
$ "mkdir" "-p" "D:\src\llvm_package_275826\build32\test\Object\Output\archive-up
date.test.tmp.newer"
$ "touch" "-m" "-t" "200001010000" "D:\src\llvm_package_275826\build32\test\Obje
ct\Output\archive-update.test.tmp.older/evenlen"
$ "echo" "newer"
$ "touch" "D:\src\llvm_package_275826\build32\test\Object\Output\archive-update.
test.tmp.newer/evenlen"
$ "D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE" "rU" "D:\src\llvm_packa
ge_275826\build32\test\Object\Output\archive-update.test.tmp.a" "D:\src\llvm_pac
kage_275826\build32\test\Object\Output\archive-update.test.tmp.newer/evenlen"

command stderr:

D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE: creating D:\src\llvm_packa
ge_275826\build32\test\Object\Output\archive-update.test.tmp.a

$ "D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE" "p" "D:\src\llvm_packag
e_275826\build32\test\Object\Output\archive-update.test.tmp.a"
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "--check-prefix=NEWER
" "D:\src\llvm_package_275826\llvm\test\Object\archive-update.test"
$ "D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE" "rU" "D:\src\llvm_packa
ge_275826\build32\test\Object\Output\archive-update.test.tmp.a" "D:\src\llvm_pac
kage_275826\build32\test\Object\Output\archive-update.test.tmp.older/evenlen"
$ "D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE" "p" "D:\src\llvm_packag
e_275826\build32\test\Object\Output\archive-update.test.tmp.a"
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "--check-prefix=OLDER
" "D:\src\llvm_package_275826\llvm\test\Object\archive-update.test"
$ "D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE" "ruU" "D:\src\llvm_pack
age_275826\build32\test\Object\Output\archive-update.test.tmp.a" "D:\src\llvm_pa
ckage_275826\build32\test\Object\Output\archive-update.test.tmp.newer/evenlen"
$ "D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE" "p" "D:\src\llvm_packag
e_275826\build32\test\Object\Output\archive-update.test.tmp.a"
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "--check-prefix=NEWER
" "D:\src\llvm_package_275826\llvm\test\Object\archive-update.test"
$ "D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE" "ruU" "D:\src\llvm_pack
age_275826\build32\test\Object\Output\archive-update.test.tmp.a" "D:\src\llvm_pa
ckage_275826\build32\test\Object\Output\archive-update.test.tmp.older/evenlen"
$ "D:/src/llvm_package_275826/build32/./bin\llvm-ar.EXE" "p" "D:\src\llvm_packag
e_275826\build32\test\Object\Output\archive-update.test.tmp.a"
$ "D:/src/llvm_package_275826/build32/./bin\FileCheck.EXE" "--check-prefix=NEWER
" "D:\src\llvm_package_275826\llvm\test\Object\archive-update.test"

command stderr:

D:\src\llvm_package_275826\llvm\test\Object\archive-update.test:36:8: error: exp
ected string not found in input
NEWER: newer
^
:1:1: note: scanning from here
older
^

error: command failed with exit status: 1

--


Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Testing Time: 484.45s


Failing Tests (11):
LLVM :: MC/Sparc/sparc-atomic-instructions.s
LLVM :: MC/Sparc/sparc-coproc.s
LLVM :: MC/Sparc/sparc-ctrl-instructions.s
LLVM :: MC/Sparc/sparc-fp-instructions.s
LLVM :: MC/Sparc/sparc-mem-instructions.s
LLVM :: MC/Sparc/sparc-pic.s
LLVM :: MC/Sparc/sparc-special-registers.s
LLVM :: MC/Sparc/sparc-synthetic-instructions.s
LLVM :: MC/Sparc/sparc64-ctrl-instructions.s
LLVM :: MC/Sparc/sparcv9-instructions.s
LLVM :: Object/archive-update.test

Expected Passes : 16305
Expected Failures : 170
Unsupported Tests : 849
Unexpected Failures: 11
FAILED: test/CMakeFiles/check-llvm
cmd.exe /C "cd /D D:\src\llvm_package_275826\build32\test && C:\python_27_amd64
files\python.exe D:/src/llvm_package_275826/llvm/utils/lit/lit.py -sv --param ll
vm_site_config=D:/src/llvm_package_275826/build32/test/lit.site.cfg --param llvm
_unit_site_config=D:/src/llvm_package_275826/build32/test/Unit/lit.site.cfg D:/s
rc/llvm_package_275826/build32/test"
ninja: build stopped: subcommand failed.

@zmodem
Copy link
Collaborator Author

zmodem commented Jul 19, 2016

assigned to @sebpop

@rnk
Copy link
Collaborator

rnk commented Jul 19, 2016

The failure mode looks similar to crbug.com/629141

@zmodem
Copy link
Collaborator Author

zmodem commented Jul 20, 2016

Bisection points to r275561 - code hoisting pass based on GVN

To reproduce:

Build Release+Asserts Clang at this revision for 32-bit windows

Use that to configure a Release+Asserts 32-bit Windows build, and build llvm-mc, then run it like:

D:/src/llvm/build.bootstrap/./bin\llvm-mc.EXE D:\src\llvm\test\MC\Sparc\sparc64-ctrl-instructions.s -triple=sparc64-unknown-linux-gnu -show-encoding

@sebpop
Copy link
Mannequin

sebpop mannequin commented Jul 21, 2016

Bisection points to r275561 - code hoisting pass based on GVN

To reproduce:

Build Release+Asserts Clang at this revision for 32-bit windows

Use that to configure a Release+Asserts 32-bit Windows build, and build
llvm-mc, then run it like:

D:/src/llvm/build.bootstrap/./bin\llvm-mc.EXE
D:\src\llvm\test\MC\Sparc\sparc64-ctrl-instructions.s
-triple=sparc64-unknown-linux-gnu -show-encoding

I do not have access to a windows 32-bit machine.
From this description it sounds like llvm-mc is miscompiled.
Would you be able to bisect the problem and report a reduced testcase?

Here is how I would do that:

Build a good llvm-mc with a good compiler and keep around all the .o files.
Build a bad llvm-mc with the faulty compiler.
Link together half of good and half of bad .o files and check whether it fails.
Iterate this step halving at each iteration the number of .o files that may contain the miscompilation.

Once you have a .o file that is miscompiled, bisect on the number of GVN expressions hoisted: compile that .cpp file with the same options and adding "-mllvm -gvn-max-hoisted=10000 and then bisect again that number until finding N for which llvm-mc passes and N+1 fails.

Finally get the output of "-mllvm -print-after-all -mllvm -print-before-all" for both N and N+1.

@zmodem
Copy link
Collaborator Author

zmodem commented Jul 21, 2016

Thanks! I've bisected with -gvn-max-hoisted and found that the function that seems to be breaking is SparcAsmParser::parseMEMOperand

I'll attach the IR before and after hoisting of that function.

@zmodem
Copy link
Collaborator Author

zmodem commented Jul 21, 2016

@zmodem
Copy link
Collaborator Author

zmodem commented Jul 21, 2016

@zmodem
Copy link
Collaborator Author

zmodem commented Jul 21, 2016

diffing before and after shows that it seems we're introducing a new alloca (%21) in the if.end18 block. This is problematic, because it gets inserted after an inalloca (%argmem) which is live there. I think that's the source of our bug, and it also explains why this only happens on 32-bit Windows.

@zmodem
Copy link
Collaborator Author

zmodem commented Jul 21, 2016

I'm not exactly sure what's going on, but looking at the diff again, maybe it's something like this:

in cond.true there is:

%20 = getelementptr inbounds <{ %"class.std::unique_ptr.203", i32, %"class.std::unique_ptr.203" }>, <{ %"class.std::unique_ptr.203", i32, %"class.std::unique_ptr.203" }>* %argmem, i32 0, i32 0, !dbg !​27007^M
store %"class.std::unique_ptr.203"* %ref.tmp20, %"class.std::unique_ptr.203"** %20, align 4, !dbg !​27007

%ref.tmp20 is an alloca in the entry block

When hoisting, the pass hoists both the gep and the store, cloning the value (the alloca) and putting that at the hoist point. (GVNHoist.cpp's makeOperandsAvailable)

Since that means inserting an alloca after a live inalloca, it breaks the program, but it also seems bad in general to insert an alloca into the non-entry block.

Maybe the pass should bail out when Val is an AllocInst? Or maybe it should check if it's from the entry block and if so insert the clone there as well?

@sebpop
Copy link
Mannequin

sebpop mannequin commented Jul 21, 2016

Thanks Hans!
It is very helpful to see the diff.
I will have a closer look and I will submit a patch to fix the problem.

@zmodem
Copy link
Collaborator Author

zmodem commented Jul 21, 2016

Thanks Hans!
It is very helpful to see the diff.
I will have a closer look and I will submit a patch to fix the problem.

I sent out https://reviews.llvm.org/D22644

@sebpop
Copy link
Mannequin

sebpop mannequin commented Jul 22, 2016

Fixed in https://reviews.llvm.org/rL276358

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla
Projects
None yet
Development

No branches or pull requests

2 participants