Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

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

Closed Quuxplusone closed 8 years ago

Quuxplusone commented 8 years ago
Bugzilla Link PR28606
Status RESOLVED FIXED
Importance P normal
Reported by Hans Wennborg (hans@chromium.org)
Reported on 2016-07-18 17:14:53 -0700
Last modified on 2016-07-22 08:51:28 -0700
Version 3.9
Hardware PC Linux
CC llvm-bugs@lists.llvm.org, rnk@google.com, sebpop@gmail.com
Fixed by commit(s)
Attachments before (16805 bytes, application/octet-stream)
after (17116 bytes, application/octet-stream)
Blocks PR28600
Blocked by
See also
"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]
          ^
<stdin>: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]
          ^
<stdin>: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]
          ^
<stdin>: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
       ^
<stdin>: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: <stdin>: 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]
          ^
<stdin>: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
       ^
<stdin>: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.
Quuxplusone commented 8 years ago

The failure mode looks similar to crbug.com/629141

Quuxplusone commented 8 years ago
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
Quuxplusone commented 8 years ago
(In reply to comment #2)
> 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.
Quuxplusone commented 8 years ago

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.

Quuxplusone commented 8 years ago

Attached before (16805 bytes, application/octet-stream): parseMEMOperand before hoisting

Quuxplusone commented 8 years ago

Attached after (17116 bytes, application/octet-stream): parseMEMOperand after hoisting

Quuxplusone commented 8 years ago

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.

Quuxplusone commented 8 years ago
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?
Quuxplusone commented 8 years ago
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.
Quuxplusone commented 8 years ago
(In reply to comment #9)
> 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
Quuxplusone commented 8 years ago

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