From 861600217adae43efea62e78c7b9eb3a069331da Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Fri, 22 Sep 2017 12:22:18 -0700 Subject: [PATCH 01/11] Build dejagnu locally, it appears this has disappeared from Travis --- Makefile.in | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Makefile.in b/Makefile.in index 67b6ad7c..f75ac63b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -372,13 +372,20 @@ stamps/build-qemu: $(srcdir)/riscv-qemu $(MAKE) -C $(notdir $@) install date > $@ -check-gdb-newlib: stamps/build-gcc-newlib-stage2 +stamps/build-dejagnu: $(srcdir)/riscv-dejagnu + rm -rf $@ $(notdir $@) + mkdir $(notdir $@) + cd $(notdir $@) && $ $@ -stamps/check-gcc-linux: stamps/build-gcc-linux-stage2 stamps/build-qemu +stamps/check-gcc-linux: stamps/build-gcc-linux-stage2 stamps/build-qemu stamps/build-dejagnu export PATH=$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH) && \ export DEJAGNULIBS=$(srcdir)/riscv-dejagnu && \ export RISC_V_SYSROOT=$(SYSROOT) && \ From 72fd4466ce8b58746a2fc0296d0e70d4bed86e65 Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Fri, 22 Sep 2017 14:43:04 -0700 Subject: [PATCH 02/11] Install expect, which is necessary for dejagnu --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 16eeca95..3ec6f397 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ addons: - bison - build-essential - curl + - expect - flex - gawk - gperf From 833a74582d1296bbe84de12bb1f1e6555776fe77 Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Fri, 22 Sep 2017 17:09:38 -0700 Subject: [PATCH 03/11] Fail mail_tail when make fails --- scripts/wrapper/make_tail | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/wrapper/make_tail b/scripts/wrapper/make_tail index 78ab9a03..a32db809 100755 --- a/scripts/wrapper/make_tail +++ b/scripts/wrapper/make_tail @@ -1,3 +1,6 @@ #!/bin/bash +set -o pipefail +set -e + make "$@" | tail From 5ece74021436c40264707fecde5fc327a1c78bd2 Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Fri, 22 Sep 2017 17:09:58 -0700 Subject: [PATCH 04/11] Avoid using && to pass environment variables --- Makefile.in | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/Makefile.in b/Makefile.in index f75ac63b..11982a96 100644 --- a/Makefile.in +++ b/Makefile.in @@ -380,25 +380,14 @@ stamps/build-dejagnu: $(srcdir)/riscv-dejagnu $(MAKE) -C $(notdir $@) check-gdb-newlib: stamps/build-gcc-newlib-stage2 stamps/build-dejagnu - export PATH=$(INSTALL_DIR)/bin:$(PATH) && \ - export DEJAGNULIBS=$(srcdir)/riscv-dejagnu && \ - cd build-binutils-newlib && \ - $(MAKE) check-gdb "RUNTESTFLAGS=--target_board=riscv-sim" + PATH="$(INSTALL_DIR)/bin:$(PATH)" DEJAGNULIBS="$(srcdir)/riscv-dejagnu" $(MAKE) -C build-binutils-newlib check-gdb "RUNTESTFLAGS=--target_board=riscv-sim" stamps/check-gcc-newlib: stamps/build-gcc-newlib-stage2 stamps/build-qemu stamps/build-dejagnu - export PATH=$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH) && \ - export DEJAGNULIBS=$(srcdir)/riscv-dejagnu && \ - export RISC_V_SYSROOT=$(SYSROOT) && \ - cd build-gcc-newlib-stage2 && \ - $(MAKE) check-gcc "RUNTESTFLAGS=--target_board='$(NEWLIB_TARGET_BOARDS)'" + PATH="$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH)" DEJAGNULIBS="$(srcdir)/riscv-dejagnu" RISC_V_SYSROOT="$(SYSROOT)" $(MAKE) -C build-gcc-newlib-stage2 check-gcc "RUNTESTFLAGS=--target_board='$(NEWLIB_TARGET_BOARDS)'" date > $@ stamps/check-gcc-linux: stamps/build-gcc-linux-stage2 stamps/build-qemu stamps/build-dejagnu - export PATH=$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH) && \ - export DEJAGNULIBS=$(srcdir)/riscv-dejagnu && \ - export RISC_V_SYSROOT=$(SYSROOT) && \ - cd build-gcc-linux-stage2 && \ - $(MAKE) check-gcc "RUNTESTFLAGS=--target_board='$(GLIBC_TARGET_BOARDS)'" + PATH="$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH)" DEJAGNULIBS="$(srcdir)/riscv-dejagnu" RISC_V_SYSROOT="$(SYSROOT)" $(MAKE) -C build-gcc-linux-stage2 check-gcc "RUNTESTFLAGS=--target_board='$(GLIBC_TARGET_BOARDS)'" date > $@ .PHONY: check-dhrystone-newlib @@ -411,10 +400,7 @@ stamps/check-dhrystone-newlib-%: \ $(eval $@_ARCH := $(word 4,$(subst -, ,$@))) $(eval $@_ABI := $(word 5,$(subst -, ,$@))) $(eval $@_XLEN := $(patsubst rv32%,32,$(patsubst rv64%,64,$($@_ARCH)))) - export PATH=$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH) && \ - export DEJAGNULIBS=$(srcdir)/riscv-dejagnu && \ - export RISC_V_SYSROOT=$(SYSROOT) && \ - $(srcdir)/test/benchmarks/dhrystone/check -march=$($@_ARCH) -mabi=$($@_ABI) -cc=riscv$(XLEN)-unknown-elf-gcc -objdump=riscv$(XLEN)-unknown-elf-objdump -sim=riscv$($@_XLEN)-unknown-elf-run -out=$@ $(filter %.c,$^) || true + PATH="$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH)" DEJAGNULIBS="$(srcdir)/riscv-dejagnu" RISC_V_SYSROOT="$(SYSROOT)" $(srcdir)/test/benchmarks/dhrystone/check -march=$($@_ARCH) -mabi=$($@_ABI) -cc=riscv$(XLEN)-unknown-elf-gcc -objdump=riscv$(XLEN)-unknown-elf-objdump -sim=riscv$($@_XLEN)-unknown-elf-run -out=$@ $(filter %.c,$^) || true .PHONY: check-dhrystone-linux check-dhrystone-linux: $(patsubst %,stamps/check-dhrystone-linux-%,$(GLIBC_MULTILIB_NAMES)) @@ -426,10 +412,7 @@ stamps/check-dhrystone-linux-%: \ $(eval $@_ARCH := $(word 4,$(subst -, ,$@))) $(eval $@_ABI := $(word 5,$(subst -, ,$@))) $(eval $@_XLEN := $(patsubst rv32%,32,$(patsubst rv64%,64,$($@_ARCH)))) - export PATH=$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH) && \ - export DEJAGNULIBS=$(srcdir)/riscv-dejagnu && \ - export RISC_V_SYSROOT=$(SYSROOT) && \ - $(srcdir)/test/benchmarks/dhrystone/check -march=$($@_ARCH) -mabi=$($@_ABI) -cc=riscv$(XLEN)-unknown-elf-gcc -objdump=riscv$(XLEN)-unknown-elf-objdump -sim=riscv$($@_XLEN)-unknown-elf-run -out=$@ $(filter %.c,$^) || true + PATH="$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH)" DEJAGNULIBS="$(srcdir)/riscv-dejagnu" RISC_V_SYSROOT="$(SYSROOT)" $(srcdir)/test/benchmarks/dhrystone/check -march=$($@_ARCH) -mabi=$($@_ABI) -cc=riscv$(XLEN)-unknown-elf-gcc -objdump=riscv$(XLEN)-unknown-elf-objdump -sim=riscv$($@_XLEN)-unknown-elf-run -out=$@ $(filter %.c,$^) || true .PHONY: report-gcc-newlib report-gcc-newlib: stamps/check-gcc-newlib From 5bc4ca824138a16c1e721cd1de7ef4abca2804e6 Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Wed, 4 Oct 2017 17:25:22 -0700 Subject: [PATCH 05/11] Install dejagnu --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 3ec6f397..e64e5260 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ addons: - bison - build-essential - curl + - dejagnu - expect - flex - gawk From 18546f8f346179ab8376e108ea3086ce05c73408 Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Thu, 5 Oct 2017 09:19:27 -0700 Subject: [PATCH 06/11] Let the tests run for longer on Travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e64e5260..b5c06434 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,5 +47,5 @@ install: true script: - ./configure --prefix=/tmp/build-default $CARGS - travis_wait 90 scripts/wrapper/make_tail - - travis_wait 45 scripts/wrapper/make_tail check + - travis_wait 180 scripts/wrapper/make_tail check - make report From 460da9961412832d17095ce3adca6b0100d25a5e Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Mon, 9 Oct 2017 09:54:35 -0700 Subject: [PATCH 07/11] Create the dejagnu stamp --- Makefile.in | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.in b/Makefile.in index 11982a96..ea52c267 100644 --- a/Makefile.in +++ b/Makefile.in @@ -378,6 +378,7 @@ stamps/build-dejagnu: $(srcdir)/riscv-dejagnu cd $(notdir $@) && $ $@ check-gdb-newlib: stamps/build-gcc-newlib-stage2 stamps/build-dejagnu PATH="$(INSTALL_DIR)/bin:$(PATH)" DEJAGNULIBS="$(srcdir)/riscv-dejagnu" $(MAKE) -C build-binutils-newlib check-gdb "RUNTESTFLAGS=--target_board=riscv-sim" From 79ba6e76dac93ffd001e1a55a1e5aef030f80fb4 Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Tue, 10 Oct 2017 17:44:29 -0700 Subject: [PATCH 08/11] Don't run the glibc tests for now I'm not sure what's going on here, but sometimes these take a long time to run on Travis. --- .travis.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index b5c06434..906f80b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,12 +30,12 @@ before_install: - export CXX=g++-4.8 - export CC=gcc-4.8 env: - - CARGS="--enable-linux --disable-multilib --with-arch=rv32imac --with-abi=ilp32" - - CARGS="--enable-linux --disable-multilib --with-arch=rv32imafdc --with-abi=ilp32" - - CARGS="--enable-linux --disable-multilib --with-arch=rv32imafdc --with-abi=ilp32d" - - CARGS="--enable-linux --disable-multilib --with-arch=rv64imac --with-abi=lp64" - - CARGS="--enable-linux --disable-multilib --with-arch=rv64imafdc --with-abi=lp64" - - CARGS="--enable-linux --disable-multilib --with-arch=rv64imafdc --with-abi=lp64d" +# - CARGS="--enable-linux --disable-multilib --with-arch=rv32imac --with-abi=ilp32" +# - CARGS="--enable-linux --disable-multilib --with-arch=rv32imafdc --with-abi=ilp32" +# - CARGS="--enable-linux --disable-multilib --with-arch=rv32imafdc --with-abi=ilp32d" +# - CARGS="--enable-linux --disable-multilib --with-arch=rv64imac --with-abi=lp64" +# - CARGS="--enable-linux --disable-multilib --with-arch=rv64imafdc --with-abi=lp64" +# - CARGS="--enable-linux --disable-multilib --with-arch=rv64imafdc --with-abi=lp64d" - CARGS="--disable-linux --disable-multilib --with-arch=rv32i --with-abi=ilp32" - CARGS="--disable-linux --disable-multilib --with-arch=rv32im --with-abi=ilp32" - CARGS="--disable-linux --disable-multilib --with-arch=rv32iac --with-abi=ilp32" From ea8b8613700677aab097399b7cf8c5835dbfa9cc Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Tue, 10 Oct 2017 17:47:34 -0700 Subject: [PATCH 09/11] mkdir stamps a bit more often --- Makefile.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile.in b/Makefile.in index ea52c267..233fe4e3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -370,6 +370,7 @@ stamps/build-qemu: $(srcdir)/riscv-qemu --target-list=riscv64-linux-user,riscv32-linux-user $(MAKE) -C $(notdir $@) $(MAKE) -C $(notdir $@) install + mkdir -p $(dir $@) date > $@ stamps/build-dejagnu: $(srcdir)/riscv-dejagnu @@ -378,6 +379,7 @@ stamps/build-dejagnu: $(srcdir)/riscv-dejagnu cd $(notdir $@) && $ $@ check-gdb-newlib: stamps/build-gcc-newlib-stage2 stamps/build-dejagnu @@ -385,10 +387,12 @@ check-gdb-newlib: stamps/build-gcc-newlib-stage2 stamps/build-dejagnu stamps/check-gcc-newlib: stamps/build-gcc-newlib-stage2 stamps/build-qemu stamps/build-dejagnu PATH="$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH)" DEJAGNULIBS="$(srcdir)/riscv-dejagnu" RISC_V_SYSROOT="$(SYSROOT)" $(MAKE) -C build-gcc-newlib-stage2 check-gcc "RUNTESTFLAGS=--target_board='$(NEWLIB_TARGET_BOARDS)'" + mkdir -p $(dir $@) date > $@ stamps/check-gcc-linux: stamps/build-gcc-linux-stage2 stamps/build-qemu stamps/build-dejagnu PATH="$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH)" DEJAGNULIBS="$(srcdir)/riscv-dejagnu" RISC_V_SYSROOT="$(SYSROOT)" $(MAKE) -C build-gcc-linux-stage2 check-gcc "RUNTESTFLAGS=--target_board='$(GLIBC_TARGET_BOARDS)'" + mkdir -p $(dir $@) date > $@ .PHONY: check-dhrystone-newlib From 3dbc03849f085ef15d4920798da0b1e6307ee65d Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Wed, 11 Oct 2017 14:26:25 -0700 Subject: [PATCH 10/11] movmem had some regressions, whitelist them for now --- test/gcc-newlib/rv32i-ilp32.log | 5 +++++ test/gcc-newlib/rv32iac-ilp32.log | 5 +++++ test/gcc-newlib/rv32im-ilp32.log | 5 +++++ test/gcc-newlib/rv32imac-ilp32.log | 5 +++++ test/gcc-newlib/rv32imafc-ilp32f.log | 5 +++++ test/gcc-newlib/rv64imac-lp64.log | 5 +++++ test/gcc-newlib/rv64imafdc-lp64d.log | 5 +++++ 7 files changed, 35 insertions(+) diff --git a/test/gcc-newlib/rv32i-ilp32.log b/test/gcc-newlib/rv32i-ilp32.log index 339dde49..02ff9804 100644 --- a/test/gcc-newlib/rv32i-ilp32.log +++ b/test/gcc-newlib/rv32i-ilp32.log @@ -1,3 +1,8 @@ build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/memmove-4.c scan-tree-dump-not optimized "memmove" build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/strlenopt-8.c scan-tree-dump-times strlen "memcpy \\(" 2 build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tls/pr78796.c execution test +# These all look like performance problems related to our movmem +# implementation. +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/ipa/iinline-cstagg-2.c scan-ipa-dump inline "thisisthetarget[^\\n]*inline copy in outerfunction" +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _T2" 0 +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _ans" 0 diff --git a/test/gcc-newlib/rv32iac-ilp32.log b/test/gcc-newlib/rv32iac-ilp32.log index 339dde49..02ff9804 100644 --- a/test/gcc-newlib/rv32iac-ilp32.log +++ b/test/gcc-newlib/rv32iac-ilp32.log @@ -1,3 +1,8 @@ build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/memmove-4.c scan-tree-dump-not optimized "memmove" build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/strlenopt-8.c scan-tree-dump-times strlen "memcpy \\(" 2 build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tls/pr78796.c execution test +# These all look like performance problems related to our movmem +# implementation. +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/ipa/iinline-cstagg-2.c scan-ipa-dump inline "thisisthetarget[^\\n]*inline copy in outerfunction" +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _T2" 0 +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _ans" 0 diff --git a/test/gcc-newlib/rv32im-ilp32.log b/test/gcc-newlib/rv32im-ilp32.log index 339dde49..02ff9804 100644 --- a/test/gcc-newlib/rv32im-ilp32.log +++ b/test/gcc-newlib/rv32im-ilp32.log @@ -1,3 +1,8 @@ build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/memmove-4.c scan-tree-dump-not optimized "memmove" build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/strlenopt-8.c scan-tree-dump-times strlen "memcpy \\(" 2 build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tls/pr78796.c execution test +# These all look like performance problems related to our movmem +# implementation. +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/ipa/iinline-cstagg-2.c scan-ipa-dump inline "thisisthetarget[^\\n]*inline copy in outerfunction" +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _T2" 0 +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _ans" 0 diff --git a/test/gcc-newlib/rv32imac-ilp32.log b/test/gcc-newlib/rv32imac-ilp32.log index 339dde49..02ff9804 100644 --- a/test/gcc-newlib/rv32imac-ilp32.log +++ b/test/gcc-newlib/rv32imac-ilp32.log @@ -1,3 +1,8 @@ build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/memmove-4.c scan-tree-dump-not optimized "memmove" build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/strlenopt-8.c scan-tree-dump-times strlen "memcpy \\(" 2 build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tls/pr78796.c execution test +# These all look like performance problems related to our movmem +# implementation. +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/ipa/iinline-cstagg-2.c scan-ipa-dump inline "thisisthetarget[^\\n]*inline copy in outerfunction" +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _T2" 0 +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _ans" 0 diff --git a/test/gcc-newlib/rv32imafc-ilp32f.log b/test/gcc-newlib/rv32imafc-ilp32f.log index 339dde49..02ff9804 100644 --- a/test/gcc-newlib/rv32imafc-ilp32f.log +++ b/test/gcc-newlib/rv32imafc-ilp32f.log @@ -1,3 +1,8 @@ build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/memmove-4.c scan-tree-dump-not optimized "memmove" build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/strlenopt-8.c scan-tree-dump-times strlen "memcpy \\(" 2 build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tls/pr78796.c execution test +# These all look like performance problems related to our movmem +# implementation. +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/ipa/iinline-cstagg-2.c scan-ipa-dump inline "thisisthetarget[^\\n]*inline copy in outerfunction" +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _T2" 0 +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _ans" 0 diff --git a/test/gcc-newlib/rv64imac-lp64.log b/test/gcc-newlib/rv64imac-lp64.log index 339dde49..02ff9804 100644 --- a/test/gcc-newlib/rv64imac-lp64.log +++ b/test/gcc-newlib/rv64imac-lp64.log @@ -1,3 +1,8 @@ build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/memmove-4.c scan-tree-dump-not optimized "memmove" build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/strlenopt-8.c scan-tree-dump-times strlen "memcpy \\(" 2 build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tls/pr78796.c execution test +# These all look like performance problems related to our movmem +# implementation. +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/ipa/iinline-cstagg-2.c scan-ipa-dump inline "thisisthetarget[^\\n]*inline copy in outerfunction" +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _T2" 0 +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _ans" 0 diff --git a/test/gcc-newlib/rv64imafdc-lp64d.log b/test/gcc-newlib/rv64imafdc-lp64d.log index 339dde49..02ff9804 100644 --- a/test/gcc-newlib/rv64imafdc-lp64d.log +++ b/test/gcc-newlib/rv64imafdc-lp64d.log @@ -1,3 +1,8 @@ build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/memmove-4.c scan-tree-dump-not optimized "memmove" build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/strlenopt-8.c scan-tree-dump-times strlen "memcpy \\(" 2 build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tls/pr78796.c execution test +# These all look like performance problems related to our movmem +# implementation. +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/ipa/iinline-cstagg-2.c scan-ipa-dump inline "thisisthetarget[^\\n]*inline copy in outerfunction" +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _T2" 0 +build-gcc-newlib-stage2/gcc/testsuite/gcc/gcc.sum:FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized "struct _fat_ptr _ans" 0 From dcbfec3414e91b6e82da577d309b492cf12fa81b Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Wed, 11 Oct 2017 16:55:39 -0700 Subject: [PATCH 11/11] Bump GCC, to emit a NOP after movmem --- riscv-gcc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/riscv-gcc b/riscv-gcc index c95cdcae..4fb4d8f9 160000 --- a/riscv-gcc +++ b/riscv-gcc @@ -1 +1 @@ -Subproject commit c95cdcae21de8dbb8a8ceb9c58b5f9560f0628ff +Subproject commit 4fb4d8f9e9ac8a28d6ea5117688eadbcd0f7978e