2014-03-31 Martin Jambor <mjambor@suse.cz>
PR middle-end/60647
* tree-sra.c (callsite_has_enough_arguments_p): Renamed to
callsite_arguments_match_p. Updated all callers. Also check types of
corresponding formal parameters and actual arguments.
(not_all_callers_have_enough_arguments_p) Renamed to
some_callers_have_mismatched_arguments_p.
testsuite/
* gcc.dg/pr60647-1.c: New test.
* gcc.dg/pr60647-2.c: Likewise.
From-SVN: r208957
PR target/60648
* g++.dg/pr60648.C: Move test to...
* g++.dg/torture/pr60648.C: ... here. Run on all targets, remove
dg-options, add for fpic targets dg-additional-options -fPIC.
From-SVN: r208933
PR target/60648
* expr.c (do_tablejump): Use simplify_gen_binary rather than
gen_rtx_{PLUS,MULT} to build up the address expression.
* i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
creating non-canonical RTL.
PR target/60648
* g++.dg/pr60648.C: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r208924
Fix PR c++/60573
PR c++/60573
* name-lookup.h (cp_binding_level): New transient field defining_class_p
to indicate whether a scope is in the process of defining a class.
* semantics.c (begin_class_definition): Set defining_class_p.
* name-lookup.c (leave_scope): Reset defining_class_p.
* parser.c (synthesize_implicit_template_parm): Use cp_binding_level::
defining_class_p rather than TYPE_BEING_DEFINED as the predicate for
unwinding to class-defining scope to handle the erroneous definition of
a generic function of an arbitrarily nested class within an enclosing
class.
PR c++/60573
* g++.dg/cpp1y/pr60573.C: New testcase.
From-SVN: r208921
PR target/60693
* config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
also if addr has VOIDmode.
* gcc.target/i386/pr60693.c: New test.
From-SVN: r208915
* config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
* config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
Declare extern.
* config/arm/cortex-a53.md: Add reservations and bypass for crypto
instructions as well as AdvancedSIMD loads.
From-SVN: r208910
PR c++/58678
* g++.dg/abi/thunk6.C: Scan assembler for _ZTv0_n32_N1CD1Ev
only for lp64 targets and scan for _ZTv0_n16_N1CD1Ev for ilp32
targets.
From-SVN: r208907
2014-03-28 Richard Biener <rguenther@suse.de>
libiberty/
* simple-object.c (simple_object_internal_read): Handle
EINTR and short reads.
lto-plugin/
* lto-plugin.c (process_symtab): Handle EINTR and short reads.
From-SVN: r208898
2014-03-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Remove s390 special
option.
* lib/target-supports.exp: Return true for s390
in check_effective_logical_op_short_circuit.
From-SVN: r208897
This affects only arm-none-eabi targets and those using t-aprofile in
their multilib lists. The problem here is that when the A12 support
was added, we mistakenly added this to the MULTILIB_MATCHES rule for
the A15 rather than putting out a separate line for this.
Fixed thusly and verified that the correct multilibs are now chosen.
* config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
From-SVN: r208896
2014-03-28 Tobias Burnus <burnus@net-b.de>
* lib/cilk-plus-dg.exp: New.
* g++.dg/cilk-plus/cilk-plus.exp: Use it.
* gcc.dg/cilk-plus/cilk-plus.exp: Use it.
From-SVN: r208889
2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60522
* frontend-passes.c (cfe_code): Do not walk subtrees
for WHERE.
2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60522
* gfortran.dg/where_4.f90: New test case.
From-SVN: r208883
2014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
Document use of vec_xxsldwi and vec_xxpermdi builtins.
From-SVN: r208880
[gcc]
2014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/constraints.md (wD constraint): New constraint to
match the constant integer to get the top DImode/DFmode out of a
vector in a VSX register.
* config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
match the constant integer to get the top DImode/DFmode out of a
vector in a VSX register.
* config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
for ISA 2.07.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
vbpermq builtins.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): If
-mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
* config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
Optimize vec_extract of 64-bit values, where the value being
extracted is in the top word, where we can use scalar
instructions. Add direct move and store support. Combine the big
endian/little endian vector select load support into a single
insn.
(vsx_extract_<mode>_internal1): Likewise.
(vsx_extract_<mode>_internal2): Likewise.
(vsx_extract_<mode>_load): Likewise.
(vsx_extract_<mode>_store): Likewise.
(vsx_extract_<mode>_zero): Delete, big and little endian insns are
combined into vsx_extract_<mode>_load.
(vsx_extract_<mode>_one_le): Likewise.
* config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
define the top 64-bit vector element.
* doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
constraint.
PR target/60672
* config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
enable use of xxsldwi and xxpermdi builtin functions.
(vec_xxpermdi): Likewise.
* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
Document use of vec_xxsldwi and vec_xxpermdi builtins.
[gcc/testsuite]
2014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p8vector-vbpermq.c: New test to test the
vbpermq builtin.
* gcc.target/powerpc/vsx-extract-1.c: New test to test VSX
vec_select optimizations.
* gcc.target/powerpc/vsx-extract-2.c: Likewise.
* gcc.target/powerpc/vsx-extract-3.c: Likewise.
PR target/60672
* gcc.target/powerpc/pr60676.c: New file, make sure xxsldwi and
xxpermdi builtins are supported.
From-SVN: r208877
2014-03-27 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/60650
* lra-asign.c (find_hard_regno_for, spill_for): Add parameter
first_p. Use it.
(find_spills_for): New.
(assign_by_spills): Pass the new parameter to find_hard_regno_for.
Spill all pseudos on the second iteration.
2014-03-27 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/60650
* gcc.target/arm/pr60650.c: New.
From-SVN: r208876