[Bug middle-end/61894] Fail to fold read from constant vector initializer

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jul 25 07:45:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61894

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Fri Jul 25 07:44:57 2014
New Revision: 213045

URL: https://gcc.gnu.org/viewcvs?rev=213045&root=gcc&view=rev
Log:
2014-07-25  Richard Biener  <rguenther@suse.de>

    PR middle-end/61762
    PR middle-end/61894
    * fold-const.c (native_encode_int): Add and handle offset
    parameter to do partial encodings of expr.
    (native_encode_fixed): Likewise.
    (native_encode_real): Likewise.
    (native_encode_complex): Likewise.
    (native_encode_vector): Likewise.
    (native_encode_string): Likewise.
    (native_encode_expr): Likewise.
    * fold-const.c (native_encode_expr): Add offset parameter
    defaulting to -1.
    * gimple-fold.c (fold_string_cst_ctor_reference): Remove.
    (fold_ctor_reference): Handle all reads from tcc_constant
    ctors.

    * gcc.dg/pr61762.c: New testcase.
    * gcc.dg/fold-cstring.c: Likewise.
    * gcc.dg/fold-cvect.c: Likewise.

Added:
    trunk/gcc/testsuite/gcc.dg/fold-cstring.c
    trunk/gcc/testsuite/gcc.dg/fold-cvect.c
    trunk/gcc/testsuite/gcc.dg/pr61762.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/fold-const.c
    trunk/gcc/fold-const.h
    trunk/gcc/gimple-fold.c
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-bugs mailing list