Ira Rosen [Thu, 5 May 2011 07:34:59 +0000 (07:34 +0000)]
backport: re PR target/48252 (ARM neon: problem with consecutive vzip, vuzp and vtrn)
Backport from mainline:
2011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
Ira Rosen <ira.rosen@linaro.org>
PR target/48252
* config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
to match neon_vzip/vuzp/vtrn_internal.
* config/arm/neon.md (neon_vtrn<mode>_internal): Make both
outputs explicitly dependent on both inputs.
(neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
Uros Bizjak [Wed, 4 May 2011 18:22:23 +0000 (20:22 +0200)]
i386.md (*movdi_internal_rex64): Use %v prefix in insn mnemonic to handle TARGET_AVX.
* config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
Use %v prefix in insn mnemonic to handle TARGET_AVX.
(*movdi_internal): Use "maybe_vex" instead of "vex" in "prefix"
attribute calculation.
(*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
* config/i386/sse.md (*sse2_storeq_rex64): Do not emit %v prefix
for mov{q} mnemonic.
(*vec_extractv2di_1_rex64_avx): Ditto.
(*vec_concatv2di_rex64_sse4_1): Use %vmovd for reg<->xmm moves.
(*vec_concatv2di_rex64_sse): Use movd for reg<->xmm moves.
* config/i386/mmx.md (*mov<mode>_internal_rex64): Ditto.
testsuite/ChangeLog:
Backport from mainline
2010-12-08 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/sse2-init-v2di-2.c: Add "-dp" and update
expected scan.
* df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
bits for artificial defs at the top of the block.
* fwprop.c (single_def_use_enter_block): Don't call it.
* ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
df_simulate_find_noclobber_defs as appropriate. Keep track of an
extra set merge_set_noclobber, and use it to relax the final test
slightly.
* df.h (df_simulate_find_noclobber_defs): Declare.
* df-problems.c (df_simulate_find_defs): Don't ignore partial or
conditional defs.
(df_simulate_find_noclobber_defs): New function.
Rainer Orth [Mon, 2 May 2011 12:41:34 +0000 (12:41 +0000)]
backport: osf.S (UA_SI, [...]): Define.
Backport from mainline:
2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
Define.
Use them to handle ELF vs. ECOFF differences.
[__osf__] (_GLOBAL__F_ffi_call_osf): Define.
Jakub Jelinek [Tue, 26 Apr 2011 10:04:18 +0000 (12:04 +0200)]
backport: re PR preprocessor/48740 (Raw C++0x strings and trigraphs mix badly)
2011-04-26 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
2011-04-24 Jakub Jelinek <jakub@redhat.com>
PR preprocessor/48740
* lex.c (lex_raw_string): When raw string ends with
??) followed by raw prefix and ", ensure it is preprocessed
with ??) rather than ??].
Richard Guenther [Wed, 20 Apr 2011 11:05:09 +0000 (11:05 +0000)]
backport: re PR middle-end/47976 (Recent gfortran.dg/actual_array_constructor_3.f90 regression on arm-linux-gnueabi)
2011-04-20 Richard Guenther <rguenther@suse.de>
Backport from 4.6 branch
2011-04-19 Bernd Schmidt <bernds@codesourcery.com>
PR fortran/47976
* reload1.c (inc_for_reload): Return void. All callers changed.
(emit_input_reload_insns): Don't try to delete previous output
reloads to a register, or record spill_reg_store for autoincs.
Richard Guenther [Tue, 19 Apr 2011 09:19:33 +0000 (09:19 +0000)]
backport: [multiple changes]
2011-04-19 Richard Guenther <rguenther@suse.de>
Backported from 4.6 branch
2011-03-29 Jakub Jelinek <jakub@redhat.com>
PR preprocessor/48248
* c-ppoutput.c (print): Add src_file field.
(init_pp_output): Initialize it.
(maybe_print_line): Don't optimize by adding up to 8 newlines
if map->to_file and print.src_file are different file.
(print_line): Update print.src_file.
Richard Guenther [Tue, 19 Apr 2011 08:59:45 +0000 (08:59 +0000)]
re PR tree-optimization/46188 (-fipa-cp removes destructor call)
2011-04-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46188
Backported from 4.6 branch
2010-05-26 Jan Hubicka <jh@suse.cz>
* cgraphunit.c (clone_of_p): Remove.
(verify_cgraph_node): Do not verify clones.
(cgraph_materialize_all_clones): Do no redirection here.
* ipa-inline.c (inline_transform): Do redirection here.
Richard Guenther [Mon, 18 Apr 2011 15:25:17 +0000 (15:25 +0000)]
backport: [multiple changes]
2011-04-18 Richard Guenther <rguenther@suse.de>
Backported from 4.6 branch
2011-01-19 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/47290
* tree-eh.c (infinite_empty_loop_p): New function.
(cleanup_empty_eh): Use it.
* g++.dg/torture/pr47290.C: New test.
2010-05-29 Jan Hubicka <jh@suse.cz>
PR tree-optimization/46364
* cgraphunit.c (cgraph_materialize_clone): Only remove calles, refs
and body;
not the whole node for masters of materialized clones.
Richard Biener [Mon, 18 Apr 2011 14:37:08 +0000 (14:37 +0000)]
backport: [multiple changes]
2011-04-18 Richard Guenther <rguenther@suse.de>
Backported from 4.6 branch
2011-03-11 Jakub Jelinek <jakub@redhat.com>
PR c++/48035
* init.c (build_zero_init_1): Extracted from build_zero_init.
Add FIELD_SIZE argument, if non-NULL and field bit_position
as not smaller than that, don't add that field's initializer.
Pass DECL_SIZE as last argument to build_zero_init_1
for DECL_FIELD_IS_BASE fields.
(build_zero_init): Use build_zero_init_1.
* g++.dg/inherit/virtual8.C: New test.
2011-03-05 Zdenek Dvorak <ook@ucw.cz>
PR rtl-optimization/47899
* cfgloopmanip.c (fix_bb_placements): Fix first argument
to flow_loop_nested_p when moving the loop upward.
* gcc.dg/pr47899.c: New test.
2011-03-15 Richard Guenther <rguenther@suse.de>
PR middle-end/48031
* fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
or variable-indexed array accesses when in gimple form.
Richard Guenther [Mon, 18 Apr 2011 14:02:22 +0000 (14:02 +0000)]
backport: [multiple changes]
2011-04-18 Richard Guenther <rguenther@suse.de>
Backported from 4.6 branch
2011-03-11 Jakub Jelinek <jakub@redhat.com>
PR c++/48035
* init.c (build_zero_init_1): Extracted from build_zero_init.
Add FIELD_SIZE argument, if non-NULL and field bit_position
as not smaller than that, don't add that field's initializer.
Pass DECL_SIZE as last argument to build_zero_init_1
for DECL_FIELD_IS_BASE fields.
(build_zero_init): Use build_zero_init_1.
* g++.dg/inherit/virtual8.C: New test.
2011-03-05 Zdenek Dvorak <ook@ucw.cz>
PR rtl-optimization/47899
* cfgloopmanip.c (fix_bb_placements): Fix first argument
to flow_loop_nested_p when moving the loop upward.
* gcc.dg/pr47899.c: New test.
2011-03-15 Richard Guenther <rguenther@suse.de>
PR middle-end/48031
* fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
or variable-indexed array accesses when in gimple form.