- 18 Sep, 2015 9 commits
-
-
PR tree-optimization/47679 * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o * tree-ssa-dom.c: Remove unnecessary header includes. (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise. (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise. (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise. (pass_phi_only_cprop::execute): Likewise. (make_pass_phi_only_cprop): Likewise. * tree-ssa-phionlycprop.c: New file with moved code. Eliminate uses of file scoped statics by passing the required objects as parameters wherever needed. From-SVN: r227908
Jeff Law committed -
* config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o. * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel): Declare. (rs6000_asm_output_dwarf_datarel): Declare. Co-Authored-By: David Edelsohn <dje.gcc@gmail.com> From-SVN: r227907
Andrew Dixie committed -
libgcc/ * config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts. * config/rs6000/crtdbase.S: New file. * config/rs6000/t-aix-cxa: Build crtdbase.o. gcc/ * defaults.h (EH_FRAME_SECTION_NAME): Depend on EH_FRAME_THROUGH_COLLECT2. * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for DW_EH_PE_datarel. * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section even if EH_FRAME_SECTION_NAME is undefined. Restrict special collect2 labels to EH_FRAME_THROUGH_COLLECT2. * except.c (switch_to_exception_section): Use a read-only section even if EH_FRAME_SECTION_NAME is undefined. * system.h (EH_FRAME_IN_DATA_SECTION): Poison. * collect2.c (write_c_file_stat): Provide dbase on AIX. (scan_prog_file): Don't export __dso_handle nor __gcc_unwind_dbase. * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. (EH_TABLES_CAN_BE_READ_ONLY): Define. (ASM_OUTPUT_DWARF_PCREL): Define. (ASM_OUTPUT_DWARF_DATAREL): Define. (EH_FRAME_THROUGH_COLLECT2): Define. (EH_FRAME_IN_DATA_SECTION): Delete. * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New. (rs6000_aix_asm_output_dwarf_datarel): New. (rs6000_xcoff_asm_init_sections): Don't set exception_section. * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete. (EH_FRAME_THROUGH_COLLECT2): Define. * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete. (EH_FRAME_THROUGH_COLLECT2): Define. (EH_TABLES_CAN_BE_READ_ONLY): Define. * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete. (EH_FRAME_THROUGH_COLLECT2): New. (ASM_OUTPUT_DWARF_DATAREL): New. * doc/tm.texi: Regenerate. Co-Authored-By: David Edelsohn <dje.gcc@gmail.com> From-SVN: r227906
Andrew Dixie committed -
2015-09-18 Richard Biener <rguenther@suse.de> * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert we're in early phase. (schedule_generic_params_dies_gen): Likewise. (gen_remaining_tmpl_value_param_die_attribute): Do only as much work as possible, retaining unhandled cases. (gen_scheduled_generic_parms_dies): Set early-dwarf flag and clear out generic_type_instances at the end. (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies... (dwarf2out_early_finish): ... here. Do most of gen_remaining_tmpl_value_param_die_attribute here. From-SVN: r227905
Richard Biener committed -
* include/precompiled/extc++.h: Fix bootstrap error due to unconditional inclusion of <ext/enc_filebuf.h>. * include/ext/random: Check for definition of UINT32_C. From-SVN: r227902
Jonathan Wakely committed -
gcc/: PR tree-optimization/67283 * tree-sra.c (type_consists_of_records_p): Rename to... (scalarizable_type_p): ...this, add case for ARRAY_TYPE. (completely_scalarize_record): Rename to... (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to: (scalarize_elem): New. (analyze_all_variable_accesses): Follow renamings. gcc/testsuite/: * gcc.dg/tree-ssa/sra-15.c: New. * gcc.dg/tree-ssa/sra-16.c: New. From-SVN: r227901
Alan Lawrence committed -
2015-09-18 Richard Biener <rguenther@suse.de> * dwarf2out.c (add_location_or_const_value_attribute): Do nothing in early-dwarf. From-SVN: r227899
Richard Biener committed -
re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE) 2015-09-18 Richard Biener <rguenther@suse.de> PR tree-optimization/66142 * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF treat MEM[&x] and x the same. * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove. * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true when we simplified sth. (vn_reference_maybe_forwprop_address): Likewise. (valueize_refs_1): When we simplified through vn_reference_fold_indirect or vn_reference_maybe_forwprop_address set valueized_anything to true. (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether one ref kills the other instead of just a offset-based test. * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF for the operand_equal_p test to compare bases and also compare sizes. From-SVN: r227896
Richard Biener committed -
From-SVN: r227892
GCC Administrator committed
-
- 17 Sep, 2015 30 commits
-
-
2015-09-17 Catherine Moore <clm@codesourcery.com> * src/c++11/debug.cc: Include <cstdio>. From-SVN: r227888
Catherine Moore committed -
2015-09-17 Gerald Pfeifer <gerald@pfeifer.com> * src/c++11/random.cc: Include <cerrno>. From-SVN: r227887
Gerald Pfeifer committed -
2015-09-17 Bernd Edlinger <bernd.edlinger@hotmail.de> PR sanitizer/64078 * c-c++-common/ubsan/object-size-9.c (s): Add alignment attribute. (f2, f3): Make the function static. * c-c++-common/ubsan/object-size-10.c (a, b): Add alignment attribute. From-SVN: r227886
Bernd Edlinger committed -
* include/debug/formatter.h (_Error_formatter::_Parameter::_M_print_field): Deprecate. (_Error_formatter::_Parameter::_M_print_description): Likewise. (_Error_formatter::_M_format_word): Likewise. (_Error_formatter::_M_print_word): Likewise. (_Error_formatter::_M_print_string): Likewise. (_Error_formatter::_M_get_max_length): Likewise. (_Error_formatter::_M_max_length): Delete. (_Error_formatter::_M_indent): Likewise. (_Error_formatter::_M_column): Likewise. (_Error_formatter::_M_first_line): Likewise. (_Error_formatter::_M_wordwrap): Likewise. * src/c++11/debug.cc: Adapt. From-SVN: r227885
François Dumont committed -
* cp-tree.def: Add UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR, BINARY_LEFT_FOLD_EXPR, BINARY_RIGHT_FOLD_EXPR. * cp-objcp-common.c (cp_common_init_ts): Handle them. * cp-tree.h (FOLD_EXPR_CHECK, BINARY_FOLD_EXPR_CHECK, FOLD_EXPR_P) (FOLD_EXPR_MODIFY_P, FOLD_EXPR_OP, FOLD_EXPR_PACK, FOLD_EXPR_INIT): New. * parser.c (cp_parser_skip_to_closing_parenthesis): Split out... (cp_parser_skip_to_closing_parenthesis_1): This function. Change or_comma parameter to or_ttype. (cp_parser_fold_operator, cp_parser_fold_expr_p) (cp_parser_fold_expression): New. (cp_parser_primary_expression): Use them. * pt.c (expand_empty_fold, fold_expression, tsubst_fold_expr_pack) (tsubst_fold_expr_init, expand_left_fold, tsubst_unary_left_fold) (tsubst_binary_left_fold, expand_right_fold) (tsubst_unary_right_fold, tsubst_binary_right_fold): New. (tsubst_copy): Use them. (type_dependent_expression_p): Handle fold-expressions. * semantics.c (finish_unary_fold_expr) (finish_left_unary_fold_expr, finish_right_unary_fold_expr) (finish_binary_fold_expr): New. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r227883
Andrew Sutton committed -
2015-09-17 Ian Lance Taylor <iant@google.com> * posix.c (backtrace_open): Cast second argument of open() to int. From-SVN: r227881
Ian Lance Taylor committed -
2015-09-17 Christian Bruel <christian.bruel@st.com> * config/arm/arm.md (*call_value_symbol): Fix operand for interworking. From-SVN: r227880
Christian Bruel committed -
From-SVN: r227879
Eric Botcazou committed -
gcc: 2015-09-17 Richard Henderson <rth@redhat.com> PR libstdc++/65913 * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake pointers that encode the alignment of the object. libstdc++-v3: 2015-09-17 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/65913 * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(), __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the immediate pointer value, not a variable. * include/std/atomic (atomic<T>::is_lock_free()): Likewise. * testsuite/29_atomics/atomic/65913.cc: New. From-SVN: r227878
Jonathan Wakely committed -
PR rtl-optimization/66790 * df-problems.c (LIVE): Amend documentation. From-SVN: r227874
Eric Botcazou committed -
* testsuite/experimental/filesystem/operations/canonical.cc: Remove non-deterministic part of the test. From-SVN: r227873
Jonathan Wakely committed -
PR libstdc++/65142 * src/c++11/random.cc (random_device::_M_getval()): Retry after short reads. From-SVN: r227872
Jonathan Wakely committed -
* include/std/system_error (error_code::operator bool(), error_condition::operator bool()): Remove redundant conditional expression. From-SVN: r227871
Jonathan Wakely committed -
* include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it): Do nothing if exceptions are disabled. * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise. From-SVN: r227870
Jonathan Wakely committed -
optabs.[hc] is a bit of a behemoth. It includes basic functions for querying what a target can do, related tree- and gimple-level query functions, related rtl-level query functions, and the functions that actually generate code. Some gimple optimisations therefore need: #include "insn-config.h" #include "expmed.h" #include "dojump.h" #include "explow.h" #include "emit-rtl.h" #include "varasm.h" #include "stmt.h" #include "expr.h" purely to query whether the target has support for a particular operation. This patch splits optabs up as follows: - optabs-query.[hc]: IL-independent functions for querying what a target can do natively. - optabs-tree.[hc]: tree and gimple query functions (an extension of optabs-query.[hc]). - optabs-libfuncs.[hc]: optabs-specific libfuncs (an extension of libfuncs.h) - optabs.h: For now includes optabs-query.h and optabs-libfuncs.h. Only two files outside optabs need to include both optabs.h and optabs-tree.h: expr.c and function.c. I think that's expected given that both are related to expand. It might be good to split optabs.h further, but this is already quite a big patch. I changed can_conditionally_move_p from returning an int to returning a bool and fixed a few formatting glitches. There should be no other changes to the functions themselves. gcc/ * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o and optabs-tree.o. (GTFILES): Replace optabs.c with optabs-libfunc.c. * genopinit.c (main): Add an include guard to insn-opinit.h. Protect the rtx_code parts with NUM_RTX_CODE. * optabs.h: Split parts out to... * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files. * optabs.c: Split parts out to... * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files. * cilk-common.c: Include optabs-query.h rather than optabs.h. * fold-const.c: Likewise. * target-globals.c: Likewise. * tree-if-conv.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h. Remove unncessary include files. * tree-ssa-phiopt.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-generic.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vrp.c: Likewise. * toplev.c: Include optabs-query.h and optabs-libfuncs.h rather than optabs.h. * expr.c: Include optabs-tree.h. * function.c: Likewise. From-SVN: r227865
Richard Sandiford committed -
When asking for the type of a receive operation, the compiler would return an error type if the receive operator was being used on an invalid channel type and the error would be reported in a later pass. There are several ways that the type checking pass would not see the original node and fail to issue the error. This patch modifies receive operations to give an error immediately once it is known that the channel type is invalid. Fixes golang/go#12323. Reviewed-on: https://go-review.googlesource.com/13987 From-SVN: r227863
Ian Lance Taylor committed -
PR middle-end/65958 * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define. * config/arm/arm-protos.h (output_probe_stack_range): Declare. * config/arm/arm.c: Include common/common-target.h. (use_return_insn): Return 0 if the static chain register was saved above a non-APCS frame. (arm_compute_static_chain_stack_bytes): Adjust for stack checking. (struct scratch_reg): New. (get_scratch_register_on_entry): New function. (release_scratch_register_on_entry): Likewise. (arm_emit_probe_stack_range): Likewise. (output_probe_stack_range): Likewise. (arm_expand_prologue): Factor out code dealing with the IP register for nested function and adjust it for stack checking. Invoke arm_emit_probe_stack_range if static builtin stack checking is enabled. (thumb1_expand_prologue): Sorry out if static builtin stack checking is enabled. (arm_expand_epilogue): Add the saved static chain register, if any, to the amount of pre-pushed registers to pop. (arm_frame_pointer_required): Return true if static stack checking is enabled and we want to catch the exception with the EABI unwinder. * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant. (UNSPEC_PROBE_STACK_RANGE): Likewise. * config/arm/arm.md (probe_stack): New insn. (probe_stack_range): Likewise. From-SVN: r227860
Eric Botcazou committed -
2015-09-17 Richard Biener <rguenther@suse.de> * genmatch.c (parser::parse_expr): Improve error message for mis-placed flags. From-SVN: r227859
Richard Biener committed -
passes.c (rest_of_decl_compilation): Always call early_global_decl debug hook when we created a varpool node. 2015-09-17 Richard Biener <rguenther@suse.de> * passes.c (rest_of_decl_compilation): Always call early_global_decl debug hook when we created a varpool node. * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call dwarf2out_early_global_decl, when not just add location or value attributes to existing DIEs. From-SVN: r227857
Richard Biener committed -
2015-09-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/52846 PR fortran/67588 * module.c : Add static no_module_procedures. (gfc_match_submodule): Correct memory leakage caused during the freeing of use_lists. (mio_symbol_attribute): Reset above if module procedure is encountered. (gfc_dump_module): Set above and exit without writing smod file if it reset. * gfortran.texi : Add section on submodule support. 2015-09-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/52846 * gfortran.dg/public_private_module_5.f90: Add module procedure trigger_smod to ensure that the smod file is written. From-SVN: r227855
Paul Thomas committed -
gcc/ * config/aarch64/aarch64.md (copysigndf3): New. (copysignsf3): Likewise. gcc/testsuite/ * gcc.target/aarch64/copysign_1.c: New. * gcc.target/aarch64/copysign_2.c: New. From-SVN: r227849
James Greenhalgh committed -
gcc/ * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare. * config/sparc/sparc.c (sparc_secondary_memory_needed): New function. * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it. (HARD_REGNO_CALLER_SAVE_MODE): Define. * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44) (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi) (embmedany_losum, embmedany_brsum, embmedany_textuhi) (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not provide when flag_pic. From-SVN: r227847
David S. Miller committed -
2015-09-17 Richard Biener <rguenther@suse.de> * cp-tree.h (note_decl_for_pch): Remove. * class.c (build_clone): Do not call note_decl_for_pch. * semantics.c (finish_member_declaration): Likewise. (note_decl_for_pch): Remove. * decl2.c (c_parse_final_cleanups): Mangle all globals before writing the PCH. From-SVN: r227846
Richard Biener committed -
* config/sh/sh.c (label_ref_list_d_pool): Adjust to object_allocator change. From-SVN: r227845
Kaz Kojima committed -
re PR tree-optimization/66388 (Test gcc.target/i386/pr49781-1.c failed because of recent scev overflow patches.) PR tree-optimization/66388 * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields. (dump_iv): Dump no_overflow information. (alloc_iv): Initialize new field for struct iv. (mark_bivs): Count number of no_overflow bivs. (find_deriving_biv_for_expr, record_biv_for_address_use): New functions. (idx_find_step): Call new functions above. (add_candidate_1, add_candidate): New paramter. (add_iv_candidate_for_biv): Add sizetype cand for BIV. (get_computation_aff): Simplify convertion of cand for BIV. (get_computation_cost_at): Step cand's base if necessary. From-SVN: r227844
Bin Cheng committed -
* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New parameter. (tree_simplify_using_condition): Ditto. (simplify_using_initial_conditions): Ditto. (loop_exits_before_overflow): Pass new argument to function simplify_using_initial_conditions. Remove case for type conversions simplification. * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New parameter. * tree-scalar-evolution.c (simple_iv): Simplify type conversions in iv base using loop initial conditions. gcc/testsuite/ChangeLog * gcc.dg/tree-ssa/loop-bound-2.c: New test. * gcc.dg/tree-ssa/loop-bound-4.c: New test. * gcc.dg/tree-ssa/loop-bound-6.c: New test. From-SVN: r227843
Bin Cheng committed -
PR tree-optimization/47679 * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos. (free_all_edge_infos): Use it. (allocate_edge_info): Free preexisting edge info data. (pass_dominator::execute): Set up initial edge info structures. (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to thread_across_edge. * tree-ssa-threadedge.c (thread_across_edge): Accept new argument. If non-null, then push/pop markers appropriately. * tree-ssa-threadedge.h (thread_across_edge): Update prototype. * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to thread-across_edge. From-SVN: r227842
Jeff Law committed -
gcc/ * config/ft32/ft32.c Fix the memory address space predicate. From-SVN: r227841
James Bowman committed -
From-SVN: r227840
GCC Administrator committed -
re PR target/67573 ([SH] wrong code generated for libstdc++-v3/src/c++11/cxx11-shim_facets.cc at -mlra) PR target/67573 * config/sh/sh.md: Add early clobber to scratch operand of *call_*pcrel insn_and_split so not to CSE scratch reg. From-SVN: r227837
Kaz Kojima committed
-
- 16 Sep, 2015 1 commit
-
-
PR libstdc++/67173 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION and PATH_MAX for _GLIBCXX_USE_REALPATH. * config.h.in: Regenerate. * configure: Regenerate. * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add alternative implementation. * testsuite/experimental/filesystem/operations/canonical.cc: New. * testsuite/experimental/filesystem/operations/exists.cc: Add more tests. * testsuite/experimental/filesystem/operations/absolute.cc: Add test variables. * testsuite/experimental/filesystem/operations/copy.cc: Likewise. * testsuite/experimental/filesystem/operations/current_path.cc: Likewise. * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. * testsuite/experimental/filesystem/operations/status.cc: Likewise. * testsuite/experimental/filesystem/operations/temp_directory_path.cc: Likewise. From-SVN: r227836
Jonathan Wakely committed
-