[LLVMdev] 3.4.1 Regression caused by merging r198940

Tom Stellard tom at stellard.net
Tue Apr 22 06:46:35 PDT 2014


On Tue, Apr 22, 2014 at 04:02:24PM +0800, Jiangning Liu wrote:
> Hi Tom,
> 
> Looking at your code changes, I don't see any issue, and 198940 should only
> affect the behavior of c++ program, while MultiSource/Applications/sgefa is
> a pure c program.
> 
> I tried top of release 3.4.1 with MultiSource/Applications/sgefa, and I
> can't reproduce the issue. My dump shows with/without the patch you
> reverted, the test can always pass for AArch64 target.
> 
> So can you tell me on which target it failed? And can you show me the
> failure log as well?

Attached is the failure log.  The failure has been reported on x86_64
by several different testers.

-Tom

> 
> Thanks,
> -Jiangning
> 
> 
> 2014-04-22 4:44 GMT+08:00 Tom Stellard <tom at stellard.net>:
> 
> > On Thu, Apr 17, 2014 at 09:57:32AM -0400, Tom Stellard wrote:
> > > On Fri, Apr 11, 2014 at 03:02:21PM -0700, Tom Stellard wrote:
> > > > Hi,
> > > >
> > > > I have just tagged the first release candidate for the
> > > > 3.4.1 release, so testers may begin testing.  Please refer to
> > > > http://llvm.org/docs/ReleaseProcess.html for information on how to
> > > > validate a release.  If you have any questions or need
> > > > something clarified, just email the list.
> > > >
> > > > For the 3.4.1 release we want to compare test results against
> > 3.4-final.
> > > >
> > > > I have added support to the test-release.sh script for dot releases and
> > > > have done basic testing.  However, if you run into issues please send
> > > > an email to the list and we can try to get it worked out.
> > > >
> > > > When you report your test results to me please remind me of what
> > platform
> > > > you are testing on.
> > > >
> > > > Thanks again to all the testers for your help.
> > > >
> > >
> > > Test results are starting to come in, it looks like we have a few
> > > regressions:
> > >
> > > x86_64:
> > > MultiSource/Applications/sgefa
> > >
> > > ARMV7:
> > > - new failure: ExecutionEngine/MCJIT/remote/simpletest-remote.ll
> > > - new unexpected pass:
> > >   ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll
> > >
> > >
> > > Has anyone attempted to bisect to figure out which commit broke these
> > > tests?
> > >
> >
> > Hi Jiangning,
> >
> > This commit that you requested be merged into the 3.4 branch has caused a
> > regression in
> > the MultiSource/Applications/sgefa test:
> >
> > -----------------------------------------------------------------------
> >
> >  Merging r198940:
> >
> >
> > ------------------------------------------------------------------------
> >     r198940 | kristof.beyls | 2014-01-10 08:44:34 -0500 (Fri, 10 Jan 2014)
> > | 2 lines
> >
> >     Enable -fuse-init-array for all AArch64 ELF targets by default, not
> > just linux.
> >
> >
> > ------------------------------------------------------------------------
> > -----------------------------------------------------------------------
> >
> > I have reverted this in the 3.4 branch, I'm guessing I merged this wrong.
> > Here was
> > my original attempt:
> > https://github.com/llvm-mirror/clang/commit/dce55aa1d529e1a07f41241c6a54b9570e0cec64
> > Can you merge  r198940 into 3.4 and send me the correct patch.
> >
> > Thanks,
> > Tom
> >
-------------- next part --------------
make -C /home/tstellar/test-suite/tools all \
  ORIGINAL_CC="ccache gcc" \
  ORIGINAL_CXX="ccache gcc"
make[1]: Entering directory `/home/tstellar/test-suite/tools'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/tstellar/test-suite/tools'
/home/tstellar/llvm/projects/test-suite/RunSafely.sh --show-errors -t "/home/tstellar/test-suite/tools/timeit" 500 /dev/null Output/blas.llvm.o.compile \
  /home/tstellar/llvm/Release+Asserts/bin/clang -DSCALE=40  -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/llvm/projects/test-suite/include -I../../../include -I/home/tstellar/llvm/include -I/home/tstellar/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG  -O3  -m64 -fomit-frame-pointer -c blas.c -o Output/blas.llvm.o
/home/tstellar/llvm/projects/test-suite/RunSafely.sh --show-errors -t "/home/tstellar/test-suite/tools/timeit" 500 /dev/null Output/driver.llvm.o.compile \
  /home/tstellar/llvm/Release+Asserts/bin/clang -DSCALE=40  -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/llvm/projects/test-suite/include -I../../../include -I/home/tstellar/llvm/include -I/home/tstellar/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG  -O3  -m64 -fomit-frame-pointer -c driver.c -o Output/driver.llvm.o
TEST /home/tstellar/llvm/Release+Asserts/bin/clang FAILED: EXIT != 0
error: command failed while generating Output/driver.llvm.o.compile
---
driver.c:18:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main()
^~~~
driver.c:31:11: warning: implicit declaration of function 'matgen' is invalid in C99 [-Wimplicit-function-declaration]
  while( !matgen( &a, &x, &b, &bt, &ipvt, ++test_case, SCALE ) ) {
          ^
driver.c:36:4: warning: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))'
          exit( 1 );
          ^
driver.c:36:4: note: please include the header <stdlib.h> or explicitly provide a declaration for 'exit'
driver.c:48:14: warning: implicit declaration of function 'sgefa' is invalid in C99 [-Wimplicit-function-declaration]
    retval = sgefa( &a, ipvt );
             ^
driver.c:55:13: warning: implicit declaration of function 'sgesl' is invalid in C99 [-Wimplicit-function-declaration]
      (void)sgesl( &a, ipvt, b, 0 );
            ^
driver.c:62:13: warning: implicit declaration of function 'vexopy' is invalid in C99 [-Wimplicit-function-declaration]
      (void)vexopy( a.rd, b, x, b, 2 );
            ^
driver.c:111:9: warning: incompatible redeclaration of library function 'malloc' [-Wincompatible-library-redeclaration]
  char *malloc();
        ^
driver.c:111:9: note: 'malloc' is a builtin with type 'void *(unsigned long)'
driver.c:132:9: warning: implicit declaration of function 'get_space' is invalid in C99 [-Wimplicit-function-declaration]
    if( get_space( a, x, b, bt, ipvt ) )/* Get the space needed for vectors. */
        ^
driver.c:295:7: warning: implicit declaration of function 'matvec' is invalid in C99 [-Wimplicit-function-declaration]
  if( matvec( a, *x, *b, 0 ) ) {
      ^
driver.c:323:9: warning: incompatible redeclaration of library function 'malloc' [-Wincompatible-library-redeclaration]
  char *malloc();
        ^
driver.c:111:9: note: 'malloc' is a builtin with type 'void *(unsigned long)'
  char *malloc();
        ^
10 warnings generated.
/tmp/driver-4d9de2.s: Assembler messages:
/tmp/driver-4d9de2.s:857: Error: operand type mismatch for `pshufd'
/tmp/driver-4d9de2.s:982: Error: operand type mismatch for `pshufd'
clang: error: assembler command failed with exit code 1 (use -v to see invocation)
exit 1
RunSafely.sh detected a failure with these command-line arguments:  --show-errors -t /home/tstellar/test-suite/tools/timeit 500 /dev/null Output/driver.llvm.o.compile /home/tstellar/llvm/Release+Asserts/bin/clang -DSCALE=40 -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/llvm/projects/test-suite/include -I../../../include -I/home/tstellar/llvm/include -I/home/tstellar/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG -O3 -m64 -fomit-frame-pointer -c driver.c -o Output/driver.llvm.o
---
/home/tstellar/llvm/projects/test-suite/RunSafely.sh --show-errors -t "/home/tstellar/test-suite/tools/timeit" 500 /dev/null Output/sgefa.llvm.o.compile \
  /home/tstellar/llvm/Release+Asserts/bin/clang -DSCALE=40  -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/llvm/projects/test-suite/include -I../../../include -I/home/tstellar/llvm/include -I/home/tstellar/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG  -O3  -m64 -fomit-frame-pointer -c sgefa.c -o Output/sgefa.llvm.o
/home/tstellar/llvm/projects/test-suite/RunSafely.sh --show-errors -t "/home/tstellar/test-suite/tools/timeit" 500 /dev/null Output/sgesl.llvm.o.compile \
  /home/tstellar/llvm/Release+Asserts/bin/clang -DSCALE=40  -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/llvm/projects/test-suite/include -I../../../include -I/home/tstellar/llvm/include -I/home/tstellar/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG  -O3  -m64 -fomit-frame-pointer -c sgesl.c -o Output/sgesl.llvm.o
/home/tstellar/llvm/Release+Asserts/bin/clang++ -o Output/sgefa.simple Output/blas.llvm.o Output/driver.llvm.o Output/sgefa.llvm.o Output/sgesl.llvm.o -lm    -m64 -fomit-frame-pointer
clang: error: no such file or directory: 'Output/driver.llvm.o'
make: [Output/sgefa.simple] Error 1 (ignored)
/home/tstellar/llvm/projects/test-suite/RunSafely.sh -t "/home/tstellar/test-suite/tools/timeit-target" 500 /dev/null Output/sgefa.out-simple Output/sgefa.simple 
ccache gcc -DSCALE=40  -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/llvm/projects/test-suite/include -I../../../include -I/home/tstellar/llvm/include -I/home/tstellar/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG  -O3  -m64 -fomit-frame-pointer -c blas.c -o Output/blas.o
ccache gcc -DSCALE=40  -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/llvm/projects/test-suite/include -I../../../include -I/home/tstellar/llvm/include -I/home/tstellar/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG  -O3  -m64 -fomit-frame-pointer -c driver.c -o Output/driver.o
driver.c: In function ‘main’:
driver.c:36:4: warning: incompatible implicit declaration of built-in function ‘exit’ [enabled by default]
    exit( 1 );
    ^
driver.c: In function ‘matgen’:
driver.c:111:9: warning: conflicting types for built-in function ‘malloc’ [enabled by default]
   char *malloc();
         ^
ccache gcc -DSCALE=40  -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/llvm/projects/test-suite/include -I../../../include -I/home/tstellar/llvm/include -I/home/tstellar/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG  -O3  -m64 -fomit-frame-pointer -c sgefa.c -o Output/sgefa.o
ccache gcc -DSCALE=40  -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/test-suite/MultiSource/Applications/sgefa -I/home/tstellar/llvm/projects/test-suite/include -I../../../include -I/home/tstellar/llvm/include -I/home/tstellar/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG  -O3  -m64 -fomit-frame-pointer -c sgesl.c -o Output/sgesl.o
ccache g++ -o Output/sgefa.native Output/blas.o Output/driver.o Output/sgefa.o Output/sgesl.o -lm    -m64 -fomit-frame-pointer
/home/tstellar/llvm/projects/test-suite/RunSafely.sh -t "/home/tstellar/test-suite/tools/timeit-target" 500 /dev/null Output/sgefa.out-nat Output/sgefa.native 
/home/tstellar/llvm/projects/test-suite/DiffOutput.sh "/home/tstellar/test-suite/tools/fpcmp  -r 0.0001" simple sgefa 
******************** TEST (simple) 'sgefa' FAILED! ********************
Execution Context Diff:
/home/tstellar/test-suite/tools/fpcmp: FP Comparison failed, not a numeric difference between 'H' and 'e'
******************** TEST (simple) 'sgefa' ****************************
rm -f Output/sgefa.exe-simple
cp Output/sgefa.diff-simple Output/sgefa.exe-simple
cp: cannot stat ‘Output/sgefa.diff-simple’: No such file or directory
make: [Output/sgefa.exe-simple] Error 1 (ignored)
if test -f Output/sgefa.extra-results.txt; then \
  /home/tstellar/llvm/projects/test-suite/ParseMultipleResults /MultiSource/Applications/sgefa/sgefa Output/sgefa.extra-results.txt >> Output/sgefa.simple.exec.report.txt; \
fi
cat Output/sgefa.simple.compile.report.txt Output/sgefa.simple.exec.report.txt >> Output/sgefa.simple.report.txt
---------------------------------------------------------------
>>> ========= '/MultiSource/Applications/sgefa/sgefa' Program
---------------------------------------------------------------

TEST-FAIL: compile /MultiSource/Applications/sgefa/sgefa
TEST-RESULT-compile-time: user 0.695000
TEST-RESULT-compile-real-time: real 0.880900

TEST-FAIL: exec /MultiSource/Applications/sgefa/sgefa
TEST-RESULT-exec-time: user       0.0000
TEST-RESULT-exec-real-time: real       0.0012


More information about the llvm-dev mailing list