Eric Botcazou [Wed, 8 May 2013 09:51:25 +0000 (09:51 +0000)]
Minor tweaks
From-SVN: r198706
Paolo Carlini [Wed, 8 May 2013 09:09:52 +0000 (09:09 +0000)]
re PR tree-optimization/57200 (aggressive-loop-optimizations notes appear even when warning itself is suppressed)
2013-05-08 Paolo Carlini <paolo.carlini@oracle.com>
PR tree-optimization/57200
* tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
Only call inform if the preceding warning_at returns true.
From-SVN: r198704
GCC Administrator [Wed, 8 May 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198703
Han Shen [Tue, 7 May 2013 23:33:40 +0000 (23:33 +0000)]
2013-05-07 Han Shen <shenhan@google.com>
Added 2 missing files that should be included in the previous
submitted patch trunk@r198699.
From-SVN: r198700
Han Shen [Tue, 7 May 2013 21:33:01 +0000 (21:33 +0000)]
cfgexpand.c (record_or_union_type_has_array_p): New function.
2013-05-07 Han Shen <shenhan@google.com>
gcc/
* cfgexpand.c (record_or_union_type_has_array_p): New function.
(expand_used_vars): Add logic handling '-fstack-protector-strong'.
* common.opt (fstack-protector-strong): New option.
* doc/cpp.texi (__SSP_STRONG__): New builtin "__SSP_STRONG__".
* doc/invoke.texi (Optimization Options): Document
"-fstack-protector-strong".
* gcc.c (LINK_SSP_SPEC): Add 'fstack-protector-strong'.
gcc/testsuite/
* gcc.dg/fstack-protector-strong.c: New.
* g++.dg/fstack-protector-strong.C: New.
gcc/c-family/
* c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
From-SVN: r198699
François Dumont [Tue, 7 May 2013 20:26:15 +0000 (20:26 +0000)]
unordered_base.h: New.
2013-05-07 François Dumont <fdumont@gcc.gnu.org>
* include/profile/unordered_base.h: New.
* include/Makefile.am: Add new profile header.
* include/Makefile.in: Regenerate.
* include/profile/impl/profiler.h
(__profcxx_inefficient_hash_is_on): New macro.
* include/profile/unordered_map (std::profile::unordered_map<>):
Use new _Unordered_profile base class. Use default implementations
for special functions.
(std::profile::unordered_multimap<>): Likewise.
* include/profile/unordered_set (std::profile::unordered_set<>):
Likewise.
(std::profile::unordered_multiset<>): Likewise.
* testsuite/23_containers/unordered_multiset/55043.cc: Fix
MoveOnly equality operator signature.
From-SVN: r198698
Steven Bosscher [Tue, 7 May 2013 19:34:35 +0000 (19:34 +0000)]
* config/mips/mips.c (mips_machine_reorg2): Return 0.
From-SVN: r198696
Vladimir Makarov [Tue, 7 May 2013 19:29:05 +0000 (19:29 +0000)]
ira.c (update_equiv_regs): Add insn having equiv memory even if it is not lhs of the insn.
2013-05-07 Vladimir Makarov <vmakarov@redhat.com>
* ira.c (update_equiv_regs): Add insn having equiv memory even if
it is not lhs of the insn.
(setup_reg_equiv): Remove insn having equiv memory which it is not
lhs of the insn.
* lra-constraints.c (process_address): Try to improve generation
code for address base + disp.
(lra_constraints): Make correct the code for checking insn setting
up backward equivalence. Remove insn only if it is in the init
insn list.
* lra-eliminations.c (update_reg_eliminate): Change return value.
(lra_eliminate): Use the result.
From-SVN: r198695
Uros Bizjak [Tue, 7 May 2013 17:57:10 +0000 (19:57 +0200)]
sse.md (ssescalarnummask): New mode attribute.
* config/i386/sse.md (ssescalarnummask): New mode attribute.
(PEXTR_MODE, PEXTR_MODEx): New mode iterators.
(*vec_extract<mode>): Merge from *sse4_1_pextrb_memory and
*sse4_1_pextrw_memory. Handle register target operands.
(*vec_extractv8hi_sse2): New pattern.
(*vec_extractv16qi_zext): Rename from *sse4_1_pextrb_<mode>.
(*vec_extractv8hi_zext): Rename from *sse2_pextrw_<mode>.
(*vec_extract<mode>_mem): New insn and split pattern.
From-SVN: r198691
Ian Bolton [Tue, 7 May 2013 14:41:17 +0000 (14:41 +0000)]
AArch64 testcases for ANDS instruction
From-SVN: r198684
Christophe Lyon [Tue, 7 May 2013 14:17:50 +0000 (14:17 +0000)]
arm.c (arm_asan_shadow_offset): New function.
2013-05-06 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
* config/arm/arm.c (arm_asan_shadow_offset): New function.
(TARGET_ASAN_SHADOW_OFFSET): Define.
* config/arm/linux-eabi.h (ASAN_CC1_SPEC): Define.
(LINUX_OR_ANDROID_CC): Add ASAN_CC1_SPEC.
libsanitizer/
* configure.tgt: Add ARM pattern.
testsuite/
* lib/target-supports.exp (check_effective_target_hw): New
function.
* c-c++-common/asan/clone-test-1.c: Call
check_effective_target_hw.
* c-c++-common/asan/rlimit-mmap-test-1.c: Likewise.
* c-c++-common/asan/heap-overflow-1.c: Update regexps to accept
possible decorations.
* c-c++-common/asan/null-deref-1.c: Likewise.
* c-c++-common/asan/stack-overflow-1.c: Likewise.
* c-c++-common/asan/strncpy-overflow-1.c: Likewise.
* c-c++-common/asan/use-after-free-1.c: Likewise.
* g++.dg/asan/deep-thread-stack-1.C: Likewise.
* g++.dg/asan/large-func-test-1.C: Likewise.
From-SVN: r198683
Bill Schmidt [Tue, 7 May 2013 14:11:21 +0000 (14:11 +0000)]
gimple-ssa-strength-reduction.c (MAX_INCR_VEC_LEN): New constant.
2013-05-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (MAX_INCR_VEC_LEN): New constant.
(incr_vec_index): Return -1 if increment not found.
(create_add_on_incoming_edge): Assert if increment not found.
(record_increment): Limit number of increments recorded.
(all_phi_incrs_profitable): Return false if an increment not found.
(replace_profitable_candidates): Don't process increments that were
not recorded.
(analyze_candidates_and_replace): Limit size of incr_vec.
From-SVN: r198682
Richard Biener [Tue, 7 May 2013 13:02:36 +0000 (13:02 +0000)]
calls.c (special_function_p): setjmp-like functions are leaf.
2013-05-07 Richard Biener <rguenther@suse.de>
* calls.c (special_function_p): setjmp-like functions are leaf.
* builtins.def (BUILT_IN_SETJMP): setjmp is leaf.
* tree-inline.c (update_ssa_across_abnormal_edges): Remove assert.
From-SVN: r198681
Sofiane Naci [Tue, 7 May 2013 12:47:18 +0000 (12:47 +0000)]
aarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.
gcc/
* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.
(aarch64_simd_mov<mode>): New expander.
(aarch64_simd_mov_to_<mode>low): New instruction pattern.
(aarch64_simd_mov_to_<mode>high): Likewise.
(aarch64_simd_mov_from_<mode>low): Likewise.
(aarch64_simd_mov_from_<mode>high): Likewise.
(aarch64_dup_lane<mode>): Update.
(aarch64_dup_lanedi): New instruction pattern.
* config/aarch64/aarch64-protos.h (aarch64_split_simd_move): New prototype.
* config/aarch64/aarch64.c (aarch64_split_simd_move): New function.
testsuites/
* gcc.target/aarch64/scalar_intrinsics.c: Update.
From-SVN: r198680
Bill Schmidt [Tue, 7 May 2013 12:44:50 +0000 (12:44 +0000)]
gimple-ssa-strength-reduction.c (lazy_create_slsr_reg): Remove.
2013-05-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (lazy_create_slsr_reg): Remove.
(replace_mult_candidate): Remove unnecessary argument; remove
unnecessary parameter from call to introduce_cast_before_cand.
(replace_unconditional_candidate): Remove unnecessary parameter
from call to replace_mult_candidate.
(replace_conditional_candidate): Likewise.
(insert_initializers): Use make_temp_ssa_name.
(introduce_cast_before_cand): Remove unnecessary argument; use
make_temp_ssa_name.
(replace_one_candidate): Remove unnecessary argument; remove
unnecessary parameter from calls to introduce_cast_before_cand.
(replace_profitable_candidates): Remove unnecessary parameters
from calls to replace_one_candidate.
From-SVN: r198679
Bill Schmidt [Tue, 7 May 2013 12:39:32 +0000 (12:39 +0000)]
gimple-ssa-strength-reduction.c (find_phi_def): Don't record a phi def as possibly hiding a basis for a CAND_ADD whose operands...
2013-05-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
phi def as possibly hiding a basis for a CAND_ADD whose operands
have been commuted in the analysis.
(alloc_cand_and_find_basis): Add parms to call to find_phi_def.
From-SVN: r198678
Naveen H.S [Tue, 7 May 2013 12:20:24 +0000 (12:20 +0000)]
AArch64: Restrict the shift value in compare extended shift operation
2013-05-07 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
* config/aarch64/aarch64.md
(cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): Restrict the
shift value between 0-4.
From-SVN: r198677
Richard Biener [Tue, 7 May 2013 11:26:58 +0000 (11:26 +0000)]
double-int.h (rshift): New overload.
2013-05-07 Richard Biener <rguenther@suse.de>
* double-int.h (rshift): New overload.
* double-int.c (rshift): New function.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Optimize.
(create_reference_ops_from_ref): Remove.
(vn_reference_insert): Use shared ops for constructing the
reference and copy it.
From-SVN: r198676
Richard Biener [Tue, 7 May 2013 11:23:39 +0000 (11:23 +0000)]
re PR tree-optimization/57190 (verify_ssa failed: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set)
2013-05-07 Richard Biener <rguenther@suse.de>
PR middle-end/57190
* tree-eh.c (sink_clobbers): Properly propagate
SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
* g++.dg/torture/pr57190.C: New testcase.
From-SVN: r198675
Jakub Jelinek [Tue, 7 May 2013 10:30:13 +0000 (12:30 +0200)]
re PR tree-optimization/57149 (wrong -Wmaybe-uninitialized warning with -Os)
PR tree-optimization/57149
* tree-ssa-uninit.c (uninit_undefined_value_p): New inline.
(can_skip_redundant_opnd, compute_uninit_opnds_pos,
collect_phi_def_edges, execute_late_warn_uninitialized): Use
uninit_undefined_value_p instead of ssa_undefined_value_p.
* gcc.dg/pr57149.c: New test.
From-SVN: r198671
Jakub Jelinek [Tue, 7 May 2013 08:28:01 +0000 (10:28 +0200)]
re PR debug/57184 (ICE in expand_expr_real_1, at expr.c:10478)
PR debug/57184
* expr.c (expand_expr_addr_expr_1): Handle COMPOUND_LITERAL_EXPR
for modifier == EXPAND_INITIALIZER.
* gcc.dg/pr57184.c: New test.
From-SVN: r198666
Eric Botcazou [Tue, 7 May 2013 07:59:37 +0000 (07:59 +0000)]
re PR ada/56474 (bogus Storage_Error raised for record containing empty zero-based array)
PR ada/56474
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Use
int_const_binop to shift bounds by 1 when they are integer constants.
From-SVN: r198663
Anton Blanchard [Tue, 7 May 2013 01:01:08 +0000 (01:01 +0000)]
configure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation for powerpc64 little endian.
* configure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation
for powerpc64 little endian.
* configure: Regenerate.
From-SVN: r198662
GCC Administrator [Tue, 7 May 2013 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198661
Graham Stott [Mon, 6 May 2013 22:26:53 +0000 (22:26 +0000)]
expmed.c (init_expmed_rtl): Remove unused fields reg_fld...
2013-05-06 Graham Stott <grahams@btinternet.com>
* expmed.c (init_expmed_rtl): Remove unused fields reg_fld, plus_fld,
mult_fld, sdiv_fld1, udiv_fld1, sdiv_32_fld1, smod_32_fld1,
wide_mult_fld1, wide_lshr_fld1, shift_fld1, shift_mult_fld1,
shift_add_fld1, shift_sub0_fld1, shift_sub1_fld1.
From-SVN: r198654
Graham Stott [Mon, 6 May 2013 22:08:56 +0000 (22:08 +0000)]
013-05-06 Graham Stott <grahams@btinternet.com>
* gensupport.c (add_predicate_code): Also exclude SCRATCH from rtx
codes which allow non-lvalues.
From-SVN: r198653
Marc Glisse [Mon, 6 May 2013 21:14:59 +0000 (23:14 +0200)]
tree.c (integer_all_onesp): Test that both components are all 1s.
2013-05-06 Marc Glisse <marc.glisse@inria.fr>
* tree.c (integer_all_onesp) <COMPLEX_CST>: Test that both
components are all 1s.
(integer_minus_onep): New function.
* tree.h (integer_minus_onep): Declare it.
* fold-const.c (fold_binary_loc) <MULT_EXPR>: Test
integer_minus_onep instead of integer_all_onesp.
From-SVN: r198649
Marc Glisse [Mon, 6 May 2013 21:11:24 +0000 (23:11 +0200)]
typeck.c (cp_build_binary_op): Call save_expr before build_vector_from_val.
2013-05-06 Marc Glisse <marc.glisse@inria.fr>
gcc/cp/
* typeck.c (cp_build_binary_op): Call save_expr before
build_vector_from_val.
gcc/testsuite/
* c-c++-common/vector-scalar-2.c: New testcase.
From-SVN: r198648
Oleg Endo [Mon, 6 May 2013 19:59:26 +0000 (19:59 +0000)]
re PR target/52933 (SH Target: Use div0s for integer sign comparisons)
PR target/52933
* config/sh/sh.md (*cmp_div0s_0, *cmp_div0s_1, *movsicc_div0s): Add
variations of these patterns.
From-SVN: r198646
Uros Bizjak [Mon, 6 May 2013 19:53:43 +0000 (21:53 +0200)]
i386.md (isa): Add x64_sse4 member.
* config/i386/i386.md (isa): Add x64_sse4 member.
(enabled): Handle x64_sse4.
(*movdi_internal): Add *x->?r alternative to emit pextrq $0,%xmm,%reg
instruction for 64bit SSE4_1 targets. Update insn attributes.
(*movsi_internal): Add *x->?r alternative to emit pextrd $0,%xmm,%reg
instruction for SSE4_1 targets. Update insn attributes.
* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
with *sse4_1_pextrd and *sse4_1_pextrq having const_0 selector.
(*vec_extractv2di_1): Merge with *sse4_1_pextrq having
const_1 selector.
(*vec_extractv4si): Rename from *sse4_1_pextrd.
(*vec_extractv4si_zext): Rename from *sse4_1_pextrd_zext.
(*vec_extract<ssevecmodelower>_0 splitters): Merge splitters together.
From-SVN: r198643
Oleg Endo [Mon, 6 May 2013 19:49:57 +0000 (19:49 +0000)]
re PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode, at stor-layout.c:395)
PR target/57108
* config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.
From-SVN: r198642
Maxim Kuznetsov [Mon, 6 May 2013 19:35:44 +0000 (19:35 +0000)]
Support {, } and | in assembly output
gcc/
2013-05-06 Maxim Kuznetsov <maks.kuznetsov@gmail.com>
* final.c (do_assembler_dialects): Don't handle curly braces and
vertical bar escaped by % as dialect delimiters.
(output_asm_insn): Print curly braces and vertical bar if escaped
by % and ASSEMBLER_DIALECT defined.
* doc/tm.texi.in (ASSEMBLER_DIALECT): Document new standard escapes.
* doc/tm.texi: Regenerated.
gcc/testsuite/
2013-05-06 Maxim Kuznetsov <maks.kuznetsov@gmail.com>
* gcc.target/i386/asm-dialect-2.c: New testcase.
From-SVN: r198641
Steven Bosscher [Mon, 6 May 2013 19:02:12 +0000 (19:02 +0000)]
mips.c: Include tree-pass.h.
* config/mips/mips.c: Include tree-pass.h.
(mips_reorg): Split in pre- and post-dbr_schedule parts.
(mips_machine_reorg2): Move mips_reorg post-dbr_schedule parts here.
(pass_mips_machine_reorg2): New machine specific pass.
(insert_pass_mips_machine_reorg2): New pass plugin definition.
(mips_option_override): Register the new pass.
* rtl.h (cleanup_barriers): Remove prototype.
(dbr_schedule): Likewise.
* jump.c (cleanup_barriers): Make static.
* reorg.c (dbr_schedule): Likewise.
From-SVN: r198640
Paolo Carlini [Mon, 6 May 2013 16:40:24 +0000 (16:40 +0000)]
re PR c++/57183 ([C++11] auto and -Wunused-variable)
/cp
2013-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57183
* decl.c (cp_finish_decl): After do_auto_deduction copy the
qualifers with cp_apply_type_quals_to_decl.
/testsuite
2013-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57183
* g++.dg/cpp0x/auto38.C: New.
From-SVN: r198636
Uros Bizjak [Mon, 6 May 2013 16:22:21 +0000 (18:22 +0200)]
ChangeLog: Add my last entry.
* ChangeLog: Add my last entry.
* testsuite/ChangLog: Ditto.
From-SVN: r198634
David Edelsohn [Mon, 6 May 2013 15:40:54 +0000 (15:40 +0000)]
hashtab.c (hash_pointer): Remove conditional and avoid unexecuted shift equal to wordsize.
2013-05-06 David Edelsohn <dje.gcc@gmail.com>
Peter Bergner <bergner@vnet.ibm.com>
Segher Boessenkool <segher@kernel.crashing.org>
Jakub Jelinek <jakub@redhat.com>
* hashtab.c (hash_pointer): Remove conditional and avoid
unexecuted shift equal to wordsize.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
From-SVN: r198633
Jakub Jelinek [Mon, 6 May 2013 15:09:41 +0000 (17:09 +0200)]
re PR libgcj/57074 (libgcj regression on 32bit Power architecture)
PR libgcj/57074
* class.c (emit_symbol_table): Use array type of the
right size for the_syms_decl and its DECL_INITIAL, instead
of symbols_array_type. Set TREE_TYPE (the_syms_decl) to it.
(emit_assertion_table): Use array type of the right size
for table_decl and its DECL_INITIAL.
From-SVN: r198631
Richard Biener [Mon, 6 May 2013 15:06:41 +0000 (15:06 +0000)]
re PR tree-optimization/57185 (ICE: Segmentation fault in add_field_for_reduction with -ftree-parallelize-loops=2 -fipa-pta)
2013-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/57185
* tree-parloops.c (add_field_for_reduction): Handle anonymous
SSA names properly.
* gcc.dg/autopar/pr57185.c: New testcase.
From-SVN: r198630
Uros Bizjak [Mon, 6 May 2013 14:53:03 +0000 (16:53 +0200)]
re PR target/57106 (-fcompare-debug failure with -O2 -fschedule-insns -funroll-all-loops)
PR target/57106
* config/i386/i386.c (add_parameter_dependencies): Add dependence
between "first_arg" and "insn", not "last" and "insn".
testsuite/ChangeLog:
PR target/57106
* gcc.target/i386/pr57106.c: New test.
From-SVN: r198629
William Schmidt [Mon, 6 May 2013 13:31:39 +0000 (13:31 +0000)]
gimple-ssa-strength-reduction.c (slsr_process_phi): Re-enable.
gcc:
2013-05-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (slsr_process_phi): Re-enable.
(find_candidates_in_block): Re-enable slsr_process_phi.
(create_phi_basis): Fix double counting of candidate adjustment.
gcc/testsuite:
2013-05-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/slsr-32.c: Re-enable.
* gcc.dg/tree-ssa/slsr-33.c: Likewise.
* gcc.dg/tree-ssa/slsr-34.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/slsr-37.c: Likewise.
* gcc.dg/tree-ssa/slsr-38.c: Likewise.
From-SVN: r198627
Teresa Johnson [Mon, 6 May 2013 12:46:53 +0000 (12:46 +0000)]
re PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu)
2013-05-03 Teresa Johnson <tejohnson@google.com>
PR bootstrap/57154
* gcc.dg/pr57154.c: New test.
From-SVN: r198626
Richard Biener [Mon, 6 May 2013 11:27:29 +0000 (11:27 +0000)]
re PR middle-end/57147 (setjmp call and if body wrongly elided (function runs off early end))
2013-05-06 Richard Biener <rguenther@suse.de>
PR middle-end/57147
* tree-cfg.c (gimple_purge_dead_abnormal_call_edges): If
the edge is also fallthru, preserve it and just clear the
abnormal flag.
* tree-cfgcleanup.c (remove_fallthru_edge): If the edge is
also complex, preserve that and just clear the fallthru flag.
* tree-inline.c (update_ssa_across_abnormal_edges): Also
update virtual operands.
* gcc.dg/torture/pr57147-1.c: New testcase.
* gcc.dg/torture/pr57147-2.c: Likewise.
* gcc.dg/torture/pr57147-3.c: Likewise.
From-SVN: r198625
Thomas Schwinge [Mon, 6 May 2013 08:23:02 +0000 (10:23 +0200)]
fp-bit.c (unpack_d, pack_d): Properly preserve and restore a NaN's payload.
libgcc/
* fp-bit.c (unpack_d, pack_d): Properly preserve and restore a
NaN's payload.
From-SVN: r198622
Thomas Schwinge [Mon, 6 May 2013 08:22:48 +0000 (10:22 +0200)]
fp-bit.h [FLOAT] (QUIET_NAN): Correct value.
libgcc/
* fp-bit.h [FLOAT] (QUIET_NAN): Correct value.
From-SVN: r198621
Alan Modra [Mon, 6 May 2013 02:57:43 +0000 (12:27 +0930)]
linux.h (DEFAULT_ASM_ENDIAN): Define.
* config/rs6000/linux.h (DEFAULT_ASM_ENDIAN): Define.
(LINK_OS_LINUX_EMUL): Use ENDIAN_SELECT.
* config/rs6000/linux64.h (DEFAULT_ASM_ENDIAN): Define.
* config/rs6000/sysv4le.h (DEFAULT_ASM_ENDIAN): Define.
(LINK_TARGET_SPEC): Use ENDIAN_SELECT.
* config/rs6000/sysv4.h (DEFAULT_ASM_ENDIAN): Define as -mbig.
From-SVN: r198620
Alan Modra [Mon, 6 May 2013 00:20:29 +0000 (09:50 +0930)]
sysv4.h (ENDIAN_SELECT): Define, extracted from
* config/rs6000/sysv4.h (ENDIAN_SELECT): Define, extracted from
(ASM_SPEC): ..here. Emit DEFAULT_ASM_ENDIAN too.
(DEFAULT_ASM_ENDIAN): Define.
(CC1_SPEC, LINK_TARGET_SPEC): Use ENDIAN_SELECT.
* config/rs6000/linux64.h (ASM_SPEC32): Remove endian options.
Update -K PIC clause from sysv4.h.
(ASM_SPEC_COMMON): Use ENDIAN_SELECT.
(LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Likewise.
From-SVN: r198619
Alan Modra [Mon, 6 May 2013 00:19:07 +0000 (09:49 +0930)]
rs6000.md (bswapdi 2nd splitter): Don't swap words twice for little-endian.
* config/rs6000/rs6000.md (bswapdi 2nd splitter): Don't swap words
twice for little-endian.
(ashrdi3_no_power, ashrdi3): Support little-endian.
From-SVN: r198618
Oleg Endo [Mon, 6 May 2013 00:16:55 +0000 (00:16 +0000)]
re PR target/55303 ([SH] Add support for clips / clipu instructions)
PR target/55303
* config/sh/sh.c (sh_rtx_costs): Handle SMIN and SMAX cases.
* config/sh/sh.md (*clips, uminsi3, *clipu, clipu_one): New insns and
related expanders.
* config/sh/iterators.md (SMIN_SMAX): New code iterator.
* config/sh/predicates.md (arith_reg_or_0_or_1_operand,
clips_min_const_int, clips_max_const_int, clipu_max_const_int):
New predicates.
PR target/55303
* gcc.target/sh/pr55303-1.c: New.
* gcc.target/sh/pr55303-2.c: New.
* gcc.target/sh/pr55303-3.c: New.
From-SVN: r198617
GCC Administrator [Mon, 6 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198616
David Edelsohn [Sun, 5 May 2013 23:47:22 +0000 (23:47 +0000)]
libcaf.h (_gfortran_caf_critical): Add a prototype.
* caf/libcaf.h (_gfortran_caf_critical): Add a prototype.
(_gfortran_caf_end_critical): Same.
From-SVN: r198613
Steven Bosscher [Sun, 5 May 2013 20:47:24 +0000 (20:47 +0000)]
config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.
* config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.
* config/pa/pa.opt: Make mbig-switch a no-op.
* config/pa/pa.h (TARGET_DEFAULT): Remove MASK_BIG_SWITCH.
(CASE_VECTOR_MODE): Always return SImode.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove code
for the !TARGET_BIG_SWITCH case.
* config/pa/pa-linux.h: Likewise.
* config/pa/pa-openbsd.h: Likewise.
* config/pa/pa-hpux.h: Define TARGET_DEFAULT to 0.
* config/pa/pa.md (short_jump): Remove define_insn.
(casesi): Remove code for the !TARGET_BIG_SWITCH case.
(casesi0): Remove define_insn.
(type): Remove btable_branch.
(pa_combine_type): Likewise.
(in_nullified_branch_delay): Likewise.
(in_call_delay): Likewise.
(define_delay): Likewise.
(define_insn_reservation "Z3"): Likewise.
(define_insn_reservation "Z4"): Likewise.
* config/pa/pa.c (pa_reorg): Remove code for !TARGET_BIG_SWITCH.
(pa_adjust_insn_length): Remove adjustment for btable branches.
* doc/invoke.texi (HPPA Options): Delete documentation for mbig-switch
and mno-big-switch
Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
From-SVN: r198612
Uros Bizjak [Sun, 5 May 2013 17:25:50 +0000 (19:25 +0200)]
sse.md (*vec_extract<ssevecmodelower>_0): Merge from sse2_stored and *sse2_storeq_rex64 using SWI48 mode iterator.
* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
from sse2_stored and *sse2_storeq_rex64 using SWI48 mode iterator.
Add m->r,x alternatives.
(*vec_extract<ssevecmodelower>_0 splitters): Merge V2DI and V4SI
splitters using SWI48x mode iterator.
(*vec_extract_v2di_0_sse): Rename from *sse2_storeq. Disable for
TARGET_64BIT. Add m->x alternative.
(*vec_extractv4si_mem): Rename from *vec_ext_v4si_mem.
Add o->x alternative. Enable for TARGET_SSE.
(sse_storeq): Remove expander.
(*vec_extractv2di_1): Enable for TARGET_SSE. Split alternatives
with memory input operand.
(*vec_extractv2di_1 splitter): New.
(*vec_extractv4sf_mem): Rename from *vec_extract_v4sf_mem.
* config/i386/i386.md (ssevecmodelower): New mode attribute.
From-SVN: r198611
Tobias Burnus [Sun, 5 May 2013 14:04:07 +0000 (16:04 +0200)]
resolve.c (conformable_arrays): Avoid segfault when ar.start[i] == NULL.
2013-05-05 Tobias Burnus <burnus@net-b.de>
* resolve.c (conformable_arrays): Avoid segfault
when ar.start[i] == NULL.
2013-05-05 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/allocate_with_source_3.f90: New.
From-SVN: r198610
Tobias Burnus [Sun, 5 May 2013 14:01:38 +0000 (16:01 +0200)]
re PR fortran/57141 (Cannot change attributes of USE-associated intrinsic)
2013-05-05 Tobias Burnus <burnus@net-b.de>
PR fortran/57141
* decl.c (gfc_match_null): Permit use-associated
NULL intrinsic.
2013-05-05 Tobias Burnus <burnus@net-b.de>
PR fortran/57141
* gfortran.dg/null_8.f90: New.
From-SVN: r198609
Paolo Carlini [Sun, 5 May 2013 11:36:27 +0000 (11:36 +0000)]
pt.c (convert_nontype_argument): Add missing whitespace in error message.
2013-05-05 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (convert_nontype_argument): Add missing whitespace in
error message.
From-SVN: r198608
Paolo Carlini [Sun, 5 May 2013 00:27:46 +0000 (00:27 +0000)]
re PR c++/53745 ([C++11] Poor diagnostic for ill-formed narrowing conversion in enumerator initializer)
/cp
2013-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53745
* decl.c (build_enumerator): Improve error message.
/testsuite
2013-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53745
* g++.dg/cpp0x/enum27.C: New.
* g++.dg/cpp0x/enum_base.C: Adjust.
From-SVN: r198607
GCC Administrator [Sun, 5 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198606
David Edelsohn [Sat, 4 May 2013 21:23:11 +0000 (21:23 +0000)]
environ.c: Include unistd.h.
* runtime/environ.c: Include unistd.h.
* runtime/pause.c: Test HAVE_UNISTD_H.
* runtime/stop.c: Same.
* io/open.c: Same.
* io/unix.c: Same.
* io/read.c (si_max): Protect declaration of value.
From-SVN: r198603
Segher Boessenkool [Sat, 4 May 2013 21:22:09 +0000 (23:22 +0200)]
rs6000.c (INT_P): Reformat.
* config/rs6000/rs6000.c (INT_P): Reformat. Delete obsolete comment.
(INT_LOWPART): Delete.
(extract_MB): Adjust.
(extract_ME): Adjust.
(print_operand): Adjust.
From-SVN: r198602
Segher Boessenkool [Sat, 4 May 2013 21:19:08 +0000 (23:19 +0200)]
predicates.md (reg_or_add_cint_operand, [...]): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
* config/rs6000/predicates.md (reg_or_add_cint_operand,
reg_or_sub_cint_operand): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
(reg_or_logical_cint_operand, easy_fp_constant,
logical_const_operand): Delete "CONST_DOUBLE" case.
* config/rs6000/rs6000.c (num_insns_constant_wide): Delete
"HOST_BITS_PER_WIDE_INT == 64" test.
(num_insns_constant): Ditto. Delete CONST_DOUBLE DImode/VOIDmode
case.
(build_mask64_2_operands): Delete "HOST_BITS_PER_WIDE_INT >= 64" test.
(rs6000_emit_set_const): Delete CONST_DOUBLE case.
(rs6000_emit_set_long_const): Delete "HOST_BITS_PER_WIDE_INT >= 64"
test.
(includes_rldic_lshift_p, includes_rldicr_lshift_p): Delete
CONST_DOUBLE DImode/VOIDmode case.
(INT_P, INT_LOWPART): Delete CONST_DOUBLE case.
(print_operand): Delete "HOST_BITS_PER_WIDE_INT == 32" case. Delete
CONST_DOUBLE VOIDmode case.
(output_toc): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
(rs6000_rtx_costs): Delete CONST_DOUBLE DImode/VOIDmode case.
* config/rs6000/rs6000.md (iordi3, xordi3, splitter for these):
Delete CONST_DOUBLE case.
(splitters for mov FMOVE64 const_double): Delete
"HOST_BITS_PER_WIDE_INT == 32" case. Delete
"HOST_BITS_PER_WIDE_INT >= 64" test.
(splitter for mov DI const_int): Delete "HOST_BITS_PER_WIDE_INT == 32"
case.
(mov DI const_double): Delete.
From-SVN: r198601
Jakub Jelinek [Sat, 4 May 2013 18:23:46 +0000 (20:23 +0200)]
re PR tree-optimization/56205 (stdarg pass confused by jump threading)
PR tree-optimization/56205
* gcc.dg/tree-ssa/stdarg-6.c: Add cleanup-tree-dump "stdarg".
From-SVN: r198599
Tobias Burnus [Sat, 4 May 2013 17:49:31 +0000 (19:49 +0200)]
decl.c (gfc_verify_c_interop_param): Permit allocatable and pointer with -std=f2008ts.
2013-05-04 Tobias Burnus <burnus@net-b.de>
* decl.c (gfc_verify_c_interop_param): Permit allocatable
and pointer with -std=f2008ts.
2013-05-04 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/bind_c_array_params.f03: Update dg-error.
* gfortran.dg/bind_c_usage_27.f90: New.
* gfortran.dg/bind_c_usage_28.f90: New.
From-SVN: r198597
David Edelsohn [Sat, 4 May 2013 14:49:59 +0000 (10:49 -0400)]
inclhack.def (aix_null): New.
* inclhack.def (aix_null): New.
(void_null): Update replacement definition of NULL.
* fixincl.x: Regenerate.
* tests/base/curses.h: Update for new fix.
From-SVN: r198596
Jakub Jelinek [Sat, 4 May 2013 12:41:52 +0000 (14:41 +0200)]
combine.c (combine_simplify_rtx): If nonzero_bits on op shows all bits zero in mode of a lowpart subreg, return zero.
* combine.c (combine_simplify_rtx) <case SUBREG>: If nonzero_bits
on op shows all bits zero in mode of a lowpart subreg, return zero.
From-SVN: r198595
Paolo Carlini [Sat, 4 May 2013 12:32:05 +0000 (12:32 +0000)]
re PR c++/51927 ([C++0x] Cannot access non-static members in initializer)
2013-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51927
* g++.dg/cpp0x/lambda/lambda-nsdmi4.C: New.
From-SVN: r198594
Michael Meissner [Sat, 4 May 2013 05:38:47 +0000 (05:38 +0000)]
re PR target/57150 (GCC when targeting power7 spills long double using VSX instructions.)
[gcc]
2013-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/57150
* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
to save TFmode registers and DImode to save TImode registers for
caller save operations.
(HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
mark being partially clobbered since they only use the first
double word.
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
and TDmode only use the upper 64-bits of each VSX register.
[gcc/testsuite]
2013-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/57150
* gcc.target/powerpc/pr57150.c: New file.
From-SVN: r198593
Bill Schmidt [Sat, 4 May 2013 04:57:32 +0000 (04:57 +0000)]
gimple-ssa-strength-reduction.c (slsr_process_phi): Disable.
gcc:
2013-05-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (slsr_process_phi): Disable.
(find_candidates_in_block): Disable slsr_process_phi.
gcc/testsuite:
2013-05-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/slsr-32.c: Skip test for now.
* gcc.dg/tree-ssa/slsr-33.c: Likewise.
* gcc.dg/tree-ssa/slsr-34.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/slsr-37.c: Likewise.
* gcc.dg/tree-ssa/slsr-38.c: Likewise.
From-SVN: r198592
Guozhi Wei [Sat, 4 May 2013 01:26:52 +0000 (01:26 +0000)]
coverage.c (coverage_obj_init): Move the construction of gcov constructor to
* coverage.c (coverage_obj_init): Move the construction of gcov
constructor to
(build_init_ctor): here.
From-SVN: r198591
GCC Administrator [Sat, 4 May 2013 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198590
Dominique d'Humieres [Fri, 3 May 2013 20:08:19 +0000 (22:08 +0200)]
Remove "\\" from scan-assembler-times
2013-05-03 Dominique d'Humieres <dominiq@lps.ens.fr>
p
* gcc.target/i386/sse2-init-v2di-2.c: Remove "\\" from
scan-assembler-times.
From-SVN: r198587
Bill Schmidt [Fri, 3 May 2013 18:56:39 +0000 (18:56 +0000)]
gimple-ssa-strength-reduction.c (cand_kind): Add CAND_PHI.
gcc:
2013-05-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (cand_kind): Add CAND_PHI.
(slsr_cand_d): Redefine def_phi.
(stride_status, phi_adjust_status, count_phis_status): New enums.
(find_phi_def): New.
(find_basis_for_base_expr): New.
(find_basis_for_candidate): Handle hidden bases.
(alloc_cand_and_find_basis): Handle phi candidates.
(slsr_process_phi): New.
(create_mul_ssa_cand): Exclude phi base candidates; use integer_onep.
(create_mul_imm_cand): Likewise.
(create_add_ssa_cand): Exclude phi base candidates.
(create_add_imm_cand): Likewise.
(slsr_process_cast): Likewise.
(slsr_process_copy): Likewise.
(find_candidates_in_block): Handle phi candidates.
(dump_candidate): Likewise.
(unconditional_cands): Delete.
(unconditional_cands_with_known_stride_p): Delete.
(phi_dependent_cand_p): New.
(cand_increment): Handle phi-dependent candidates.
(replace_dependent): Delete.
(replace_mult_candidate): New.
(replace_unconditional_candidate): New.
(incr_vec_index): Move to avoid forward reference.
(create_add_on_incoming_edge): New.
(create_phi_basis): New.
(replace_dependents): Delete.
(replace_conditional_candidate): New.
(phi_add_costs): New.
(replace_uncond_cands_and_profitable_phis): New.
(record_increment): Handle phi adjustments.
(record_phi_increments): New.
(record_increments): Handle phi adjustments.
(phi_incr_cost): New.
(lowest_cost_path): Handle phis.
(total_savings): Likewise.
(analyze_increments): Likewise.
(ncd_with_phi): New.
(ncd_of_cand_and_phis): New.
(nearest_common_dominator_for_cands): Handle phi increments.
(all_phi_incrs_profitable): New.
(replace_profitable_candidates): Handle phi-dependent candidates.
(analyze_candidates_and_replace): Likewise.
gcc/testsuite:
2013-05-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/slsr-32.c: New.
* gcc.dg/tree-ssa/slsr-33.c: New.
* gcc.dg/tree-ssa/slsr-34.c: New.
* gcc.dg/tree-ssa/slsr-35.c: New.
* gcc.dg/tree-ssa/slsr-36.c: New.
* gcc.dg/tree-ssa/slsr-37.c: New.
* gcc.dg/tree-ssa/slsr-38.c: New.
From-SVN: r198586
Ian Bolton [Fri, 3 May 2013 18:30:00 +0000 (18:30 +0000)]
AArch64 test cases for TST instruction
From-SVN: r198585
Teresa Johnson [Fri, 3 May 2013 16:48:24 +0000 (16:48 +0000)]
re PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu)
2013-05-03 Teresa Johnson <tejohnson@google.com>
PR bootstrap/57154
* sched-rgn.c (compute_dom_prob_ps): Ensure accumulated probabilities
do not exceed REG_BR_PROB_BASE.
From-SVN: r198584
Jeff Law [Fri, 3 May 2013 16:47:21 +0000 (10:47 -0600)]
Fix typos in ChangeLog entries
From-SVN: r198583
Jeff Law [Fri, 3 May 2013 16:35:04 +0000 (10:35 -0600)]
re PR tree-optimization/57411 (ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize)
PR tree-optimization/57411
* tree-vrp.c (simplify_cond_using_ranges): Verify the constant
operand of the condition will bit into the new type when eliminating
a cast feeding a condition.
PR tree-optimization/57411
* gcc.c-torture/execute/pr57144.c: New test.
From-SVN: r198582
Jakub Jelinek [Fri, 3 May 2013 12:56:12 +0000 (14:56 +0200)]
re PR rtl-optimization/57130 (Incorrect "and --> extract" conversion in combine)
PR rtl-optimization/57130
* combine.c (make_compound_operation) <case SUBREG>: Pass
SET instead of COMPARE as in_code to the recursive call
if needed.
* gcc.c-torture/execute/pr57130.c: New test.
From-SVN: r198579
Uros Bizjak [Fri, 3 May 2013 12:03:29 +0000 (14:03 +0200)]
i386.md (isa): Add x64_sse4_noavx and x64_avx members.
* config/i386/i386.md (isa): Add x64_sse4_noavx and x64_avx members.
(enabled): Handle new members.
* config/i386/sse.md (*vec_concatv2si): Merge from
*vec_concatv2si_sse2 and vec_concatv2si_sse.
(vec_concatv2di): Merge with *vec_concatv2di_rex64.
testsuite/ChangeLog:
* gcc.target/i386/sse2-init-v2di-2.c: Update scan assembler string.
From-SVN: r198578
Joern Rennecke [Fri, 3 May 2013 11:18:37 +0000 (11:18 +0000)]
re PR tree-optimization/57027 (ICE in gimple_assign_rhs_code, at gimple.h:2022)
2013-05-03 Joern Rennecke <joern.rennecke@embecosm.com>
PR tree-optimization/57027
* tree-ssa-math-opts.c (convert_mult_to_fma): When checking for
fnms opportunity, check we got the prerequisite kind of tree / gimple
before using accessor functions.
From-SVN: r198577
Richard Biener [Fri, 3 May 2013 11:09:59 +0000 (11:09 +0000)]
double-int.h (lshift): New overload without precision and arith argument.
2013-05-03 Richard Biener <rguenther@suse.de>
* double-int.h (lshift): New overload without precision
and arith argument.
(operator *=, operator +=, operator -=): Move ...
* double-int.c (operator *=, operator +=, operator -=): ... here
and implement more efficiently.
(mul_double_with_sign): Remove.
(lshift_double): Adjust to take unsinged shift argument, push
dispatching code to callers.
(mul_double_wide_with_sign): Add early out for callers that
are not interested in high parts or overflow.
(lshift): New function.
(lshift, rshift, alshift, arshift, llshift, lrshift): Add
dispatch code here.
(lrotate, rrotate): Use logical shifts.
* expr.c (get_inner_reference): Use lshift.
* fixed-value.c (do_fixed_divide): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
(indirect_refs_may_alias_p): Likewise.
(stmt_kills_ref_p_1): Likewise.
From-SVN: r198576
Vidya Praveen [Fri, 3 May 2013 10:21:16 +0000 (11:21 +0100)]
[AArch64] Correct simd_fabd comment text.
From-SVN: r198575
Vidya Praveen [Fri, 3 May 2013 10:17:57 +0000 (11:17 +0100)]
[AArch64] Support scalar FABD
gcc/ChangeLog
2013-05-02 Vidya Praveen <vidyapraveen@arm.com>
* config/aarch64/aarch64-simd.md (*fabd_scalar<mode>3): Support
scalar form of FABD instruction.
gcc/testsuite/ChangeLog
2013-05-02 Vidya Praveen <vidyapraveen@arm.com>
* gcc.target/aarch64/fabd.c: New file.
From-SVN: r198574
Paolo Carlini [Fri, 3 May 2013 09:35:42 +0000 (09:35 +0000)]
re PR c++/54318 ([C++11] Bogus "template instantiation depth exceeds maximum" error + segfault)
2013-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54318
* g++.dg/cpp0x/pr54318.C: New.
From-SVN: r198573
Paolo Carlini [Fri, 3 May 2013 09:02:15 +0000 (09:02 +0000)]
re PR c++/14283 (Diagnostic for invalid template-id could be improved)
/cp
2013-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/14283
* parser.c (cp_parser_diagnose_invalid_type_name): Improve error
messages for template types and fix column numbers.
/testsuite
2013-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/14283
* g++.dg/parse/error51.C: New.
* g++.dg/parse/error15.C: Adjust column numbers.
From-SVN: r198572
GCC Administrator [Fri, 3 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198568
Yvan Roux [Thu, 2 May 2013 19:48:45 +0000 (21:48 +0200)]
Add ChangeLog entry for r197770 (in boehm-gc).
From-SVN: r198562
Vladimir Makarov [Thu, 2 May 2013 19:02:19 +0000 (19:02 +0000)]
lra-constraints.c (process_alt_operands): Add checking alt number to choose the best alternative.
2013-05-02 Vladimir Makarov <vmakarov@redhat.com>
* lra-constraints.c (process_alt_operands): Add checking alt
number to choose the best alternative.
From-SVN: r198558
Richard Biener [Thu, 2 May 2013 17:24:26 +0000 (17:24 +0000)]
tree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts bitmap and its handling.
* tree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts
bitmap and its handling.
(pass_cleanup_eh): Set todo_flags_finish to TODO_verify_ssa.
From-SVN: r198552
Tobias Burnus [Thu, 2 May 2013 16:29:14 +0000 (18:29 +0200)]
re PR fortran/57142 (SIZE/SHAPE overflow despite kind=8)
2013-05-02 Tobias Burnus <burnus@net-b.de>
PR fortran/57142
* simplify.c (gfc_simplify_size): Renamed from
simplify_size; fix kind=8 handling.
(gfc_simplify_size): New function.
(gfc_simplify_shape): Add range check.
* resolve.c (resolve_function): Fix handling
for ISYM_SIZE.
2013-05-02 Tobias Burnus <burnus@net-b.de>
PR fortran/57142
* gfortran.dg/size_kind_2.f90: New.
* gfortran.dg/size_kind_3.f90: New.
From-SVN: r198549
Richard Biener [Thu, 2 May 2013 15:46:12 +0000 (15:46 +0000)]
re PR middle-end/57140 (Segmentation fault in backtrace_dwarf_add)
2013-05-02 Richard Biener <rguenther@suse.de>
PR middle-end/57140
* tree-inline.c (copy_loops): Properly handle removed loops.
(copy_cfg_body): Mark destination loops for fixup if source
loops needed fixup.
* g++.dg/torture/pr57140.C: New testcase.
From-SVN: r198548
Greta Yorsh [Thu, 2 May 2013 15:45:10 +0000 (16:45 +0100)]
re PR rtl-optimization/56732 (ICE in advance_target_bb)
gcc/ChangeLog
2013-05-02 Greta Yorsh <Greta.Yorsh@arm.com>
PR target/56732
* config/arm/arm.c (arm_expand_epilogue): Check really_return before
generating simple_return for naked functions.
gcc/testsuite/ChangeLog
2013-05-02 Greta Yorsh <Greta.Yorsh@arm.com>
PR target/56732
* gcc.target/arm/pr56732-1.c: New test.
From-SVN: r198547
Martin Jambor [Thu, 2 May 2013 14:03:02 +0000 (16:03 +0200)]
re PR middle-end/56988 (ipa-cp incorrectly propagates a field of an aggregate)
2013-05-02 Martin Jambor <mjambor@suse.cz>
PR middle-end/56988
* ipa-prop.h (ipa_agg_replacement_value): New flag by_ref.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Also check that by_ref
flags match.
(find_aggregate_values_for_callers_subset): Fill in the by_ref flag of
ipa_agg_replacement_value structures.
(known_aggs_to_agg_replacement_list): Likewise.
* ipa-prop.c (write_agg_replacement_chain): Stream by_ref flag.
(read_agg_replacement_chain): Likewise.
(ipcp_transform_function): Also check that by_ref flags match.
testsuite/
* gcc.dg/ipa/pr56988.c: New test.
From-SVN: r198540
Richard Biener [Thu, 2 May 2013 13:59:38 +0000 (13:59 +0000)]
graphds.h (struct graph): Add obstack member.
2013-05-02 Richard Biener <rguenther@suse.de>
* graphds.h (struct graph): Add obstack member.
* graphds.c (new_graph): Initialize obstack and allocate
vertices from it.
(add_edge): Allocate edge from the obstack.
(free_graph): Free the obstack instead of all edges and
vertices.
From-SVN: r198539
Teresa Johnson [Thu, 2 May 2013 13:20:47 +0000 (13:20 +0000)]
Follow-on patch to r197595 to complete the replacement of truncating divides in...
Follow-on patch to r197595 to complete the replacement of truncating divides
in profile scaling code with rounding divide equivalents using helper routines
in basic-block.h.
In addition to bootstrap and profiledbootstrap builds and tests (with and
without LTO), I built and tested performance of the SPEC cpu2006 benchmarks
with FDO on a Nehalem system. I didn't see any performance changes that
looked significant.
2013-05-02 Teresa Johnson <tejohnson@google.com>
* loop-unswitch.c (unswitch_loop): Use helper routines with rounding
divides.
* cfg.c (update_bb_profile_for_threading): Ditto.
* tree-inline.c (copy_bb): Ditto.
(copy_edges_for_bb): Ditto.
(initialize_cfun): Ditto.
(copy_cfg_body): Ditto.
(expand_call_inline): Ditto.
* ipa-inline-analysis.c (estimate_edge_size_and_time): Ditto.
(estimate_node_size_and_time): Ditto.
(inline_merge_summary): Ditto.
* cgraphclones.c (cgraph_clone_edge): Ditto.
(cgraph_clone_node): Ditto.
* sched-rgn.c (compute_dom_prob_ps): Ditto.
(compute_trg_info): Ditto.
From-SVN: r198532
Ian Bolton [Thu, 2 May 2013 12:54:16 +0000 (12:54 +0000)]
AArch64 fix for LDR/STR from/to S and D regs
From-SVN: r198527
Ian Bolton [Thu, 2 May 2013 12:52:22 +0000 (12:52 +0000)]
AArch64 Support for BICS in the backend
From-SVN: r198526
Richard Biener [Thu, 2 May 2013 12:23:20 +0000 (12:23 +0000)]
tree-scalar-evolution.c (scev_info_hasher): Remove.
2013-05-02 Richard Biener <rguenther@suse.de>
* tree-scalar-evolution.c (scev_info_hasher): Remove.
(struct instantiate_cache_entry): New type.
(struct instantiate_cache_entry_hasher): New hashtable descriptor.
(struct instantiate_cache_type): New type.
(set_instantiated_value, get_instantiated_value): Remove.
(get_instantiated_value_entry): New function.
(instantiate_scev_name): Use the new cache and adjust.
(instantiate_scev_poly): Adjust.
(instantiate_scev_binary): Likewise.
(instantiate_array_ref): Likewise.
(instantiate_scev_convert): Likewise.
(instantiate_scev_not): Likewise.
(instantiate_scev_3): Likewise.
(instantiate_scev_2): Likewise.
(instantiate_scev_r): Likewise.
(instantiate_scev): Likewise.
(resolve_mixers): Likewise.
From-SVN: r198523
Paolo Carlini [Thu, 2 May 2013 12:03:30 +0000 (12:03 +0000)]
constexpr_data.cc: Move...
2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
constexpr_data.cc: Move...
* testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
... here.
* testsuite/20_util/integral_constant/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/integral_constant/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/static_definition.cc: Likewise.
* testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
* testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
From-SVN: r198521
Jakub Jelinek [Thu, 2 May 2013 11:32:11 +0000 (13:32 +0200)]
Move libitm ChangeLog entry to the right ChangeLog file.
From-SVN: r198519
Paolo Carlini [Thu, 2 May 2013 11:00:26 +0000 (11:00 +0000)]
type_traits (is_null_pointer): Add.
2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (is_null_pointer): Add.
(__is_nullptr_t): Implement in terms of the latter.
(is_fundamental, is_scalar): Adjust.
* testsuite/20_util/is_null_pointer/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_null_pointer/value.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r198516
Paolo Carlini [Thu, 2 May 2013 09:48:07 +0000 (09:48 +0000)]
cstdio: Add comment about LWG 2249.
2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_global/cstdio: Add comment about LWG 2249.
* include/c_std/cstdio: Likewise.
From-SVN: r198512