[Bug tree-optimization/103226] New: [12 Regression] Recent change to copy-headers causes execution failure for gcc.dg/torture/pr80974
law at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Nov 13 20:39:16 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103226
Bug ID: 103226
Summary: [12 Regression] Recent change to copy-headers causes
execution failure for gcc.dg/torture/pr80974
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: law at gcc dot gnu.org
Target Milestone: ---
This change:
commit e82c382971664d6fd138cc36020db4b1a91885c6
Author: Aldy Hernandez <aldyh@redhat.com>
Date: Wed Nov 10 13:21:59 2021 +0100
Allow loop header copying when first iteration condition is known.
Causes gcc.dg/torture/pr80974.c to fail with -O2 on bfin-elf
I haven't debugged it in any significant way other than bisection to the above
change and quickly looking at the before/after dumps. Things diverge at the
.ch2 dump (no surprise there). You may ultimately have to set up a cross
environment to debug this one.
The one other tidbit, before this change, the test finishes relatively fast,
afterwards it takes a LOT longer. Maybe we're wrapping a loop or something
like that. Dunno. It may ultimately not be relevant.
Oh, if you end up doing a binutils, gcc & newlib build and want to test things
yourself using dejagnu you might need a suitable baseboards file. Here's mine,
which was copied and edited from some other port...
# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#
# This file is part of DejaGnu.
#
# DejaGnu is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# DejaGnu is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with DejaGnu; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
# This is a list of toolchains that are supported on this board.
set_board_info target_install {bfin-elf}
# Load the generic configuration for this board. This will define a basic set
# of routines needed by the tool to communicate with the board.
load_generic_config "sim"
# basic-sim.exp is a basic description for the standard Cygnus simulator.
load_base_board_description "basic-sim"
# "fr30" is the name of the sim subdir.
setup_sim bfin
# No multilib options needed by default.
process_multilib_options ""
# We only support newlib on this target. We assume that all multilib
# options have been specified before we get here.
set_board_info compiler "[find_gcc]"
set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]"
set_board_info ldflags "-msim [libgloss_link_flags] [newlib_link_flags]"
# No linker script needed.
set_board_info ldscript ""
# The simulator doesn't return exit statuses and we need to indicate this;
# the standard GCC wrapper will work with this target.
set_board_info needs_status_wrapper 1
# Doesn't pass arguments or signals, can't return results, and doesn't
# do inferiorio.
set_board_info noargs 1
set_board_info gdb,nosignals 1
set_board_info gdb,noresults 1
set_board_info gdb,noinferiorio 1
set_board_info gcc,stack_size 4096
More information about the Gcc-bugs
mailing list