| 2013-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 4.9.0. |
| |
| 2014-04-11 Tobias Burnus <burnus@net-b.de> |
| |
| PR other/59055 |
| * doc/bugreport.texi (Bugs): Remove nodes pointing to the |
| nirvana. |
| * doc/gcc.texi (Service): Update description in the @menu |
| * doc/invoke.texi (Option Summary): Remove misplaced and |
| duplicated @menu. |
| |
| 2014-04-11 Steve Ellcey <sellcey@mips.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60556 |
| * expr.c (convert_move): Use emit_store_flag_force instead of |
| emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th |
| argument to it. |
| |
| 2014-04-11 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60797 |
| * varasm.c (assemble_alias): Avoid endless error reporting |
| recursion by setting TREE_ASM_WRITTEN. |
| |
| 2014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md: Add a splitter for NOT rtx. |
| |
| 2014-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/60663 |
| * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in |
| PARALLEL. |
| |
| 2014-04-10 Jan Hubicka <hubicka@ucw.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/60567 |
| * ipa.c (function_and_variable_visibility): Copy forced_by_abi flag from |
| decl_node to node. |
| |
| 2014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR debug/60655 |
| * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define |
| (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's |
| ameliorating the cases where it can be. |
| |
| 2014-04-09 David Edelsohn <dje.gcc@gmail.com> |
| |
| Revert |
| 2014-04-08 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/sync.md (AINT mode_iterator): Move definition. |
| (loadsync_<mode>): Change mode. |
| (load_quadpti, store_quadpti): New. |
| (atomic_load<mode>, atomic_store<mode>): Add support for TI mode. |
| * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ. |
| * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI. |
| |
| 2014-04-09 Cong Hou <congh@google.com> |
| |
| PR testsuite/60773 |
| * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add |
| documentation. |
| |
| 2014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand |
| instead of vnor to exploit possible fusion opportunity in the |
| future. |
| (altivec_expand_vec_perm_const_le): Likewise. |
| |
| 2014-04-08 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/sync.md (AINT mode_iterator): Move definition. |
| (loadsync_<mode>): Change mode. |
| (load_quadpti, store_quadpti): New. |
| (atomic_load<mode>, atomic_store<mode>): Add support for TI mode. |
| * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ. |
| |
| 2014-04-08 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR target/60763 |
| * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode. |
| * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly. |
| Use gen_rtx_REG rather than simplify_gen_subreg for op0_di. |
| |
| 2014-04-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60706 |
| * tree-pretty-print.c (pp_double_int): For HWI32 hosts with |
| a 64bit widest int print double-int similar to on HWI64 hosts. |
| |
| 2014-04-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60785 |
| * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat |
| default defs properly. |
| |
| 2014-04-08 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * doc/invoke (Wnon-virtual-dtor): Update to match implementation. |
| (Weffc++): Likewise. |
| |
| 2014-04-07 Jan Hubicka <hubcika@ucw.cz> |
| |
| * ipa-devirt.c (maybe_record_node): When node is not recorded, |
| set completep to false rather than true. |
| |
| 2014-04-07 Douglas B Rupp <rupp@adacore.com> |
| |
| PR target/60504 |
| * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from |
| ARM_TARGET2_DWARF_FORMAT. |
| |
| 2014-04-07 Charles Baylis <charles.baylis@linaro.org> |
| |
| PR target/60609 |
| * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove. |
| (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after |
| ADDR_DIFF_VEC. |
| |
| 2014-04-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60766 |
| * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type. |
| (may_eliminate_iv): Convert cand_value_at result to desired type. |
| |
| 2014-04-07 Jason Merrill <jason@redhat.com> |
| |
| PR c++/60731 |
| * common.opt (-fno-gnu-unique): Add. |
| * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it. |
| |
| 2014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * haifa-sched.c: Fix outdated function reference and minor |
| grammar errors in introductory comment. |
| |
| 2014-04-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60750 |
| * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs |
| for noreturn calls. |
| * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs. |
| |
| 2014-04-06 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR debug/55794 |
| * config/pa/pa.c (pa_output_function_epilogue): Skip address and code |
| size accounting for thunks. |
| (pa_asm_output_mi_thunk): Use final_start_function() and |
| final_end_function() to output function start and end directives. |
| |
| 2014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com> |
| |
| * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have device |
| specific ISA/ feature information. Remove short_sp and errata_skip ds. |
| Add avr_device_specific_features enum to have device specific info. |
| * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check |
| errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available. |
| * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for |
| updated device specific info. |
| * config/avr/avr-mcus.def: Merge device specific details to |
| dev_attribute field. |
| * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check |
| errata_skip. |
| * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info. |
| * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to |
| assembler if RMW isa supported by current device. |
| * config/avr/genmultilib.awk: Update as device info structure changed. |
| * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro |
| |
| 2014-04-04 Cong Hou <congh@google.com> |
| |
| PR tree-optimization/60656 |
| * tree-vect-stmts.c (supportable_widening_operation): |
| Fix a bug that elements in a vector with vect_used_by_reduction |
| property are incorrectly reordered when the operation on it is not |
| consistant with the one in reduction operation. |
| |
| 2014-04-04 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR rtl-optimization/60155 |
| * gcse.c (record_set_data): New function. |
| (single_set_gcse): New function. |
| (gcse_emit_move_after): Use single_set_gcse instead of single_set. |
| (hoist_code): Likewise. |
| (get_pressure_class_and_nregs): Likewise. |
| |
| 2014-04-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * explow.c (probe_stack_range): Emit a final optimization blockage. |
| |
| 2014-04-04 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix |
| typos. |
| |
| 2014-04-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59626 |
| * lto-cgraph.c (input_overwrite_node): Check that partitioning |
| flags are set only during streaming. |
| * ipa.c (process_references, walk_polymorphic_call_targets, |
| symtab_remove_unreachable_nodes): Drop bodies of always inline |
| after early inlining. |
| (symtab_remove_unreachable_nodes): Remove always_inline attribute. |
| |
| 2014-04-04 Jakub Jelinek <jakub@redhat.com> |
| Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR debug/60655 |
| * dwarf2out.c (const_ok_for_output_1): Reject expressions |
| containing a NOT. |
| |
| 2014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR bootstrap/60743 |
| * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation |
| duration. |
| (cortex_a53_fdivd): Likewise. |
| |
| 2014-04-04 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/60640 |
| * cgraph.h (cgraph_clone_node): New parameter added to declaration. |
| Adjust all callers. |
| * cgraph.c (clone_of_p): Also return true if thunks match. |
| (verify_edge_corresponds_to_fndecl): Removed extraneous call to |
| cgraph_function_or_thunk_node and an obsolete comment. |
| * cgraphclones.c (build_function_type_skip_args): Moved upwards in the |
| file. |
| (build_function_decl_skip_args): Likewise. |
| (set_new_clone_decl_and_node_flags): New function. |
| (duplicate_thunk_for_node): Likewise. |
| (redirect_edge_duplicating_thunks): Likewise. |
| (cgraph_clone_node): New parameter args_to_skip, pass it to |
| redirect_edge_duplicating_thunks which is called instead of |
| cgraph_redirect_edge_callee. |
| (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node, |
| moved setting of a lot of flags to set_new_clone_decl_and_node_flags. |
| |
| 2014-04-04 Jeff Law <law@redhat.com> |
| |
| PR target/60657 |
| * config/arm/predicates.md (const_int_I_operand): New predicate. |
| (const_int_M_operand): Similarly. |
| * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of |
| const_int_operand. |
| (insv_t2, extv_reg, extzv_t2): Likewise. |
| (load_multiple_with_writeback): Similarly for const_int_I_operand. |
| (pop_multiple_with_writeback_and_return): Likewise. |
| (vfp_pop_multiple_with_writeback): Likewise |
| |
| 2014-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60746 |
| * tree-ssanames.c (make_ssa_name_fn): Fix assert. |
| * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for |
| non-GIMPLE_LABELs. |
| * gimplify.h (gimple_add_tmp_var_fn): Declare. |
| * gimplify.c (gimple_add_tmp_var_fn): New function. |
| * gimple-expr.h (create_tmp_reg_fn): Declare. |
| * gimple-expr.c (create_tmp_reg_fn): New function. |
| * gimple-low.c (record_vars_into): Don't change cfun. |
| * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix |
| code generation without cfun. |
| |
| 2014-04-04 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR bootstrap/60719 |
| * Makefile.in (install-driver): Fix shell scripting. |
| |
| 2014-04-03 Cong Hou <congh@google.com> |
| |
| PR tree-optimization/60505 |
| * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the |
| threshold of number of iterations below which no vectorization will be |
| done. |
| * tree-vect-loop.c (new_loop_vec_info): |
| Initialize LOOP_VINFO_COST_MODEL_THRESHOLD. |
| * tree-vect-loop.c (vect_analyze_loop_operations): |
| Set LOOP_VINFO_COST_MODEL_THRESHOLD. |
| * tree-vect-loop.c (vect_transform_loop): |
| Use LOOP_VINFO_COST_MODEL_THRESHOLD. |
| * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number |
| of iterations of the loop and see if we should build the epilogue. |
| |
| 2014-04-03 Richard Biener <rguenther@suse.de> |
| |
| * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx |
| member. |
| (streamer_tree_cache_create): Adjust. |
| * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust |
| to allow optional nodes array. |
| (streamer_tree_cache_insert_1): Use next_idx to assign idx. |
| (streamer_tree_cache_append): Likewise. |
| (streamer_tree_cache_create): Create nodes array optionally |
| as specified by parameter. |
| * lto-streamer-out.c (create_output_block): Avoid maintaining |
| the node array in the writer cache. |
| (DFS_write_tree): Remove assertion. |
| (produce_asm_for_decls): Free the out decl state hash table |
| early. |
| * lto-streamer-in.c (lto_data_in_create): Adjust for |
| streamer_tree_cache_create prototype change. |
| |
| 2014-04-03 Richard Biener <rguenther@suse.de> |
| |
| * tree-streamer-out.c (streamer_write_chain): Do not temporarily |
| set TREE_CHAIN to NULL_TREE. |
| |
| 2014-04-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60740 |
| * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate |
| over all GIMPLE_COND operands. |
| |
| 2014-04-03 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation. |
| (Weffc++): Remove Scott's numbering, merge lists and reference |
| Wnon-virtual-dtor. |
| |
| c-family/ |
| |
| cp/ |
| * class.c (accessible_nvdtor_p): New. |
| (check_bases): Don't check base destructor here ... |
| (check_bases_and_members): ... check them here. Trigger on |
| Wnon-virtual-dtor flag. |
| (finish_struct_1): Use accessible_nvdtor_p. |
| |
| testsuite/ |
| * g++.dg/warn/Wnvdtor.C: Add non-polymorphic case. |
| * g++.dg/warn/Wnvdtor-2.C: New. |
| * g++.dg/warn/Wnvdtor-3.C: New. |
| * g++.dg/warn/Wnvdtor-4.C: New. |
| * g++.dg/warn/Weff1.C: Delete. |
| * g++.old-deja/g++.benjamin/15309-1.C: Delete. |
| * g++.old-deja/g++.benjamin/15309-2.C: Delete. |
| |
| 2014-04-03 Nick Clifton <nickc@redhat.com> |
| |
| * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF)) |
| properly. |
| |
| 2014-04-03 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and |
| mention gcc_unreachable before failing. |
| * ipa.c (symtab_remove_unreachable_nodes): Also print order of |
| removed symbols. |
| |
| 2014-04-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60659 |
| * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type inconsistent |
| code and instead mark the context inconsistent. |
| (possible_polymorphic_call_targets): For inconsistent contexts |
| return empty complete list. |
| |
| 2014-04-02 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2) |
| (extendqisi2, extendhisi2): Define. |
| * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0. |
| (WCHAR_TYPE): Change to unsigned int. |
| |
| 2014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/60733 |
| * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required |
| insertion point for PHI candidates to be the end of the feeding |
| block for the PHI argument. |
| |
| 2014-04-02 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/60650 |
| * lra-constraints.c (process_alt_operands): Decrease reject for |
| earlyclobber matching. |
| |
| 2014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE. |
| |
| 2014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.c (pad_bb): Do not crash when the last |
| insn is CODE_FOR_blockage. |
| |
| 2014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize |
| lies outside the target mode. |
| |
| 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/60735 |
| * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have |
| software floating point or no floating point registers, do not |
| allow any type in the FPRs. Eliminate a test for SPE SIMD types |
| in GPRs that occurs after we tested for GPRs that would never be |
| true. |
| |
| * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64): |
| Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE, |
| since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE, |
| specifically allow DDmode, since that does not use the SPE SIMD |
| instructions. |
| |
| 2014-04-02 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60729 |
| * optabs.c (expand_abs_nojump): Honor flag_trapv only for |
| MODE_INTs. Properly use negv_optab. |
| (expand_abs): Likewise. |
| |
| 2014-04-02 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/60719 |
| * Makefile.in (install-driver): Guard extra installs with special |
| names properly. |
| |
| 2014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): |
| Document vec_vgbbd. |
| |
| 2014-04-01 Richard Henderson <rth@redhat.com> |
| |
| PR target/60704 |
| * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second |
| alternative enabled before register allocation. |
| |
| 2014-04-01 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM. |
| * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand |
| typo. |
| (nios2_large_got_address): Remove unneeded 'sym' parameter. |
| (nios2_got_address): Update nios2_large_got_address call site. |
| (nios2_delegitimize_address): New function. |
| (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address. |
| * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER. |
| |
| 2014-04-01 Martin Husemann <martin@duskware.de> |
| |
| * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32 |
| for -mabi=32. |
| |
| 2014-04-01 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR rtl-optimization/60604 |
| * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P |
| check from register_operand. |
| (register_operand): Redefine in terms of general_operand. |
| (nonmemory_operand): Use register_operand for the non-constant cases. |
| |
| 2014-04-01 Richard Biener <rguenther@suse.de> |
| |
| * gimple.h (struct gimple_statement_base): Align subcode to |
| 16 bits. |
| |
| 2014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * doc/invoke.texi (mapp-regs): Clarify. |
| |
| 2014-03-31 Ulrich Drepper <drepper@gmail.com> |
| |
| * config/i386/avx512fintrin.h (__v32hi): Define type. |
| (__v64qi): Likewise. |
| (_mm512_set1_epi8): Define. |
| (_mm512_set1_epi16): Define. |
| (_mm512_set4_epi32): Define. |
| (_mm512_set4_epi64): Define. |
| (_mm512_set4_pd): Define. |
| (_mm512_set4_ps): Define. |
| (_mm512_setr4_epi64): Define. |
| (_mm512_setr4_epi32): Define. |
| (_mm512_setr4_pd): Define. |
| (_mm512_setr4_ps): Define. |
| (_mm512_setzero_epi32): Define. |
| |
| 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. |
| |
| 2014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| * tree-inline.c (copy_loops): Add missed copy of 'safelen'. |
| |
| 2014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| PR target/60034 |
| * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for |
| section anchor. |
| |
| 2014-03-30 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator. |
| (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>): |
| Split out |
| <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>. |
| Use FMAMODE_NOVF512 mode iterator. |
| (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto. |
| (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto. |
| (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto. |
| (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>): |
| Split out |
| <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>. |
| Use VF_128_256 mode iterator. |
| (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>): |
| Ditto. |
| |
| 2014-03-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear |
| static chain if needed. |
| |
| 2014-03-28 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/60697 |
| * lra-constraints.c (index_part_to_reg): New. |
| (process_address): Use it. |
| |
| 2014-03-27 Jeff Law <law@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| 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. |
| |
| 2014-03-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60243 |
| * ipa-inline.c (want_inline_small_function_p): Short circuit large |
| functions; reorganize to make cheap checks first. |
| (inline_small_functions): Do not estimate growth when dumping; |
| it is expensive. |
| * ipa-inline.h (inline_summary): Add min_size. |
| (growth_likely_positive): New function. |
| * ipa-inline-analysis.c (dump_inline_summary): Add min_size. |
| (set_cond_stmt_execution_predicate): Cleanup. |
| (estimate_edge_size_and_time): Compute min_size. |
| (estimate_calls_size_and_time): Likewise. |
| (estimate_node_size_and_time): Likewise. |
| (inline_update_overall_summary): Update min_size. |
| (do_estimate_edge_time): Likewise. |
| (do_estimate_edge_size): Update. |
| (do_estimate_edge_hints): Update. |
| (growth_likely_positive): New function. |
| |
| 2014-03-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/60693 |
| * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg |
| also if addr has VOIDmode. |
| |
| 2014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * 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. |
| |
| 2014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi): |
| Use crypto_aese type. |
| (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type. |
| * config/arm/arm.md (is_neon_type): Replace crypto_aes with |
| crypto_aese, crypto_aesmc. Move to types.md. |
| * config/arm/types.md (crypto_aes): Split into crypto_aese, |
| crypto_aesmc. |
| * config/arm/iterators.md (crypto_type): Likewise. |
| |
| 2014-03-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.c: Include expr.h and tree-dfa.h. |
| (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn; |
| remove LHS. |
| |
| 2014-03-28 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/60675 |
| * lra-assigns.c (find_hard_regno_for): Remove unavailable hard |
| regs from checking multi-reg pseudos. |
| |
| 2014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule. |
| |
| 2014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization |
| if it would clobber the stack pointer, even temporarily. |
| |
| 2014-03-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * mode-switching.c: Make small adjustments to the top comment. |
| |
| 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. |
| |
| * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): |
| Document vec_vbpermq builtin. |
| |
| 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. |
| |
| 2014-03-27 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/60650 |
| * lra-assign.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 Marek Polacek <polacek@redhat.com> |
| |
| PR c/50347 |
| * doc/extend.texi (ffs Builtins): Change unsigned types to signed |
| types. |
| |
| 2014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_can_use_return_insn): Check for |
| call-saved FPRs on 31 bit. |
| |
| 2014-03-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60682 |
| * omp-low.c (lower_omp_1): For gimple_clobber_p stmts, |
| if they need regimplification, just drop them instead of |
| calling gimple_regimplify_operands on them. |
| |
| 2014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| PR target/60580 |
| * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove. |
| (aarch64_frame_pointer_required): Adjust logic. |
| (aarch64_can_eliminate): Adjust logic. |
| (aarch64_override_options_after_change): Adjust logic. |
| |
| 2014-03-27 Dehao Chen <dehao@google.com> |
| |
| * ipa-inline.c (early_inliner): Update node's inline info. |
| |
| 2014-03-26 Dehao Chen <dehao@google.com> |
| |
| * dojump.c (do_compare_rtx_and_jump): Sets correct probability for |
| compiler inserted conditional jumps for NAN float check. |
| |
| 2014-03-26 Jakub Jelinek <jakub@redhat.com> |
| |
| * ubsan.h (ubsan_create_data): Change second argument's type |
| to const location_t *. |
| * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to |
| _("<unknown>"). |
| (ubsan_create_data): Change second argument to const location_t *PLOC. |
| Create Loc field whenever PLOC is non-NULL. |
| (ubsan_instrument_unreachable, ubsan_expand_null_ifn, |
| ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust |
| callers. |
| |
| PR other/59545 |
| * real.c (real_to_integer2): Change type of low to UHWI. |
| |
| 2014-03-26 Tobias Burnus <burnus@net-b.de> |
| |
| * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus. |
| (CILK_SELF_SPECS): New define. |
| (driver_self_specs): Use it. |
| |
| 2014-03-26 Richard Biener <rguenther@suse.de> |
| |
| * tree-pretty-print.c (percent_K_format): Implement special |
| case for LTO and its stripped down BLOCK tree. |
| |
| 2014-03-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/60636 |
| * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR. |
| |
| * tree-vrp.c (simplify_internal_call_using_ranges): If only |
| one range is range_int_cst_p, but not both, at least optimize |
| addition/subtraction of 0 and multiplication by 0 or 1. |
| * gimple-fold.c (gimple_fold_call): Fold |
| IFN_UBSAN_CHECK_{ADD,SUB,MUL}. |
| (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't |
| INTEGER_CSTs, try to fold at least x * 0 and y - y. |
| |
| 2014-03-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/60452 |
| * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment. |
| <case REG>: Return 1 for invalid offsets from the frame pointer. |
| |
| 2014-03-26 Marek Polacek <polacek@redhat.com> |
| |
| PR c/37428 |
| * doc/extend.texi (C Extensions): Mention variable-length arrays in |
| a structure/union. |
| |
| 2014-03-26 Marek Polacek <polacek@redhat.com> |
| |
| PR c/39525 |
| * doc/extend.texi (Designated Inits): Describe what happens to omitted |
| field members. |
| |
| 2014-03-26 Marek Polacek <polacek@redhat.com> |
| |
| PR other/59545 |
| * ira-color.c (update_conflict_hard_regno_costs): Perform the |
| multiplication in unsigned type. |
| |
| 2014-03-26 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf. |
| |
| 2014-03-26 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * doc/contrib.texi: Add myself as Andes nds32 port contributor. |
| |
| 2014-03-25 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60315 |
| * cif-code.def (UNREACHABLE) New code. |
| * ipa-inline.c (inline_small_functions): Skip edges to |
| __builtlin_unreachable. |
| (estimate_edge_growth): Allow edges to __builtlin_unreachable. |
| * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false |
| predicate to __bulitin_unreachable. |
| (set_cond_stmt_execution_predicate): Fix issue when |
| invert_tree_comparison returns ERROR_MARK. |
| * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not |
| propagate to inline clones. |
| * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection |
| to unreachable. |
| * ipa-cp.c (create_specialized_node): Be ready for new node to appear. |
| * cgraphclones.c (cgraph_clone_node): If call destination is already |
| ureachable, do not redirect it back. |
| * tree-inline.c (fold_marked_statements): Hanlde calls becoming |
| unreachable. |
| |
| 2014-03-25 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): |
| Do not modify inline clones. |
| |
| 2014-03-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.md (general_sext_operand): New mode attr. |
| (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT, |
| don't generate (sign_extend (const_int)). |
| (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P |
| operands[2]. Use We constraint instead of <i> and |
| <general_sext_operand> predicate instead of <general_operand>. |
| (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns. |
| * config/i386/constraints.md (We): New constraint. |
| * config/i386/predicates.md (x86_64_sext_operand, |
| sext_operand): New predicates. |
| |
| 2014-03-25 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/60600 |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type |
| inconsistent devirtualizations to __builtin_unreachable. |
| |
| 2014-03-25 Marek Polacek <polacek@redhat.com> |
| |
| PR c/35449 |
| * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo. |
| |
| 2014-03-25 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse |
| order of elements for big-endian. |
| |
| 2014-03-25 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60635 |
| * gimplify-me.c (gimple_regimplify_operands): Update the |
| re-gimplifed stmt. |
| |
| 2014-03-25 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/59176 |
| * lto-cgraph.c (lto_output_node): Stream body_removed flag. |
| (lto_output_varpool_node): Likewise. |
| (input_overwrite_node): Likewise. |
| (input_varpool_node): Likewise. |
| |
| 2014-03-25 Richard Biener <rguenther@suse.de> |
| |
| * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie. |
| (run_gcc): Likewise. |
| |
| 2014-03-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * combine.c (simplify_compare_const): Add MODE argument. |
| Handle mode_width 0 as very large mode_width. |
| (try_combine, simplify_comparison): Adjust callers. |
| |
| * cselib.c (cselib_hash_rtx): Perform addition in unsigned |
| type to avoid signed integer overflow. |
| * explow.c (plus_constant): Likewise. |
| |
| 2014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * doc/generic.texi: Correct typos. |
| |
| 2014-03-24 Tobias Burnus <burnus@net-b.de> |
| |
| * doc/invoke.texi (-flto): Expand section about |
| using static libraries with LTO. |
| |
| 2014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| PR rtl-optimization/60501 |
| * optabs.def (addptr3_optab): New optab. |
| * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function. |
| * doc/md.texi ("addptrm3"): Document new RTL standard expander. |
| * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes. |
| |
| * lra.c (emit_add3_insn): Use the addptr pattern if available. |
| |
| * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders. |
| |
| 2014-03-24 Ulrich Drepper <drepper@gmail.com> |
| |
| * config/i386/avx512fintrin.h: Define _mm512_set1_ps and |
| _mm512_set1_pd. |
| |
| * config/i386/avxintrin.h (_mm256_undefined_si256): Define. |
| (_mm256_undefined_ps): Define. |
| (_mm256_undefined_pd): Define. |
| * config/i386/emmintrin.h (_mm_undefined_si128): Define. |
| (_mm_undefined_pd): Define. |
| * config/i386/xmmintrin.h (_mm_undefined_ps): Define. |
| * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define. |
| (_mm512_undefined_ps): Define. |
| (_mm512_undefined_pd): Define. |
| Use _mm*_undefined_*. |
| * config/i386/avx2intrin.h: Use _mm*_undefined_*. |
| |
| 2014-03-24 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded. |
| (lshr_simd): DI mode added. |
| * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern. |
| (aarch64_ushr_simddi): Likewise. |
| * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec. |
| * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed. |
| (vshrd_n_u64): Likewise. |
| |
| 2014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * Makefile.in (s-macro_list): Depend on cc1. |
| |
| 2014-03-23 Teresa Johnson <tejohnson@google.com> |
| |
| * ipa-utils.c (ipa_print_order): Use specified dump file. |
| |
| 2014-03-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/60601 |
| * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere. |
| |
| * gcc.c (eval_spec_function): Initialize save_growing_value. |
| |
| 2014-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/60613 |
| * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For |
| code == MINUS_EXPR, never swap op0 with op1. |
| |
| * toplev.c (init_local_tick): Avoid signed integer multiplication |
| overflow. |
| * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid |
| shift by first operand's bitsize. |
| |
| 2014-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/60610 |
| * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH, |
| redefine to 1 or 0. |
| * config/i386/darwin.h (TARGET_64BIT_P): Redefine to |
| TARGET_ISA_64BIT_P(x). |
| |
| 2014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a |
| pattern for vector nor instead of subtract from splat(-1). |
| (altivec_expand_vec_perm_const_le): Likewise. |
| |
| 2014-03-21 Richard Henderson <rth@twiddle.net> |
| |
| PR target/60598 |
| * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame |
| related insns after epilogue_completed. |
| |
| 2014-03-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/59176 |
| * cgraph.h (symtab_node): New flag body_removed. |
| * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag |
| when removing bodies. |
| * symtab.c (dump_symtab_base): Dump body_removed flag. |
| * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which |
| had their bodies removed. |
| |
| 2014-03-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/60419 |
| * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes |
| in the border. |
| |
| 2014-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60577 |
| * tree-core.h (struct tree_base): Document nothrow_flag use |
| in VAR_DECL_NONALIASED. |
| * tree.h (VAR_DECL_NONALIASED): New. |
| (may_be_aliased): Adjust. |
| * coverage.c (build_var): Set VAR_DECL_NONALIASED. |
| |
| 2014-03-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (expand_expr_real_1): Remove outdated comment. |
| |
| 2014-03-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60597 |
| * ira.c (adjust_cleared_regs): Call copy_rtx on |
| *reg_equiv[REGNO (loc)].src_p before passing it to |
| simplify_replace_fn_rtx. |
| |
| PR target/60568 |
| * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT |
| into CONST, put pic register as first operand of PLUS. Use |
| gen_const_mem for both 32-bit and 64-bit PIC got loads. |
| |
| 2014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete. |
| |
| 2014-03-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work |
| around for store forwarding issue in the FPU on the UT699. |
| * config/sparc/sparc.md (in_branch_delay): Return false for single FP |
| loads and operations if -mfix-ut699 is specified. |
| (divtf3_hq): Tweak attribute. |
| (sqrttf2_hq): Likewise. |
| |
| 2014-03-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * calls.c (store_one_arg): Remove incorrect const qualification on the |
| type of the temporary. |
| * cfgexpand.c (expand_return): Likewise. |
| * expr.c (expand_constructor): Likewise. |
| (expand_expr_real_1): Likewise. |
| |
| 2014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org> |
| |
| * config/arm/arm.c (arm_dwarf_register_span): Update the element number |
| of parts. |
| |
| 2014-03-19 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/60039 |
| * config/sh/sh.md (udivsi3_i1): Clobber R1 register. |
| |
| 2014-03-19 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/arm/aarch-common-protos.h |
| (alu_cost_table): Fix spelling of "extend". |
| * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend". |
| |
| 2014-03-19 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60553 |
| * tree-core.h (tree_type_common): Re-order pointer members |
| to reduce recursion depth during GC walks. |
| |
| 2014-03-19 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/60569 |
| * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull |
| before accessing it. |
| |
| 2014-03-19 Richard Biener <rguenther@suse.de> |
| |
| PR lto/59543 |
| * lto-streamer-in.c (input_function): In WPA stage do not drop |
| debug stmts. |
| |
| 2014-03-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/60559 |
| * vectorizable_mask_load_store): Replace scalar MASK_LOAD |
| with build_zero_cst assignment. |
| |
| 2014-03-18 Kai Tietz <ktietz@redhat.com> |
| |
| PR rtl-optimization/56356 |
| * sdbout.c (sdbout_parms): Verify that parms' |
| incoming argument is valid. |
| (sdbout_reg_parms): Likewise. |
| |
| 2014-03-18 Richard Henderson <rth@redhat.com> |
| |
| PR target/60562 |
| * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to |
| be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT. |
| (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0. |
| |
| 2014-03-18 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE. |
| * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE. |
| Italicize plugin event names in description. Explain that |
| PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE. |
| Remind that no GCC functions should be called after PLUGIN_FINISH. |
| Explain what pragmas with expansion are. |
| |
| 2014-03-18 Martin Liska <mliska@suse.cz> |
| |
| * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when |
| gimple call statement is update. |
| * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and |
| GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL. |
| |
| 2014-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/60557 |
| * ubsan.c (ubsan_instrument_unreachable): Call |
| initialize_sanitizer_builtins. |
| (ubsan_pass): Likewise. |
| |
| PR sanitizer/60535 |
| * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call |
| varpool_finalize_decl instead of rest_of_decl_compilation. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy |
| by using bitmap_and_compl instead of bitmap_and_compl_into. |
| (df_rd_transfer_function): Likewise. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * doc/lto.texi (fresolution): Fix typo. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * doc/invoke.texi (flto): Update for changes in 4.9. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * doc/loop.texi: Remove section on the removed lambda framework. |
| Update loop docs with recent changes in preserving loop structure. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * doc/lto.texi (-fresolution): Document. |
| |
| 2014-03-18 Richard Biener <rguenther@suse.de> |
| |
| * doc/contrib.texi: Adjust my name. |
| |
| 2014-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/58721 |
| * internal-fn.c: Include diagnostic-core.h. |
| (expand_BUILTIN_EXPECT): New function. |
| * gimplify.c (gimplify_call_expr): Use false instead of FALSE. |
| (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into |
| IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call. |
| * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle |
| IFN_BUILTIN_EXPECT. |
| * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT. |
| Revert 3 argument __builtin_expect code. |
| (strip_predict_hints): Handle IFN_BUILTIN_EXPECT. |
| * gimple-fold.c (gimple_fold_call): Likewise. |
| * tree.h (fold_builtin_expect): New prototype. |
| * builtins.c (build_builtin_expect_predicate): Add predictor |
| argument, if non-NULL, create 3 argument __builtin_expect. |
| (fold_builtin_expect): No longer static. Add ARG2 argument, |
| pass it through to build_builtin_expect_predicate. |
| (fold_builtin_2): Adjust caller. |
| (fold_builtin_3): Handle BUILT_IN_EXPECT. |
| * internal-fn.def (BUILTIN_EXPECT): New. |
| |
| 2014-03-18 Tobias Burnus <burnus@net-b.de> |
| |
| PR ipa/58721 |
| * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC, |
| PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO, |
| PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add. |
| |
| 2014-03-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/58721 |
| * predict.c (combine_predictions_for_bb): Fix up formatting. |
| (expr_expected_value_1, expr_expected_value): Add predictor argument, |
| fill what it points to if non-NULL. |
| (tree_predict_by_opcode): Adjust caller, use the predictor. |
| * predict.def (PRED_COMPARE_AND_SWAP): Add. |
| |
| 2014-03-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use |
| proper constant for the store mode. |
| |
| 2014-03-18 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * symtab.c (change_decl_assembler_name): Fix transparent alias |
| chain construction. |
| |
| 2014-03-16 Renlin Li <Renlin.Li@arm.com> |
| |
| * config/aarch64/aarch64.c: Correct the comments about the |
| aarch64 stack layout. |
| |
| 2014-03-18 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore |
| check for GF_OMP_FOR_KIND_FOR. |
| |
| 2013-03-18 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add |
| ymm and zmm register names. |
| |
| 2014-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/60516 |
| * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA |
| note creation for the 2010-08-31 changes. |
| |
| 2014-03-17 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/60534 |
| * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same |
| as -fno-tree-loop-vectorize. |
| (expand_omp_simd): Likewise. |
| |
| 2014-03-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc-protos.h (tls_call_delay): Delete. |
| (eligible_for_call_delay): New prototype. |
| * config/sparc/sparc.c (tls_call_delay): Rename into... |
| (eligible_for_call_delay): ...this. Return false if the instruction |
| cannot be put in the delay slot of a branch. |
| (eligible_for_restore_insn): Simplify. |
| (eligible_for_return_delay): Return false if the instruction cannot be |
| put in the delay slot of a branch and simplify. |
| (eligible_for_sibcall_delay): Return false if the instruction cannot be |
| put in the delay slot of a branch. |
| * config/sparc/sparc.md (fix_ut699): New attribute. |
| (tls_call_delay): Delete. |
| (in_call_delay): Reimplement. |
| (eligible_for_sibcall_delay): Rename into... |
| (in_sibcall_delay): ...this. |
| (eligible_for_return_delay): Rename into... |
| (in_return_delay): ...this. |
| (in_branch_delay): Reimplement. |
| (in_uncond_branch_delay): Delete. |
| (in_annul_branch_delay): Delete. |
| |
| 2014-03-14 Richard Henderson <rth@redhat.com> |
| |
| PR target/60525 |
| * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename |
| define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand. |
| (*floathi<X87MODEF>2_i387_with_temp): Remove. |
| (floathi splitters): Remove. |
| (float<SWI48x>xf2): New pattern. |
| (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop |
| code that tried to handle DImode for 32-bit, but which was excluded |
| by the pattern's condition. Drop allocation of stack temporary. |
| (*floatsi<MODEF>2_vector_mixed_with_temp): Remove. |
| (*float<SWI48><MODEF>2_mixed_with_temp): Remove. |
| (*float<SWI48><MODEF>2_mixed_interunit): Remove. |
| (*float<SWI48><MODEF>2_mixed_nointerunit): Remove. |
| (*floatsi<MODEF>2_vector_sse_with_temp): Remove. |
| (*float<SWI48><MODEF>2_sse_with_temp): Remove. |
| (*float<SWI48><MODEF>2_sse_interunit): Remove. |
| (*float<SWI48><MODEF>2_sse_nointerunit): Remove. |
| (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove. |
| (*float<SWI48x><X87MODEF>2_i387): Remove. |
| (all float _with_temp splitters): Remove. |
| (*float<SWI48x><MODEF>2_i387): New pattern. |
| (*float<SWI48><MODEF>2_sse): New pattern. |
| (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them. |
| (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them. |
| |
| 2014-03-14 Jakub Jelinek <jakub@redhat.com> |
| Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/60484 |
| * common.opt (dump_base_name_prefixed): New Variable. |
| * opts.c (finish_options): Don't prepend directory to x_dump_base_name |
| if x_dump_base_name_prefixed is already set, set it at the end. |
| |
| 2014-03-14 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/60508 |
| * lra-constraints.c (get_reload_reg): Add new parameter |
| in_subreg_p. |
| (process_addr_reg, simplify_operand_subreg, curr_insn_transform): |
| Pass the new parameter values. |
| |
| 2014-03-14 Richard Biener <rguenther@suse.de> |
| |
| * common.opt: Revert unintented changes from r205065. |
| * opts.c: Likewise. |
| |
| 2014-03-14 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60518 |
| * cfghooks.c (split_block): Properly adjust all loops the |
| block was a latch of. |
| |
| 2014-03-14 Martin Jambor <mjambor@suse.cz> |
| |
| PR lto/60461 |
| * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition |
| and simplify it. |
| |
| 2014-03-14 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/59396 |
| * config/avr/avr.c (avr_set_current_function): Pass function name |
| through default_strip_name_encoding before sanity checking instead |
| of skipping the first char of the assembler name. |
| |
| 2014-03-13 Richard Henderson <rth@redhat.com> |
| |
| PR debug/60438 |
| * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument. |
| (ix86_force_to_memory, ix86_free_from_memory): Remove. |
| * config/i386/i386-protos.h: Likewise. |
| * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local |
| in the expander instead of a splitter. |
| (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is |
| any possibility of requiring a memory. |
| (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters. |
| (*floatsi<MODEF>2_vector_sse): Remove, and the splitters. |
| (fp branch splitters): Update for ix86_split_fp_branch. |
| (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative. |
| (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise. |
| (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove. |
| (*fop_<MODEF>_2_i387): Remove f/r alternative. |
| (*fop_<MODEF>_3_i387): Likewise. |
| (*fop_xf_2_i387, *fop_xf_3_i387): Likewise. |
| (splitters for the fop_* register patterns): Remove. |
| (fscalexf4_i387): Rename from *fscalexf4_i387. |
| (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387. |
| |
| 2014-03-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/59779 |
| * tree-dfa.c (get_ref_base_and_extent): Use double_int |
| type for bitsize and maxsize instead of HOST_WIDE_INT. |
| |
| 2014-03-13 Steven Bosscher <steven@gcc.gnu.org> |
| |
| PR rtl-optimization/57320 |
| * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup |
| the CFG after thread_prologue_and_epilogue_insns. |
| |
| 2014-03-13 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/57189 |
| * lra-constraints.c (process_alt_operands): Disfavor spilling |
| vector pseudos. |
| |
| 2014-03-13 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages. |
| |
| 2014-03-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/59025 |
| PR middle-end/60418 |
| * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the |
| same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first. |
| |
| 2014-03-13 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/60486 |
| * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in |
| calls of avr_out_plus_1. |
| |
| 2014-03-13 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record |
| BB's single pred and update the father loop's latch info later. |
| |
| 2014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types. |
| (VEC_M): Likewise. |
| (VEC_N): Likewise. |
| (VEC_R): Likewise. |
| (VEC_base): Likewise. |
| (mov<MODE>, VEC_M modes): If we are loading TImode into VSX |
| registers, we need to swap double words in little endian mode. |
| |
| * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode |
| to be a container mode for 128-bit integer operations added in ISA |
| 2.07. Unlike TImode and PTImode, the preferred register set is |
| the Altivec/VMX registers for the 128-bit operations. |
| |
| * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add |
| declarations. |
| (rs6000_split_128bit_ok_p): Likewise. |
| |
| * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support |
| macros for creating ISA 2.07 normal and overloaded builtin |
| functions with 3 arguments. |
| (BU_P8V_OVERLOAD_3): Likewise. |
| (VPERM_1T): Add support for V1TImode in 128-bit vector operations |
| for use as overloaded functions. |
| (VPERM_1TI_UNS): Likewise. |
| (VSEL_1TI): Likewise. |
| (VSEL_1TI_UNS): Likewise. |
| (ST_INTERNAL_1ti): Likewise. |
| (LD_INTERNAL_1ti): Likewise. |
| (XXSEL_1TI): Likewise. |
| (XXSEL_1TI_UNS): Likewise. |
| (VPERM_1TI): Likewise. |
| (VPERM_1TI_UNS): Likewise. |
| (XXPERMDI_1TI): Likewise. |
| (SET_1TI): Likewise. |
| (LXVD2X_V1TI): Likewise. |
| (STXVD2X_V1TI): Likewise. |
| (VEC_INIT_V1TI): Likewise. |
| (VEC_SET_V1TI): Likewise. |
| (VEC_EXT_V1TI): Likewise. |
| (EQV_V1TI): Likewise. |
| (NAND_V1TI): Likewise. |
| (ORC_V1TI): Likewise. |
| (VADDCUQ): Add support for 128-bit integer arithmetic instructions |
| added in ISA 2.07. Add both normal 'altivec' builtins, and the |
| overloaded builtin. |
| (VADDUQM): Likewise. |
| (VSUBCUQ): Likewise. |
| (VADDEUQM): Likewise. |
| (VADDECUQ): Likewise. |
| (VSUBEUQM): Likewise. |
| (VSUBECUQ): Likewise. |
| |
| * config/rs6000/rs6000-c.c (__int128_type): New static to hold |
| __int128_t and __uint128_t types. |
| (__uint128_type): Likewise. |
| (altivec_categorize_keyword): Add support for vector __int128_t, |
| vector __uint128_t, vector __int128, and vector unsigned __int128 |
| as a container type for TImode operations that need to be done in |
| VSX/Altivec registers. |
| (rs6000_macro_to_expand): Likewise. |
| (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions |
| to support 128-bit integer instructions vaddcuq, vadduqm, |
| vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm. |
| (altivec_resolve_overloaded_builtin): Add support for V1TImode. |
| |
| * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support |
| for V1TImode, and set up preferences to use VSX/Altivec registers. |
| Setup VSX reload handlers. |
| (rs6000_debug_reg_global): Likewise. |
| (rs6000_init_hard_regno_mode_ok): Likewise. |
| (rs6000_preferred_simd_mode): Likewise. |
| (vspltis_constant): Do not allow V1TImode as easy altivec constants. |
| (easy_altivec_constant): Likewise. |
| (output_vec_const_move): Likewise. |
| (rs6000_expand_vector_set): Convert V1TImode set and extract to |
| simple move. |
| (rs6000_expand_vector_extract): Likewise. |
| (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg |
| addressing. |
| (rs6000_const_vec): Add support for V1TImode. |
| (rs6000_emit_le_vsx_load): Swap double words when loading or |
| storing TImode/V1TImode. |
| (rs6000_emit_le_vsx_store): Likewise. |
| (rs6000_emit_le_vsx_move): Likewise. |
| (rs6000_emit_move): Add support for V1TImode. |
| (altivec_expand_ld_builtin): Likewise. |
| (altivec_expand_st_builtin): Likewise. |
| (altivec_expand_vec_init_builtin): Likewise. |
| (altivec_expand_builtin): Likewise. |
| (rs6000_init_builtins): Add support for V1TImode type. Add |
| support for ISA 2.07 128-bit integer builtins. Define type names |
| for the VSX/Altivec vector types. |
| (altivec_init_builtins): Add support for overloaded vector |
| functions with V1TImode type. |
| (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode. |
| (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to |
| external function. |
| (rs6000_split_128bit_ok_p): Likewise. |
| (rs6000_handle_altivec_attribute): Create V1TImode from vector |
| __int128_t and vector __uint128_t. |
| |
| * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators |
| and mode attributes. |
| (VSX_M): Likewise. |
| (VSX_M2): Likewise. |
| (VSm): Likewise. |
| (VSs): Likewise. |
| (VSr): Likewise. |
| (VSv): Likewise. |
| (VS_scalar): Likewise. |
| (VS_double): Likewise. |
| (vsx_set_v1ti): New builtin function to create V1TImode from TImode. |
| |
| * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether |
| we support the ISA 2.07 128-bit integer arithmetic instructions. |
| (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode. |
| (enum rs6000_builtin_type_index): Add fields to hold V1TImode |
| and TImode types for use with the builtin functions. |
| (V1TI_type_node): Likewise. |
| (unsigned_V1TI_type_node): Likewise. |
| (intTI_type_internal_node): Likewise. |
| (uintTI_type_internal_node): Likewise. |
| |
| * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07 |
| 128-bit builtin functions. |
| (UNSPEC_VADDEUQM): Likewise. |
| (UNSPEC_VADDECUQ): Likewise. |
| (UNSPEC_VSUBCUQ): Likewise. |
| (UNSPEC_VSUBEUQM): Likewise. |
| (UNSPEC_VSUBECUQ): Likewise. |
| (VM): Add V1TImode to vector mode iterators. |
| (VM2): Likewise. |
| (VI_unit): Likewise. |
| (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins. |
| (altivec_vaddcuq): Likewise. |
| (altivec_vsubuqm): Likewise. |
| (altivec_vsubcuq): Likewise. |
| (altivec_vaddeuqm): Likewise. |
| (altivec_vaddecuq): Likewise. |
| (altivec_vsubeuqm): Likewise. |
| (altivec_vsubecuq): Likewise. |
| |
| * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector |
| mode iterators. |
| (BOOL_128): Likewise. |
| (BOOL_REGS_OUTPUT): Likewise. |
| (BOOL_REGS_OP1): Likewise. |
| (BOOL_REGS_OP2): Likewise. |
| (BOOL_REGS_UNARY): Likewise. |
| (BOOL_REGS_AND_CR0): Likewise. |
| |
| * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07 |
| 128-bit integer builtin support. |
| (vec_vadduqm): Likewise. |
| (vec_vaddecuq): Likewise. |
| (vec_vaddeuqm): Likewise. |
| (vec_vsubecuq): Likewise. |
| (vec_vsubeuqm): Likewise. |
| (vec_vsubcuq): Likewise. |
| (vec_vsubuqm): Likewise. |
| |
| * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): |
| Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm, |
| vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding |
| 128-bit integer add/subtract to ISA 2.07. |
| |
| 2014-03-12 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/arc/arc.c (arc_predicate_delay_insns): |
| Fix third argument passed to conditionalize_nonjump. |
| |
| 2014-03-12 Yufeng Zhang <yufeng.zhang@arm.com> |
| |
| * config/aarch64/aarch64-builtins.c |
| (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF, |
| BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL. |
| * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor |
| instead of __builtin_lfloor. |
| (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil. |
| |
| 2014-03-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-ssa-ifcombine.c (forwarder_block_to): New function. |
| (tree_ssa_ifcombine_bb_1): New function. |
| (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb |
| is an empty forwarder block to then_bb or vice versa and then_bb |
| and else_bb are effectively swapped. |
| |
| 2014-03-12 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/60264 |
| * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a |
| REG_CFA_DEF_CFA note. |
| (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note. |
| (arm_unwind_emit): Allow REG_CFA_DEF_CFA. |
| |
| 2014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/60454 |
| * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection. |
| |
| 2014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def. |
| Do not define target_cpu_default2 to generic. |
| * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu. |
| * config/aarch64/aarch64.c (aarch64_override_options): Update comment. |
| * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu. |
| |
| 2014-03-12 Jakub Jelinek <jakub@redhat.com> |
| Marc Glisse <marc.glisse@inria.fr> |
| |
| PR tree-optimization/60502 |
| * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst |
| instead of build_low_bits_mask. |
| |
| 2014-03-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60482 |
| * tree-vrp.c (register_edge_assert_for_1): Don't add assert |
| if there are multiple uses, but op doesn't live on E edge. |
| * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore |
| clobber stmts before __builtin_unreachable. |
| |
| 2014-03-11 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * builtins.c (expand_builtin_setjmp_receiver): Use and clobber |
| hard_frame_pointer_rtx. |
| * cse.c (cse_insn): Remove volatile check. |
| * cselib.c (cselib_process_insn): Likewise. |
| * dse.c (scan_insn): Likewise. |
| |
| 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/arc/arc.c (conditionalize_nonjump): New function, |
| broken out of ... |
| (arc_ifcvt): ... this. |
| (arc_predicate_delay_insns): Use it. |
| |
| 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/arc/predicates.md (extend_operand): During/after reload, |
| allow const_int_operand. |
| * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate. |
| (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL". |
| (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3 |
| to "i". |
| (umulsi3_highpart_i): Likewise. |
| |
| 2014-03-11 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa-structalias.c (get_constraint_for_ptr_offset): |
| Add asserts to guard possible wrong-code bugs. |
| |
| 2014-03-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60429 |
| PR tree-optimization/60485 |
| * tree-ssa-structalias.c (set_union_with_increment): Properly |
| take into account all fields that overlap the shifted vars. |
| (do_sd_constraint): Likewise. |
| (do_ds_constraint): Likewise. |
| (get_constraint_for_ptr_offset): Likewise. |
| |
| 2014-03-11 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/nios2/nios2.c (machine_function): Add fp_save_offset field. |
| (nios2_compute_frame_layout): |
| Add calculation of cfun->machine->fp_save_offset. |
| (nios2_expand_prologue): Correct setting of frame pointer register |
| in prologue. |
| (nios2_expand_epilogue): Update recovery of stack pointer from |
| frame pointer accordingly. |
| (nios2_initial_elimination_offset): Update calculation of offset |
| for eliminating to HARD_FRAME_POINTER_REGNUM. |
| |
| 2014-03-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/60457 |
| * ipa.c (symtab_remove_unreachable_nodes): Don't call |
| cgraph_get_create_node on VAR_DECLs. |
| |
| 2014-03-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60474 |
| * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs. |
| |
| 2014-03-08 Douglas B Rupp <rupp@gnat.com> |
| |
| * config/vms/vms.opt (vms_float_format): New variable. |
| |
| 2014-03-08 Tobias Burnus <burnus@net-b.de> |
| |
| * doc/invoke.texi (-fcilkplus): Update implementation status. |
| |
| 2014-03-08 Paulo Matos <paulo@matos-sorge.com> |
| Richard Biener <rguenther@suse.de> |
| |
| * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used |
| consistently accross all TUs. |
| (run_gcc): Enable -fshort-double automatically at link at link-time |
| and disallow override. |
| |
| 2014-03-08 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR target/58271 |
| * config/mips/mips.c (mips_option_override): Promote -mpaired-single |
| warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D |
| if they can't be used. |
| |
| 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test |
| for Solaris 11/x86 ld. |
| * configure: Regenerate. |
| |
| 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag. |
| (LIB_TLS_SPEC): Save as ld_tls_libs. |
| (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0. |
| (HAVE_AS_IX86_TLSLDM): New test. |
| * configure, config.in: Regenerate. |
| * config/i386/i386.c (legitimize_tls_address): Fall back to |
| TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain |
| cannot support TLS_MODEL_LOCAL_DYNAMIC. |
| * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if |
| instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test. |
| |
| 2014-03-07 Paulo Matos <paulo@matos-sorge.com> |
| |
| * common.opt (fira-loop-pressure): Mark as optimization. |
| |
| 2014-03-07 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not |
| an OpenMP mappable type. |
| |
| 2014-03-06 Matthias Klose <doko@ubuntu.com> |
| |
| * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if |
| MULTILIB_OSDIRNAMES is not defined. |
| |
| 2014-03-06 Jakub Jelinek <jakub@redhat.com> |
| Meador Inge <meadori@codesourcery.com> |
| |
| PR target/58595 |
| * config/arm/arm.c (arm_tls_symbol_p): Remove. |
| (arm_legitimize_address): Call legitimize_tls_address for any |
| arm_tls_referenced_p expression, handle constant addend. Call it |
| before testing for !TARGET_ARM. |
| (thumb_legitimize_address): Don't handle arm_tls_symbol_p here. |
| |
| 2014-03-06 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60445 |
| PR lto/60424 |
| PR lto/60427 |
| Revert |
| 2014-03-04 Paulo Matos <paulo@matos-sorge.com> |
| |
| * tree-streamer.c (record_common_node): Assert we don't record |
| nodes with type double. |
| (preload_common_node): Skip type double, complex double and double |
| pointer since it is now frontend dependent due to fshort-double option. |
| |
| 2014-03-06 Richard Biener <rguenther@suse.de> |
| |
| * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin |
| or -fno-lto is specified and the linker has full plugin support. |
| * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled. |
| (main): Remove -flto processing, adjust lto_mode using use_plugin late. |
| * lto-wrapper.c (merge_and_complain): Merge compile-time |
| optimization levels. |
| (run_gcc): And pass it through to the link options. |
| |
| 2014-03-06 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/60381 |
| Revert: |
| 2014-02-28 Alexandre Oliva <aoliva@redhat.com> |
| PR debug/59992 |
| * cselib.c (remove_useless_values): Skip to avoid quadratic |
| behavior if the condition moved from... |
| (cselib_process_insn): ... here holds. |
| |
| 2014-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR plugins/59335 |
| * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h, |
| ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h. |
| |
| PR plugins/59335 |
| * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def. |
| (TM_H): Add x86-tune.def. |
| |
| 2014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (generic_tunings): |
| Use cortexa57_extra_costs. |
| |
| 2014-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/60404 |
| * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs |
| of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p. |
| * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1 |
| cost for in_lto_p. |
| |
| 2014-03-04 Heiher <r@hev.cc> |
| |
| * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor. |
| * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly. |
| |
| 2014-03-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/predicates.md (const2356_operand): Change to ... |
| (const2367_operand): ... this. |
| * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use |
| const2367_operand. |
| (*avx512pf_scatterpf<mode>sf_mask): Ditto. |
| (*avx512pf_scatterpf<mode>sf): Ditto. |
| (avx512pf_scatterpf<mode>df): Ditto. |
| (*avx512pf_scatterpf<mode>df_mask): Ditto. |
| (*avx512pf_scatterpf<mode>df): Ditto. |
| * config/i386/i386.c (ix86_expand_builtin): Update |
| incorrect hint operand error message. |
| |
| 2014-03-04 Richard Biener <rguenther@suse.de> |
| |
| * lto-section-in.c (lto_get_section_data): Fix const cast. |
| |
| 2014-03-04 Paulo Matos <paulo@matos-sorge.com> |
| |
| * tree-streamer.c (record_common_node): Assert we don't record |
| nodes with type double. |
| (preload_common_node): Skip type double, complex double and double |
| pointer since it is now frontend dependent due to fshort-double option. |
| |
| 2014-03-04 Richard Biener <rguenther@suse.de> |
| |
| PR lto/60405 |
| * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check. |
| (lto_input_toplevel_asms): Likewise. |
| * lto-section-in.c (lto_get_section_data): Instead do it here |
| for every section. |
| |
| 2014-03-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60382 |
| * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider |
| dead PHIs a reduction. |
| |
| 2014-03-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct |
| hint value. |
| (_mm_prefetch): Move out of GCC target("sse") pragma. |
| * config/i386/prfchwintrin.h (_m_prefetchw): Move out of |
| GCC target("prfchw") pragma. |
| * config/i386/i386.md (prefetch): Emit prefetchwt1 only |
| for locality <= 2. |
| * config/i386/i386.c (ix86_option_override_internal): Enable |
| -mprfchw with -mprefetchwt1. |
| |
| 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/arc/arc.md (casesi_load) <length attribute alternative 0>: |
| Mark as varying. |
| |
| 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * opts.h (CL_PCH_IGNORE): Define. |
| * targhooks.c (option_affects_pch_p): |
| Return false for options that have CL_PCH_IGNORE set. |
| * opt-functions.awk: Process PchIgnore. |
| * doc/options.texi: Document PchIgnore. |
| |
| * config/arc/arc.opt (misize): Add PchIgnore property. |
| |
| 2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow |
| reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax |
| constraint on constants to permit them being loaded into |
| GENERAL_REGS or BASE_REGS. |
| |
| 2014-03-03 Nick Clifton <nickc@redhat.com> |
| |
| * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add |
| anti-cacnonical alternatives. |
| (negandhi3_real): New pattern. |
| * config/rl78/rl78-virt.md (negandhi3_virt): New pattern. |
| |
| 2014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| * config/avr/avr-mcus.def: Remove atxmega16x1. |
| * config/avr/avr-tables.opt: Regenerate. |
| * config/avr/t-multilib: Regenerate. |
| * doc/avr-mmcu.texi: Regenerate. |
| |
| 2014-03-03 Tobias Grosser <tobias@grosser.es> |
| Mircea Namolaru <mircea.namolaru@inria.fr> |
| |
| PR tree-optimization/58028 |
| * graphite-clast-to-gimple.c (set_cloog_options): Don't remove |
| scalar dimensions. |
| |
| 2014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses |
| not handled by recognizers. |
| |
| 2014-03-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60175 |
| * function.c (expand_function_end): Don't emit |
| clobber_return_register sequence if clobber_after is a BARRIER. |
| * cfgexpand.c (construct_exit_block): Append instructions before |
| return_label to prev_bb. |
| |
| 2014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/constraints.md: Document reserved use of "wc". |
| |
| 2014-03-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60150 |
| * ipa.c (function_and_variable_visibility): When dissolving comdat |
| group, also set all symbols to local. |
| |
| 2014-03-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60306 |
| |
| Revert: |
| 2013-12-14 Jan Hubicka <jh@suse.cz> |
| PR middle-end/58477 |
| * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers. |
| |
| 2014-03-02 Jon Beniston <jon@beniston.com> |
| |
| PR bootstrap/48230 |
| PR bootstrap/50927 |
| PR bootstrap/52466 |
| PR target/46898 |
| * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect. |
| (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed. |
| * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support. |
| (simple_return, *simple_return): New patterns |
| * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete. |
| * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32. |
| |
| 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| * dwarf2out.c (gen_subprogram_die): Tidy. |
| |
| 2014-03-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/60071 |
| * config/sh/sh.md (*mov_t_msb_neg): Split into ... |
| (*mov_t_msb_neg_negc): ... this new insn. |
| |
| 2014-02-28 Jason Merrill <jason@redhat.com> |
| |
| PR c++/58678 |
| * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared |
| function. |
| |
| 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| PR c++/60314 |
| * dwarf2out.c (decltype_auto_die): New static. |
| (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'. |
| (gen_type_die_with_usage): Handle 'decltype(auto)'. |
| (is_cxx_auto): Likewise. |
| |
| 2014-02-28 Ian Bolton <ian.bolton@arm.com> |
| |
| * config/aarch64/aarch64.h: Define __ARM_NEON by default if |
| we are not using general regs only. |
| |
| 2014-02-28 Richard Biener <rguenther@suse.de> |
| |
| PR target/60280 |
| * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict |
| previous fix and only allow to remove trivial pre-headers |
| and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES. |
| (remove_forwarder_block): Properly update the latch of a loop. |
| |
| 2014-02-28 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/59992 |
| * cselib.c (cselib_hasher::equal): Special-case VALUE lookup. |
| (cselib_preserved_hash_table): New. |
| (preserve_constants_and_equivs): Move preserved vals to it. |
| (cselib_find_slot): Look it up first. |
| (cselib_init): Initialize it. |
| (cselib_finish): Release it. |
| (dump_cselib_table): Dump it. |
| |
| 2014-02-28 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/59992 |
| * cselib.c (remove_useless_values): Skip to avoid quadratic |
| behavior if the condition moved from... |
| (cselib_process_insn): ... here holds. |
| |
| 2014-02-28 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/57232 |
| * var-tracking.c (vt_initialize): Apply the same condition to |
| preserve the CFA base value. |
| |
| 2014-02-28 Joey Ye <joey.ye@arm.com> |
| |
| PR target/PR60169 |
| * config/arm/arm.c (thumb_far_jump_used_p): Don't change |
| if reload in progress or completed. |
| |
| 2014-02-28 Tobias Burnus <burnus@net-b.de> |
| |
| PR middle-end/60147 |
| * tree-pretty-print.c (dump_generic_node, print_declaration): Handle |
| NAMELIST_DECL. |
| |
| 2014-02-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * doc/tm.texi.in (Condition Code Status): Update documention for |
| relative locations of cc0-setter and cc0-user. |
| |
| 2014-02-27 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/52714 |
| * combine.c (try_combine): When splitting an unrecognized PARALLEL |
| into two independent simple sets, if I3 is a jump, ensure the |
| pattern we place into I3 is a (set (pc) ...). |
| |
| 2014-02-27 Mikael Pettersson <mikpe@it.uu.se> |
| Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/49847 |
| * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user |
| are in different blocks. |
| * doc/tm.texi (Condition Code Status): Update documention for |
| relative locations of cc0-setter and cc0-user. |
| |
| 2014-02-27 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/59222 |
| * lra.c (lra_emit_add): Check SUBREG too. |
| |
| 2014-02-27 Andreas Schwab <schwab@suse.de> |
| |
| * config/m68k/m68k.c (m68k_option_override): Disable |
| -flive-range-shrinkage for classic m68k. |
| (m68k_override_options_after_change): Likewise. |
| |
| 2014-02-27 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/59223 |
| * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for |
| -Wmaybe-uninitialized. |
| |
| 2014-02-27 Alan Modra <amodra@gmail.com> |
| |
| PR target/57936 |
| * reload1.c (emit_input_reload_insns): When reload_override_in, |
| set old to rl->in_reg when rl->in_reg is a subreg. |
| |
| 2014-02-26 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/60343 |
| * lra-assigns.c (spill_for): Avoid mixed-sign comparison. |
| |
| 2014-02-25 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * common/config/i386/predicates.md (const1256_operand): Remove. |
| (const2356_operand): New. |
| (const_1_to_2_operand): Remove. |
| * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value. |
| (*avx512pf_gatherpf<mode>sf_mask): Ditto. |
| (*avx512pf_gatherpf<mode>sf): Ditto. |
| (avx512pf_gatherpf<mode>df): Ditto. |
| (*avx512pf_gatherpf<mode>df_mask): Ditto. |
| (*avx512pf_gatherpf<mode>df): Ditto. |
| (avx512pf_scatterpf<mode>sf): Ditto. |
| (*avx512pf_scatterpf<mode>sf_mask): Ditto. |
| (*avx512pf_scatterpf<mode>sf): Ditto. |
| (avx512pf_scatterpf<mode>df): Ditto. |
| (*avx512pf_scatterpf<mode>df_mask): Ditto. |
| (*avx512pf_scatterpf<mode>df): Ditto. |
| * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0. |
| |
| 2014-02-26 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask), |
| (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask), |
| (_mm512_mask_testn_epi64_mask): Move to ... |
| * config/i386/avx512cdintrin.h: Here. |
| * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm. |
| * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %. |
| (avx512f_scalef<mode><mask_name><round_name>): Ditto. |
| (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to |
| TARGET_AVX512F from TARGET_AVX512CD. |
| |
| 2014-02-26 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60327 |
| * ipa.c (walk_polymorphic_call_targets): Properly guard |
| call to inline_update_overall_summary. |
| |
| 2014-02-26 Bin Cheng <bin.cheng@arm.com> |
| |
| PR target/60280 |
| * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders |
| and latches only if requested. Fix latch if it is removed. |
| * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set |
| LOOPS_HAVE_PREHEADERS. |
| |
| 2014-02-25 Andrew Pinski <apinski@cavium.com> |
| |
| * builtins.c (expand_builtin_thread_pointer): Create a new target |
| when the target is NULL. |
| |
| 2014-02-25 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/60317 |
| * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New. |
| * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New. |
| * lra-assigns.c: Include params.h. |
| (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for |
| other reload pseudos considerations. |
| |
| 2014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/vector.md (*vector_unordered<mode>): Change split |
| to use canonical form for nor<mode>3. |
| |
| 2014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/55426 |
| * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit |
| conversions. |
| |
| 2014-02-25 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET), |
| (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New. |
| (ix86_handle_option): Handle OPT_mprefetchwt1. |
| * config/i386/cpuid.h (bit_PREFETCHWT1): New. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Detect |
| PREFETCHWT1 CPUID. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Handle |
| OPTION_MASK_ISA_PREFETCHWT1. |
| * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1. |
| (PTA_PREFETCHWT1): New. |
| (ix86_option_override_internal): Handle PTA_PREFETCHWT1. |
| (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1. |
| * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New. |
| * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1 |
| (*prefetch_avx512pf_<mode>_: Change into ... |
| (*prefetch_prefetchwt1_<mode>: This. |
| * config/i386/i386.opt (mprefetchwt1): New. |
| * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1. |
| (_mm_prefetch): Handle intent to write. |
| * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument. |
| |
| 2014-02-25 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60291 |
| * emit-rtl.c (mem_attrs_htab): Remove. |
| (mem_attrs_htab_hash): Likewise. |
| (mem_attrs_htab_eq): Likewise. |
| (set_mem_attrs): Always allocate new mem-attrs when something changed. |
| (init_emit_once): Do not allocate mem_attrs_htab. |
| |
| 2014-02-25 Richard Biener <rguenther@suse.de> |
| |
| PR lto/60319 |
| * lto-opts.c (lto_write_options): Output non-explicit conservative |
| -fwrapv, -fno-trapv and -fno-strict-overflow. |
| * lto-wrapper.c (merge_and_complain): Handle merging those options. |
| (run_gcc): And pass them through. |
| |
| 2014-02-25 Andrey Belevantsev <abel@ispras.ru> |
| |
| * sel-sched.c (calculate_new_fences): New parameter ptime. |
| Calculate it as a maximum over all fence cycles. |
| (sel_sched_region_2): Adjust the call to calculate_new_fences. |
| Print the final schedule timing when sched_verbose. |
| |
| 2014-02-25 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/60292 |
| * sel-sched.c (fill_vec_av_set): Do not reset target availability |
| bit fot the fence instruction. |
| |
| 2014-02-24 Alangi Derick <alangiderick@gmail.com> |
| |
| * calls.h: Fix typo in comment. |
| |
| 2014-02-24 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_output_move_double): Don't valididate when |
| adjusting offsetable addresses. |
| |
| 2014-02-24 Guozhi Wei <carrot@google.com> |
| |
| * sparseset.h (sparseset_pop): Fix the wrong index. |
| |
| 2014-02-24 Walter Lee <walt@tilera.com> |
| |
| * config.gcc (tilepro-*-*): Change to tilepro*-*-*. |
| (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe |
| triplet. |
| * common/config/tilegx/tilegx-common.c |
| (TARGET_DEFAULT_TARGET_FLAGS): Define. |
| * config/tilegx/linux.h (ASM_SPEC): Add endian_spec. |
| (LINK_SPEC): Ditto. |
| * config/tilegx/sync.md (atomic_test_and_set): Handle big endian. |
| * config/tilegx/tilegx.c (tilegx_return_in_msb): New. |
| (tilegx_gimplify_va_arg_expr): Handle big endian. |
| (tilegx_expand_unaligned_load): Ditto. |
| (tilegx_expand_unaligned_store): Ditto. |
| (TARGET_RETURN_IN_MSB): New. |
| * config/tilegx/tilegx.h (TARGET_DEFAULT): New. |
| (TARGET_ENDIAN_DEFAULT): New. |
| (TARGET_BIG_ENDIAN): Handle big endian. |
| (BYTES_BIG_ENDIAN): Ditto. |
| (WORDS_BIG_ENDIAN): Ditto. |
| (FLOAT_WORDS_BIG_ENDIAN): Ditto. |
| (ENDIAN_SPEC): New. |
| (EXTRA_SPECS): New. |
| * config/tilegx/tilegx.md (extv): Handle big endian. |
| (extzv): Ditto. |
| (insn_st<n>): Ditto. |
| (insn_st<n>_add<bitsuffix>): Ditto. |
| (insn_stnt<n>): Ditto. |
| (insn_stnt<n>_add<bitsuffix>):Ditto. |
| (vec_interleave_highv8qi): Handle big endian. |
| (vec_interleave_highv8qi_be): New. |
| (vec_interleave_highv8qi_le): New. |
| (insn_v1int_h): Handle big endian. |
| (vec_interleave_lowv8qi): Handle big endian. |
| (vec_interleave_lowv8qi_be): New. |
| (vec_interleave_lowv8qi_le): New. |
| (insn_v1int_l): Handle big endian. |
| (vec_interleave_highv4hi): Handle big endian. |
| (vec_interleave_highv4hi_be): New. |
| (vec_interleave_highv4hi_le): New. |
| (insn_v2int_h): Handle big endian. |
| (vec_interleave_lowv4hi): Handle big endian. |
| (vec_interleave_lowv4hi_be): New. |
| (vec_interleave_lowv4hi_le): New. |
| (insn_v2int_l): Handle big endian. |
| (vec_interleave_highv2si): Handle big endian. |
| (vec_interleave_highv2si_be): New. |
| (vec_interleave_highv2si_le): New. |
| (insn_v4int_h): Handle big endian. |
| (vec_interleave_lowv2si): Handle big endian. |
| (vec_interleave_lowv2si_be): New. |
| (vec_interleave_lowv2si_le): New. |
| (insn_v4int_l): Handle big endian. |
| * config/tilegx/tilegx.opt (mbig-endian): New option. |
| (mlittle-endian): New option. |
| * doc/install.texi: Document tilegxbe-linux. |
| * doc/invoke.texi: Document -mbig-endian and -mlittle-endian. |
| |
| 2014-02-24 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/60266 |
| * ipa-cp.c (propagate_constants_accross_call): Bail out early if |
| there are no parameter descriptors. |
| |
| 2014-02-24 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/60268 |
| * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable |
| initialization to ... |
| (sched_rgn_init): ... here. |
| (schedule_region): Check for SCHED_PRESSURE_NONE earlier. |
| |
| 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg |
| names. |
| |
| 2014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com> |
| |
| * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED |
| definition. |
| |
| 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk, |
| define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK. |
| |
| 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/predicates.md: Add cmp_op predicate. |
| * config/microblaze/microblaze.md: Add branch_compare instruction |
| which uses cmp_op predicate and emits cmp insn before branch. |
| * config/microblaze/microblaze.c (microblaze_emit_compare): Rename |
| to microblaze_expand_conditional_branch and consolidate logic. |
| (microblaze_expand_conditional_branch): emit branch_compare |
| insn instead of handling cmp op separate from branch insn. |
| |
| 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert |
| to permit subregs. |
| |
| 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace |
| define_insn with define_expand and new define_insn |
| *altivec_lve<VI_char>x_internal. |
| (altivec_stve<VI_char>x): Replace define_insn with define_expand |
| and new define_insn *altivec_stve<VI_char>x_internal. |
| * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New |
| prototype. |
| * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by |
| lve*x built-ins. |
| (altivec_expand_stvex_be): New function. |
| |
| 2014-02-22 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/avr/avr.c (avr_can_eliminate): Allow elimination from |
| ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed. |
| * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from |
| ARG_POINTER_REGNUM to STACK_POINTER_REGNUM. |
| |
| 2014-02-21 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/60298 |
| * lra-constraints.c (inherit_reload_reg): Use lra_emit_move |
| instead of emit_move_insn. |
| |
| 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (altivec_vsumsws): Replace second |
| vspltw with vsldoi. |
| (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of |
| gen_altivec_vsumsws. |
| |
| 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (altivec_lvxl): Rename as |
| *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI. |
| (altivec_lvxl_<mode>): New define_expand incorporating |
| -maltivec=be semantics where needed. |
| (altivec_lvx): Rename as *altivec_lvx_<mode>_internal. |
| (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be |
| semantics where needed. |
| (altivec_stvx): Rename as *altivec_stvx_<mode>_internal. |
| (altivec_stvx_<mode>): New define_expand incorporating |
| -maltivec=be semantics where needed. |
| (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use |
| VM2 iterator instead of V4SI. |
| (altivec_stvxl_<mode>): New define_expand incorporating |
| -maltivec=be semantics where needed. |
| * config/rs6000/rs6000-builtin.def: Add new built-in definitions |
| LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI, |
| LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF, |
| STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF, |
| STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI. |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace |
| ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout; |
| similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and |
| ALTIVEC_BUILTIN_STVXL. |
| * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype. |
| (altivec_expand_stvx_be): Likewise. |
| * config/rs6000/rs6000.c (swap_selector_for_mode): New function. |
| (altivec_expand_lvx_be): Likewise. |
| (altivec_expand_stvx_be): Likewise. |
| (altivec_expand_builtin): Add cases for |
| ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>, |
| ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>. |
| (altivec_init_builtins): Add definitions for |
| __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>, |
| __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>. |
| |
| 2014-02-21 Catherine Moore <clm@codesourcery.com> |
| |
| * doc/invoke.texi (mvirt, mno-virt): Document. |
| * config/mips/mips.opt (mvirt): New option. |
| * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler. |
| |
| 2014-02-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60276 |
| * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field. |
| (STMT_VINFO_MIN_NEG_DIST): New macro. |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record |
| STMT_VINFO_MIN_NEG_DIST. |
| * tree-vect-stmts.c (vectorizable_load): Verify if assumptions |
| made for negative dependence distances still hold. |
| |
| 2014-02-21 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60291 |
| * tree-ssa-live.c (mark_all_vars_used_1): Do not walk |
| DECL_INITIAL for globals not in the current function context. |
| |
| 2014-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/56490 |
| * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param. |
| * tree-ssa-uninit.c: Include params.h. |
| (compute_control_dep_chain): Add num_calls argument, return false |
| if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass |
| num_calls to recursive call. |
| (find_predicates): Change dep_chain into normal array, |
| cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls |
| variable and adjust compute_control_dep_chain caller. |
| (find_def_preds): Likewise. |
| |
| 2014-02-21 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW] |
| <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement. |
| |
| 2014-02-21 Nick Clifton <nickc@redhat.com> |
| |
| * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc. |
| (pushhi1): Likewise. |
| (popqi1): Add mode to pre_dec. |
| (pophi1): Likewise. |
| |
| 2014-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode |
| mode for mask of V8SFmode permutation. |
| |
| 2014-02-20 Richard Henderson <rth@redhat.com> |
| |
| PR c++/60272 |
| * builtins.c (expand_builtin_atomic_compare_exchange): Always make |
| a new pseudo for OLDVAL. |
| |
| 2014-02-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/57896 |
| * config/i386/i386.c (expand_vec_perm_interleave2): Don't call |
| gen_reg_rtx if d->testing_p. |
| (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early |
| if d->testing_p and we will certainly return true. |
| (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx |
| if d->testing_p. |
| |
| 2014-02-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| * emit-rtl.c (gen_reg_rtx): Assert that |
| crtl->emit.regno_pointer_align_length is non-zero. |
| |
| 2014-02-20 Richard Henderson <rth@redhat.com> |
| |
| PR c++/60272 |
| * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize |
| on failure the store back into EXPECT. |
| |
| 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com> |
| Sandra Loosemore <sandra@codesourcery.com> |
| |
| * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum. |
| * config/nios2/nios2.c (nios2_function_profiler): Add |
| -fPIC (flag_pic == 2) support. |
| (nios2_handle_custom_fpu_cfg): Fix warning parameter. |
| (nios2_large_offset_p): New function. |
| (nios2_unspec_reloc_p): Move up position, update to use |
| nios2_large_offset_p. |
| (nios2_unspec_address): Remove function. |
| (nios2_unspec_offset): New function. |
| (nios2_large_got_address): New function. |
| (nios2_got_address): Add large offset support. |
| (nios2_legitimize_tls_address): Update usage of removed and new |
| functions. |
| (nios2_symbol_binds_local_p): New function. |
| (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support. |
| (nios2_legitimize_address): Update to use nios2_large_offset_p. |
| (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)). |
| (nios2_print_operand): Merge H/L processing, add hiadj/lo |
| processing for (const (unspec ...)). |
| (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case. |
| |
| 2014-02-20 Richard Biener <rguenther@suse.de> |
| |
| * tree-cfg.c (replace_uses_by): Mark altered BBs before |
| doing the substitution. |
| (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs. |
| |
| 2014-02-20 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/55260 |
| * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct |
| info when checking whether lattices are bottom. |
| |
| 2014-02-20 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60221 |
| * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH |
| regions at -O0. |
| |
| 2014-02-20 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/58555 |
| * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale |
| parameter specifying the scaling. |
| (inline_call): Update. |
| (want_inline_recursively): Guard division by zero. |
| (recursive_inlining): Update. |
| * ipa-inline.h (clone_inlined_nodes): Update. |
| |
| 2014-02-20 Ilya Tocar <ilya.tocar@intel.com> |
| |
| PR target/60204 |
| * config/i386/i386.c (classify_argument): Pass structures of size |
| 64 bytes or less in register. |
| |
| 2014-02-20 Ilya Tocar <ilya.tocar@intel.com> |
| Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands. |
| (_mm_rcp28_round_ss): Ditto. |
| (_mm_rsqrt28_round_sd): Ditto. |
| (_mm_rsqrt28_round_ss): Ditto. |
| * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto. |
| (_mm_rcp14_round_ss): Ditto. |
| (_mm_rsqrt14_round_sd): Ditto. |
| (_mm_rsqrt14_round_ss): Ditto. |
| * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as |
| the first input operand, get rid of match_dup. |
| (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type |
| attribute to sse. |
| (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): |
| Ditto. |
| (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate |
| operand as the first input operand, set type attribute. |
| (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): |
| Set type attribute. |
| (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate |
| operand as the first input operand, set type attribute. |
| |
| 2014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (vspltis_constant): Fix most significant |
| bit of zero. |
| |
| 2014-02-19 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/60207 |
| * config/i386/i386.c (construct_container): Remove TFmode check |
| for X86_64_INTEGER_CLASS. |
| |
| 2014-02-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/59794 |
| * config/i386/i386.c (type_natural_mode): Warn for ABI changes |
| only when -Wpsabi is enabled. |
| |
| 2014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org> |
| |
| PR target/59799 |
| * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for |
| passing arrays in registers are the same as for structs, so remove the |
| special case for them. |
| |
| 2014-02-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field |
| destination type, extract only the valid bits if the source type is not |
| integral and has a different mode. |
| |
| 2014-02-19 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60243 |
| * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node |
| for all calls. |
| |
| 2014-02-19 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/60243 |
| * ipa-prop.c: Include stringpool.h and tree-ssanames.h. |
| (ipa_modify_call_arguments): Emit an argument load explicitely and |
| preserve virtual SSA form there and for the replacement call. |
| Do not update SSA form nor free dominance info. |
| |
| 2014-02-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa.c (function_and_variable_visibility): Also clear WEAK |
| flag when disolving COMDAT_GROUP. |
| |
| 2014-02-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment. |
| * ipa-prop.c (ipa_set_jf_known_type): Return early when |
| not devirtualizing. |
| (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved; |
| do more sanity checks. |
| (detect_type_change): Return true when giving up early. |
| (compute_complex_assign_jump_func): Fix type parameter of |
| ipa_set_ancestor_jf. |
| (compute_complex_ancestor_jump_func): Likewise. |
| (update_jump_functions_after_inlining): Fix updating of |
| ancestor function. |
| * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL. |
| |
| 2014-02-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove |
| inline clones when edge disappears. |
| |
| 2014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/60203 |
| * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves): |
| Split 64-bit moves into 2 patterns. Do not allow the use of |
| direct move for TDmode in little endian, since the decimal value |
| has little endian bytes within a word, but the 64-bit pieces are |
| ordered in a big endian fashion, and normal subreg's of TDmode are |
| not allowed. |
| (mov<mode>_64bit_dm): Likewise. |
| (movtd_64bit_nodm): Likewise. |
| |
| 2014-02-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/60174 |
| * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining |
| statement of an SSA_NAME that occurs in an abnormal PHI node. |
| |
| 2014-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/60142 |
| * final.c (SEEN_BB): Remove. |
| (SEEN_NOTE, SEEN_EMITTED): Renumber. |
| (final_scan_insn): Don't force_source_line on second |
| NOTE_INSN_BASIC_BLOCK. |
| |
| 2014-02-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/60205 |
| * config/i386/i386.h (struct ix86_args): Add warn_avx512f. |
| * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f. |
| (type_natural_mode): Warn ABI change when %zmm register is not |
| available for AVX512F vector value passing. |
| |
| 2014-02-18 Kai Tietz <ktietz@redhat.com> |
| |
| PR target/60193 |
| * config/i386/i386.c (ix86_expand_prologue): Use value in |
| rax register as displacement when restoring %r10 or %rax. |
| Fix wrong offset when restoring both registers. |
| |
| 2014-02-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous |
| assertion with conditional return. |
| |
| 2014-02-18 Jakub Jelinek <jakub@redhat.com> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR driver/60233 |
| * config/i386/driver-i386.c (host_detect_local_cpu): If |
| YMM state is not saved by the OS, also clear has_f16c. Move |
| CPUID 0x80000001 handling before YMM state saving checking. |
| |
| 2014-02-18 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/58960 |
| * haifa-sched.c (alloc_global_sched_pressure_data): New, |
| factored out from ... |
| (sched_init): ... here. |
| (free_global_sched_pressure_data): New, factored out from ... |
| (sched_finish): ... here. |
| * sched-int.h (free_global_sched_pressure_data): Declare. |
| * sched-rgn.c (nr_regions_initial): New static global. |
| (haifa_find_rgns): Initialize it. |
| (schedule_region): Disable sched-pressure for the newly |
| generated regions. |
| |
| 2014-02-17 Richard Biener <rguenther@suse.de> |
| |
| * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and |
| release SSA defs of pattern stmts. |
| |
| 2014-02-17 Richard Biener <rguenther@suse.de> |
| |
| * tree-inline.c (expand_call_inline): Release the virtual |
| operand defined by the call we are about to inline. |
| |
| 2014-02-17 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa.c (verify_ssa): If verify_def found an error, ICE. |
| |
| 2014-02-17 Kirill Yukhin <kirill.yukhin@intel.com> |
| Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap |
| arguments order in builtin. |
| (_mm512_permutexvar_epi64): Ditto. |
| (_mm512_mask_permutexvar_epi64): Ditto |
| (_mm512_maskz_permutexvar_epi32): Ditto |
| (_mm512_permutexvar_epi32): Ditto |
| (_mm512_mask_permutexvar_epi32): Ditto |
| |
| 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets. |
| (p8_vmrgow): Likewise. |
| |
| 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little |
| endian targets. |
| |
| 2014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/60203 |
| * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints. |
| (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves |
| into 64-bit and 32-bit moves. On 64-bit moves, add support for |
| using direct move instructions on ISA 2.07. Also adjust |
| instruction length for 64-bit. |
| (mov<mode>_64bit, TFmode/TDmode): Likewise. |
| (mov<mode>_32bit, TFmode/TDmode): Likewise. |
| |
| 2014-02-15 Alan Modra <amodra@gmail.com> |
| |
| PR target/58675 |
| PR target/57935 |
| * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use |
| find_replacement on parts of insn rtl that might be reloaded. |
| |
| 2014-02-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60183 |
| * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads. |
| (tree_ssa_phiprop): Calculate and free post-dominators. |
| |
| 2014-02-14 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/60131 |
| * ree.c (get_extended_src_reg): New function. |
| (combine_reaching_defs): Use it rather than assuming location of REG. |
| (find_and_remove_re): Verify first operand of extension is |
| a REG before adding the insns to the copy list. |
| |
| 2014-02-14 Roland McGrath <mcgrathr@google.com> |
| |
| * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic. |
| * configure: Regenerated. |
| * config.in: Regenerated. |
| * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic |
| instead of ASM_SHORT. |
| |
| 2014-02-14 Vladimir Makarov <vmakarov@redhat.com> |
| Richard Earnshaw <rearnsha@arm.com> |
| |
| PR rtl-optimization/59535 |
| * lra-constraints.c (process_alt_operands): Encourage alternative |
| when unassigned pseudo class is superset of the alternative class. |
| (inherit_reload_reg): Don't inherit when optimizing for code size. |
| * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA |
| returning CORE_REGS for anything but Thumb1 and BASE_REGS for |
| modes not less than 4 for Thumb1. |
| |
| 2014-02-14 Kyle McMartin <kyle@redhat.com> |
| |
| PR pch/60010 |
| * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64. |
| |
| 2014-02-14 Richard Biener <rguenther@suse.de> |
| |
| * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF. |
| (get_frame_arg): Drop the assert with langhook types_compatible_p. |
| Do not strip INDIRECT_REFs. |
| |
| 2014-02-14 Richard Biener <rguenther@suse.de> |
| |
| PR lto/60179 |
| * lto-streamer-out.c (DFS_write_tree_body): Do not follow |
| DECL_FUNCTION_SPECIFIC_TARGET. |
| (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET. |
| * tree-streamer-out.c (pack_ts_target_option): Remove. |
| (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION. |
| (write_ts_function_decl_tree_pointers): Do not stream |
| DECL_FUNCTION_SPECIFIC_TARGET. |
| * tree-streamer-in.c (unpack_ts_target_option): Remove. |
| (unpack_value_fields): Do not stream TS_TARGET_OPTION. |
| (lto_input_ts_function_decl_tree_pointers): Do not stream |
| DECL_FUNCTION_SPECIFIC_TARGET. |
| |
| 2014-02-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice. |
| (get_initial_def_for_induction, vectorizable_induction): Ignore |
| debug stmts when looking for exit_phi. |
| (vectorizable_live_operation): Fix up condition. |
| |
| 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use |
| nreverse() because it changes the content of original tree list. |
| |
| 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment. |
| * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise. |
| |
| 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_naked_function_p): Follow the |
| GNU coding standards. |
| |
| 2014-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/60152 |
| * dwarf2out.c (gen_subprogram_die): Don't call |
| add_calling_convention_attribute if subr_die is old_die. |
| |
| 2014-02-13 Sharad Singhai <singhai@google.com> |
| |
| * doc/optinfo.texi: Fix order of nodes. |
| |
| 2014-02-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in |
| operands[2], not operands[3]. |
| |
| 2014-02-13 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/59878 |
| * doc/install.texi (ISL): Update recommended version to 0.12.2, |
| mention the possibility of an in-tree build. |
| (CLooG): Update recommended version to 0.18.1, mention the |
| possibility of an in-tree build and clarify that the ISL |
| bundled with CLooG does not work. |
| |
| 2014-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/43546 |
| * expr.c (compress_float_constant): If x is a hard register, |
| extend into a pseudo and then move to x. |
| |
| 2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_asm_output_function_label): Fix crash |
| caused by bad second argument to warning_at() with -mhotpatch and |
| nested functions (e.g. with gfortran). |
| |
| 2014-02-13 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * opts.c (option_name): Remove "enabled by default" rider. |
| |
| 2014-02-12 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_option_override): Remove auto increment FIXME. |
| |
| 2014-02-12 H.J. Lu <hongjiu.lu@intel.com> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/60151 |
| * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler. |
| * configure: Regenerated. |
| |
| 2014-02-12 Richard Biener <rguenther@suse.de> |
| |
| * vec.c (vec_prefix::calculate_allocation): Move as |
| inline variant to vec.h. |
| (vec_prefix::calculate_allocation_1): New out-of-line version. |
| * vec.h (vec_prefix::calculate_allocation_1): Declare. |
| (vec_prefix::m_has_auto_buf): Rename to ... |
| (vec_prefix::m_using_auto_storage): ... this. |
| (vec_prefix::calculate_allocation): Inline the easy cases |
| and dispatch to calculate_allocation_1 which doesn't need the |
| prefix address. |
| (va_heap::reserve): Use gcc_checking_assert. |
| (vec<T, A, vl_embed>::embedded_init): Add argument to initialize |
| m_using_auto_storage. |
| (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed> |
| member and adjust. |
| (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check. |
| (vec<T, va_heap, vl_ptr>::release): Avoid casting. |
| (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify. |
| |
| 2014-02-12 Richard Biener <rguenther@suse.de> |
| |
| * gcse.c (compute_transp): break from loop over canon_modify_mem_list |
| when we found a dependence. |
| |
| 2014-02-12 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move |
| common code... |
| (maybe_fold_stmt): ... into this new function. |
| * omp-low.c (lower_omp): Update comment. |
| |
| * omp-low.c (lower_omp_target): Add clobber for sizes array, after |
| last use. |
| |
| * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to |
| dereference. |
| |
| 2014-02-12 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix |
| identifiers in comments. |
| (cortexa53_extra_costs): Likewise. |
| * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments. |
| (cortexa7_extra_costs): Likewise. |
| (cortexa12_extra_costs): Likewise. |
| (cortexa15_extra_costs): Likewise. |
| (v7m_extra_costs): Likewise. |
| |
| 2014-02-12 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60092 |
| * gimple-low.c (lower_builtin_posix_memalign): Lower conditional |
| of posix_memalign being successful. |
| (lower_stmt): Restrict lowering of posix_memalign to when |
| -ftree-bit-ccp is enabled. |
| |
| 2014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for |
| arg_loc. |
| * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise. |
| |
| 2014-02-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/60116 |
| * combine.c (try_combine): Also remove dangling REG_DEAD notes on the |
| other_insn once the combination has been validated. |
| |
| 2014-02-11 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/59468 |
| * ipa-utils.h (possible_polymorphic_call_targets): Update prototype |
| and wrapper. |
| * ipa-devirt.c: Include demangle.h |
| (odr_violation_reported): New static variable. |
| (add_type_duplicate): Update odr_violations. |
| (maybe_record_node): Add completep parameter; update it. |
| (record_target_from_binfo): Add COMPLETEP parameter; |
| update it as needed. |
| (possible_polymorphic_call_targets_1): Likewise. |
| (struct polymorphic_call_target_d): Add nonconstruction_targets; |
| rename FINAL to COMPLETE. |
| (record_targets_from_bases): Sanity check we found the binfo; |
| fix COMPLETEP updating. |
| (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP |
| parameter, fix computing of COMPLETEP. |
| (dump_possible_polymorphic_call_targets): Imrove readability of dump; |
| at LTO time do demangling. |
| (ipa_devirt): Use nonconstruction_targets; Improve dumps. |
| * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer |
| parameter. |
| (gimple_get_virt_method_for_binfo): Likewise. |
| * gimple-fold.h (gimple_get_virt_method_for_binfo, |
| gimple_get_virt_method_for_vtable): Update prototypes. |
| |
| 2014-02-11 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/49008 |
| * genautomata.c (add_presence_absence): Fix typo with |
| {final_}presence_list. |
| |
| 2014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/60137 |
| * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter |
| for VSX/Altivec vectors that land in GPR registers. |
| |
| 2014-02-11 Richard Henderson <rth@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/59776 |
| * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR |
| around drhs if type conversion to lacc->type is not useless. |
| |
| 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57 |
| tuning struct. |
| (cortex-a57.cortex-a53): Likewise. |
| * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct. |
| |
| 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for |
| arm_restrict_it. |
| |
| 2014-02-11 Renlin Li <Renlin.Li@arm.com> |
| |
| * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and |
| add_options_for_arm_vfp3. |
| |
| 2014-02-11 Jeff Law <law@redhat.com> |
| |
| PR middle-end/54041 |
| * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an |
| object with an undesirable mode. |
| |
| 2014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR libgomp/60107 |
| * config/i386/sol2-9.h: New file. |
| * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*, |
| *-*-solaris2.9*): Use it. |
| |
| 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com> |
| |
| * config/microblaze/microblaze.md: Add movsi4_rev insn pattern. |
| * config/microblaze/predicates.md: Add reg_or_mem_operand predicate. |
| |
| 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com> |
| |
| * config/microblaze/microblaze.c: Extend mcpu version format |
| |
| 2014-02-10 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE. |
| |
| 2014-02-10 Richard Henderson <rth@redhat.com> |
| |
| PR target/59927 |
| * calls.c (expand_call): Don't double-push for reg_parm_stack_space. |
| * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit |
| ms-abi vs -mno-accumulate-outgoing-args. |
| (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p. |
| * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with |
| respect to ms-abi. |
| |
| 2014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR middle-end/60080 |
| * cfgexpand.c (expand_asm_operands): Attach source location to |
| ASM_INPUT rtx objects. |
| * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION. |
| |
| 2014-02-10 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300.c (popcount): New function. |
| (mn10300_expand_prologue): Include saved registers in stack usage |
| count. |
| |
| 2014-02-10 Jeff Law <law@redhat.com> |
| |
| PR middle-end/52306 |
| * reload1.c (emit_input_reload_insns): Do not create invalid RTL |
| when changing the SET_DEST of a prior insn to avoid an input reload. |
| |
| 2014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce |
| big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd, |
| -mcall-openbsd, or -mcall-linux. |
| (CC1_ENDIAN_BIG_SPEC): Remove. |
| (CC1_ENDIAN_LITTLE_SPEC): Remove. |
| (CC1_ENDIAN_DEFAULT_SPEC): Remove. |
| (CC1_SPEC): Remove (always empty) %cc1_endian_... spec. |
| (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little, |
| and %cc1_endian_default. |
| * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove. |
| |
| 2014-02-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60115 |
| * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and |
| MEM_REF handling. Properly verify that the accesses are not |
| out of the objects bound. |
| |
| 2014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from |
| coretex to cortex. |
| |
| 2014-02-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return |
| proper constants and fix formatting. |
| (possible_polymorphic_call_targets): Fix formatting. |
| |
| 2014-02-10 Kirill Yukhin <kirill.yukhin@intel.com> |
| Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed. |
| (_mm512_loadu_epi32): Renamed into... |
| (_mm512_loadu_si512): This. |
| (_mm512_storeu_epi32): Renamed into... |
| (_mm512_storeu_si512): This. |
| (_mm512_maskz_ceil_ps): Removed. |
| (_mm512_maskz_ceil_pd): Ditto. |
| (_mm512_maskz_floor_ps): Ditto. |
| (_mm512_maskz_floor_pd): Ditto. |
| (_mm512_floor_round_ps): Ditto. |
| (_mm512_floor_round_pd): Ditto. |
| (_mm512_ceil_round_ps): Ditto. |
| (_mm512_ceil_round_pd): Ditto. |
| (_mm512_mask_floor_round_ps): Ditto. |
| (_mm512_mask_floor_round_pd): Ditto. |
| (_mm512_mask_ceil_round_ps): Ditto. |
| (_mm512_mask_ceil_round_pd): Ditto. |
| (_mm512_maskz_floor_round_ps): Ditto. |
| (_mm512_maskz_floor_round_pd): Ditto. |
| (_mm512_maskz_ceil_round_ps): Ditto. |
| (_mm512_maskz_ceil_round_pd): Ditto. |
| (_mm512_expand_pd): Ditto. |
| (_mm512_expand_ps): Ditto. |
| * config/i386/i386.c (ix86_builtins): Remove |
| IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK. |
| (bdesc_args): Ditto. |
| * config/i386/predicates.md (const1256_operand): New. |
| (const_1_to_2_operand): Ditto. |
| * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value. |
| (*avx512pf_gatherpf<mode>sf_mask): Ditto. |
| (*avx512pf_gatherpf<mode>sf): Ditto. |
| (avx512pf_gatherpf<mode>df): Ditto. |
| (*avx512pf_gatherpf<mode>df_mask): Ditto. |
| (*avx512pf_gatherpf<mode>df): Ditto. |
| (avx512pf_scatterpf<mode>sf): Ditto. |
| (*avx512pf_scatterpf<mode>sf_mask): Ditto. |
| (*avx512pf_scatterpf<mode>sf): Ditto. |
| (avx512pf_scatterpf<mode>df): Ditto. |
| (*avx512pf_scatterpf<mode>df_mask): Ditto. |
| (*avx512pf_scatterpf<mode>df): Ditto. |
| (avx512f_expand<mode>): Removed. |
| (<shift_insn><mode>3<mask_name>): Change predicate type. |
| |
| 2014-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers |
| not at the end of datarefs vector use ordered_remove to avoid |
| reordering datarefs vector. |
| |
| PR c/59984 |
| * gimplify.c (gimplify_bind_expr): In ORT_SIMD region |
| mark local addressable non-static vars as GOVD_PRIVATE |
| instead of GOVD_LOCAL. |
| * omp-low.c (lower_omp_for): Move gimple_bind_vars |
| and BLOCK_VARS of gimple_bind_block to new_stmt rather |
| than copying them. |
| |
| PR middle-end/60092 |
| * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true |
| if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain |
| assume_aligned or alloc_align attributes. |
| (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN |
| arguments. Handle also assume_aligned and alloc_align attributes. |
| (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle |
| calls to functions with assume_aligned or alloc_align attributes. |
| * doc/extend.texi: Document assume_aligned and alloc_align attributes. |
| |
| 2014-02-08 Terry Guo <terry.guo@arm.com> |
| |
| * doc/invoke.texi: Document ARM -march=armv7e-m. |
| |
| 2014-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW |
| flag on __cilkrts_rethrow builtin. |
| |
| PR ipa/60026 |
| * ipa-cp.c (determine_versionability): Fail at -O0 |
| or __attribute__((optimize (0))) or -fno-ipa-cp functions. |
| * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly. |
| |
| Revert: |
| 2014-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/60026 |
| * tree-inline.c (copy_forbidden): Fail for |
| __attribute__((optimize (0))) functions. |
| |
| 2014-02-07 Jan Hubicka <hubicka@ucw.cz> |
| |
| * varpool.c: Include pointer-set.h. |
| (varpool_remove_unreferenced_decls): Variables in other partitions |
| will not be output; be however careful to not lose information |
| about partitioning. |
| |
| 2014-02-07 Jan Hubicka <hubicka@ucw.cz> |
| |
| * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1) |
| lookup in the vtable constructor. |
| |
| 2014-02-07 Jeff Law <law@redhat.com> |
| |
| PR target/40977 |
| * config/m68k/m68k.md (ashldi_extsi): Turn into a |
| define_insn_and_split. |
| |
| * ipa-inline.c (inline_small_functions): Fix typos. |
| |
| 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
| |
| * config/s390/s390-protos.h (s390_can_use_simple_return_insn) |
| (s390_can_use_return_insn): Declare. |
| * config/s390/s390.h (EPILOGUE_USES): Define. |
| * config/s390/s390.c (s390_mainpool_start): Allow two main_pool |
| instructions. |
| (s390_chunkify_start): Handle return JUMP_LABELs. |
| (s390_early_mach): Emit a main_pool instruction on the entry edge. |
| (s300_set_up_by_prologue, s390_can_use_simple_return_insn) |
| (s390_can_use_return_insn): New functions. |
| (s390_fix_long_loop_prediction): Handle conditional returns. |
| (TARGET_SET_UP_BY_PROLOGUE): Define. |
| * config/s390/s390.md (ANY_RETURN): New code iterator. |
| (*creturn, *csimple_return, return, simple_return): New patterns. |
| |
| 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE |
| notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15. |
| (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the |
| REG_CFA_RESTORE list when deciding not to restore a register. |
| |
| 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c: Include tree-pass.h and context.h. |
| (s390_early_mach): New function, split out from... |
| (s390_emit_prologue): ...here. |
| (pass_data_s390_early_mach): New pass structure. |
| (pass_s390_early_mach): New class. |
| (s390_option_override): Create and register early_mach pass. |
| Move to end of file. |
| |
| 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
| |
| * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts |
| to match for the exit block. |
| |
| 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>") |
| ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"): |
| Reject misaligned operands. |
| |
| 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail. |
| |
| 2014-02-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60092 |
| * gimple-low.c (lower_builtin_posix_memalign): New function. |
| (lower_stmt): Call it to lower posix_memalign in a way |
| to make alignment info accessible. |
| |
| 2014-02-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/60082 |
| * tree.c (build_common_builtin_nodes): Set ECF_LEAF for |
| __builtin_setjmp_receiver. |
| |
| 2014-02-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/60092 |
| * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add. |
| * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise. |
| * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): |
| Handle BUILT_IN_POSIX_MEMALIGN. |
| (find_func_clobbers): Likewise. |
| * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise. |
| (call_may_clobber_ref_p_1): Likewise. |
| |
| 2014-02-06 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59918 |
| * ipa-devirt.c (record_target_from_binfo): Remove overactive |
| sanity check. |
| |
| 2014-02-06 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59469 |
| * lto-cgraph.c (lto_output_node): Use |
| symtab_get_symbol_partitioning_class. |
| (lto_output_varpool_node): likewise. |
| (symtab_get_symbol_partitioning_class): Move here from |
| lto/lto-partition.c |
| * cgraph.h (symbol_partitioning_class): Likewise. |
| (symtab_get_symbol_partitioning_class): Declare. |
| |
| 2014-02-06 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ggc.h (ggc_internal_cleared_alloc): New macro. |
| * vec.h (vec_safe_copy): Handle memory stats. |
| * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc. |
| * target-globals.c (save_target_globals): Likewise. |
| |
| 2014-02-06 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR target/60077 |
| * expr.c (emit_move_resolve_push): Export; be bit more selective |
| on when to clear alias set. |
| * expr.h (emit_move_resolve_push): Declare. |
| * function.h (struct function): Add tail_call_marked. |
| * tree-tailcall.c (optimize_tail_call): Set tail_call_marked. |
| * config/i386/i386-protos.h (ix86_expand_push): Remove. |
| * config/i386/i386.md (TImode move expander): De not call |
| ix86_expand_push. |
| (FP push expanders): Preserve memory attributes. |
| * config/i386/sse.md (push<mode>1): Remove. |
| * config/i386/i386.c (ix86_expand_vector_move): Handle push operation. |
| (ix86_expand_push): Remove. |
| * config/i386/mmx.md (push<mode>1): Remove. |
| |
| 2014-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/60030 |
| * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround |
| lopart with paradoxical subreg before shifting it up by hprec. |
| |
| 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table. |
| Remove extra newline at end of file. |
| * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct. |
| (arm_issue_rate): Handle cortexa57. |
| * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning. |
| (cortex-a57.cortex-a53): Likewise. |
| |
| 2014-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59575 |
| * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument, |
| don't record in REG_FRAME_RELATED_EXPR registers not set in that |
| bitmask. |
| (arm_expand_prologue): Adjust all callers. |
| (arm_unwind_emit_sequence): Allow saved, but not important for unwind |
| info, registers also at the lowest numbered registers side. Use |
| gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of |
| XEXP. |
| |
| PR debug/59992 |
| * var-tracking.c (adjust_mems): Before adding a SET to |
| amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx. |
| |
| 2014-02-06 Alan Modra <amodra@gmail.com> |
| |
| PR target/60032 |
| * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only |
| change SDmode to DDmode when lra_in_progress. |
| |
| 2014-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/59150 |
| * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call |
| free_data_ref on the dr first, and before goto again also set dr |
| to the next dr. For simd_lane_access, free old datarefs[i] before |
| overwriting it. For get_vectype_for_scalar_type failure, don't |
| free_data_ref if simd_lane_access. |
| |
| * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER). |
| |
| PR target/60062 |
| * tree.h (opts_for_fn): New inline function. |
| (opt_for_fn): Define. |
| * config/i386/i386.c (ix86_function_regparm): Use |
| opt_for_fn (decl, optimize) instead of optimize. |
| |
| 2014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic |
| for SYMBOL_REF in large memory model. |
| |
| 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32 |
| and crypto support. |
| (cortex-a57): Likewise. |
| (cortex-a57.cortex-a53): Likewise. |
| |
| 2014-02-06 Yury Gribov <y.gribov@samsung.com> |
| Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| * config/arm/arm.c (arm_vector_alignment_reachable): Check |
| unaligned_access. |
| * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise. |
| |
| 2014-02-06 Richard Biener <rguenther@suse.de> |
| |
| * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of |
| set_loop_copy and initialize_original_copy_tables. |
| |
| 2014-02-06 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd.md |
| (aarch64_ashr_simddi): Change QI to SI. |
| |
| 2014-02-05 Jan Hubicka <hubicka@ucw.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/60013 |
| * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity |
| of the dataflow. |
| |
| 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change |
| CODE_FOR_altivec_vpku[hw]um to |
| CODE_FOR_altivec_vpku[hw]um_direct. |
| * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change |
| UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT. |
| (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to |
| UNSPEC_VUNPACK_LO_SIGN_DIRECT. |
| |
| 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code |
| generation for -maltivec=be. |
| (altivec_vsumsws): Simplify redundant test. |
| |
| 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec. |
| (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise. |
| (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise. |
| (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of |
| gen_altivec_vpkuwum. |
| (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for |
| BYTES_BIG_ENDIAN. |
| (altivec_vpks<VI_char>ss): Likewise. |
| (altivec_vpks<VI_char>us): Likewise. |
| (altivec_vpku<VI_char>us): Likewise. |
| (altivec_vpku<VI_char>um): Likewise. |
| (altivec_vpku<VI_char>um_direct): New (copy of |
| altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for |
| internal use). |
| (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when |
| target is little endian and -maltivec=be is not specified. |
| (*altivec_vupkhs<VU_char>_direct): New (copy of |
| altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use). |
| (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when |
| target is little endian and -maltivec=be is not specified. |
| (*altivec_vupkls<VU_char>_direct): New (copy of |
| altivec_vupkls<VU_char> that always emits vupkls*, for internal use). |
| (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is |
| little endian and -maltivec=be is not specified. |
| (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is |
| little endian and -maltivec=be is not specified. |
| |
| 2014-02-05 Richard Henderson <rth@redhat.com> |
| |
| PR debug/52727 |
| * combine-stack-adj.c: Revert r206943. |
| * sched-int.h (struct deps_desc): Add last_args_size. |
| * sched-deps.c (init_deps): Initialize it. |
| (sched_analyze_insn): Add OUTPUT dependencies between insns that |
| contain REG_ARGS_SIZE notes. |
| |
| 2014-02-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| * lto-cgraph.c (asm_nodes_output): Make global. |
| * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA. |
| * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter |
| (driver_handle_option): Handle OPT_fwpa. |
| |
| 2014-02-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/59947 |
| * ipa-devirt.c (possible_polymorphic_call_targets): Fix |
| a comment typo and formatting issue. If odr_hash hasn't been |
| created, return vNULL and set *completep to false. |
| |
| PR middle-end/57499 |
| * tree-eh.c (cleanup_empty_eh): Bail out on totally empty |
| bb with no successors. |
| |
| 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR target/59718 |
| * doc/invoke.texi (-march): Clarify documentation for ARM. |
| (-mtune): Likewise. |
| (-mcpu): Likewise. |
| |
| 2014-02-05 Richard Biener <rguenther@suse.de> |
| |
| * tree-vect-loop.c (vect_analyze_loop_2): Be more informative |
| when not vectorizing because of too many alias checks. |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION. |
| |
| 2014-02-05 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not |
| accept extended registers in any mode when compiling for the MN10300. |
| |
| 2014-02-05 Yury Gribov <y.gribov@samsung.com> |
| |
| * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code. |
| * ipa-inline.c (report_inline_failed_reason): Handle mismatched |
| sanitization attributes. |
| (can_inline_edge_p): Likewise. |
| (sanitize_attrs_match_for_inline_p): New function. |
| |
| 2014-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-prop.c (detect_type_change): Shor circuit testing of |
| type changes on THIS pointer. |
| |
| 2014-02-04 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/59777 |
| * config/pa/pa.c (legitimize_tls_address): Return original address |
| if not passed a SYMBOL_REF rtx. |
| (hppa_legitimize_address): Call legitimize_tls_address for all TLS |
| addresses. |
| (pa_emit_move_sequence): Simplify TLS source operands. |
| (pa_legitimate_constant_p): Reject all TLS constants. |
| * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment. |
| (CONSTANT_ADDRESS_P): Reject TLS CONST addresses. |
| |
| 2014-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY |
| groups when we know they are controlled by LTO. |
| * varasm.c (default_binds_local_p_1): If object is in other partition, |
| it will be resolved locally. |
| |
| 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * config/host-linux.c (linux_gt_pch_use_address): Don't |
| use SSIZE_MAX because it is not always defined. |
| |
| 2014-02-04 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR bootstrap/59913 |
| * lra-constraints.c (need_for_split_p): Use more 3 reloads as |
| threshold for pseudo splitting. |
| (update_ebb_live_info): Process call argument hard registers and |
| hard registers from insn definition too. |
| (max_small_class_regs_num): New constant. |
| (inherit_in_ebb): Update live hard regs through EBBs. Update |
| reloads_num only for small register classes. Don't split for |
| outputs of jumps. |
| |
| 2014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| PR ipa/60058 |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target |
| is non-null. |
| |
| 2014-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| * gimple-fold.c (can_refer_decl_in_current_unit_p): Default |
| visibility is safe. |
| |
| 2014-02-04 Marek Polacek <polacek@redhat.com> |
| |
| * gdbinit.in (pel): Define. |
| |
| 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current |
| behavior. |
| |
| 2014-02-04 Richard Biener <rguenther@suse.de> |
| |
| PR lto/59723 |
| * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs |
| in function context local. |
| (lto_output_tree_ref): Do not write trees from lto_output_tree_ref. |
| * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref |
| similar to LTO_imported_decl_ref. |
| |
| 2014-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/60002 |
| * cgraphclones.c (build_function_decl_skip_args): Clear |
| DECL_LANG_SPECIFIC. |
| |
| PR tree-optimization/60023 |
| * tree-if-conv.c (predicate_mem_writes): Pass true instead of |
| false to gsi_replace. |
| * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt |
| has been in some EH region and vec_stmt could throw, add |
| vec_stmt into the same EH region. |
| * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD |
| has no lhs, ignore it. |
| * internal-fn.c (expand_MASK_LOAD): Likewise. |
| |
| PR ipa/60026 |
| * tree-inline.c (copy_forbidden): Fail for |
| __attribute__((optimize (0))) functions. |
| |
| PR other/58712 |
| * omp-low.c (simd_clone_struct_copy): If from->inbranch |
| is set, copy one less argument. |
| (expand_simd_clones): Don't subtract clone_info->inbranch |
| from simd_clone_struct_alloc argument. |
| |
| PR rtl-optimization/57915 |
| * recog.c (simplify_while_replacing): If all unary/binary/relational |
| operation arguments are constant, attempt to simplify those. |
| |
| PR middle-end/59261 |
| * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication |
| if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth. |
| |
| 2014-02-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/60012 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply |
| TBAA disambiguation to all DDRs. |
| |
| 2014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/59788 |
| * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define. |
| (LINK_SPEC): Use it for -shared, -shared-libgcc. |
| |
| 2014-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59882 |
| * tree.c (get_binfo_at_offset): Do not get confused by empty classes; |
| |
| 2014-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove. |
| * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove. |
| |
| 2014-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59831 |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt |
| to figure out targets of polymorphic calls with known decl. |
| * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. |
| * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare. |
| * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ... |
| (get_polymorphic_call_info): ... here. |
| (get_polymorphic_call_info_from_invariant): New function. |
| |
| 2014-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct |
| lookup via vtable pointer; check for type consistency |
| and turn inconsitent facts into UNREACHABLE. |
| * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. |
| * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on |
| type inconsistent querries; return UNREACHABLE instead. |
| |
| 2014-02-03 Richard Henderson <rth@twiddle.net> |
| |
| PR tree-opt/59924 |
| * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've |
| already processed this node. |
| (normalize_one_pred_1): Pass along mark_set. |
| (normalize_one_pred): Create and destroy a pointer_set_t. |
| (normalize_one_pred_chain): Likewise. |
| |
| 2014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com> |
| |
| PR gcov-profile/58602 |
| * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0. |
| |
| 2014-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59831 |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on |
| -fno-devirtualize; try to devirtualize by the knowledge of |
| virtual table pointer given by aggregate propagation. |
| * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. |
| (ipa_print_node_jump_functions): Dump also offset that |
| is relevant for polymorphic calls. |
| (determine_known_aggregate_parts): Add arg_type parameter; use it |
| instead of determining the type from pointer type. |
| (ipa_compute_jump_functions_for_edge): Update call of |
| determine_known_aggregate_parts. |
| * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ... |
| (gimple_get_virt_method_for_binfo): ... here; simplify using |
| vtable_pointer_value_to_vtable. |
| * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare. |
| * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter |
| to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable. |
| (vtable_pointer_value_to_vtable): Break out from ...; handle also |
| POINTER_PLUS_EXPR. |
| (vtable_pointer_value_to_binfo): ... here. |
| * ipa-utils.h (vtable_pointer_value_to_vtable): Declare. |
| |
| 2014-02-03 Teresa Johnson <tejohnson@google.com> |
| |
| * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid |
| redef of outer loop index variable. |
| |
| 2014-02-03 Marc Glisse <marc.glisse@inria.fr> |
| |
| PR c++/53017 |
| PR c++/59211 |
| * doc/extend.texi (Function Attributes): Typo. |
| |
| 2014-02-03 Cong Hou <congh@google.com> |
| |
| PR tree-optimization/60000 |
| * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL |
| if the vectorized statement is a store. A store statement can only |
| appear at the end of pattern statements. |
| |
| 2014-02-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (flag_opts): Add -mlong-double-128. |
| (ix86_option_override_internal): Default long double to 64-bit for |
| 32-bit Bionic and to 128-bit for 64-bit Bionic. |
| |
| * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if |
| TARGET_LONG_DOUBLE_128 is true. |
| (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise. |
| |
| * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64. |
| (mlong-double-64): Negate -mlong-double-128. |
| (mlong-double-128): New option. |
| |
| * config/i386/i386-c.c (ix86_target_macros): Define |
| __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128. |
| |
| * doc/invoke.texi: Document -mlong-double-128. |
| |
| 2014-02-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR rtl-optimization/60024 |
| * sel-sched.c (init_regs_for_mode): Check if mode is OK first. |
| |
| 2014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * doc/invoke.texi (fprofile-reorder-functions): Fix typo. |
| |
| 2014-02-03 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/57662 |
| * sel-sched.c (code_motion_path_driver): Do not mark already not |
| existing blocks in the visiting bitmap. |
| |
| 2014-02-03 Andrey Belevantsev <abel@ispras.ru> |
| |
| * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P |
| on the insn being emitted. |
| |
| 2014-02-03 James Greenhalgh <james.greenhalgh@arm.com> |
| Will Deacon <will.deacon@arm.com> |
| |
| * doc/gimple.texi (gimple_asm_clear_volatile): Remove. |
| |
| 2014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm-tables.opt: Regenerate. |
| |
| 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize |
| for vector types other than V16QImode. |
| * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a |
| define_expand, and call altivec_expand_vec_perm_le when producing |
| code with little endian element order. |
| (*altivec_vperm_<mode>_internal): New insn having previous |
| behavior of altivec_vperm_<mode>. |
| (altivec_vperm_<mode>_uns): Change to a define_expand, and call |
| altivec_expand_vec_perm_le when producing code with little endian |
| element order. |
| (*altivec_vperm_<mode>_uns_internal): New insn having previous |
| behavior of altivec_vperm_<mode>_uns. |
| |
| 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec. |
| (altivec_vsumsws): Add handling for -maltivec=be with a little |
| endian target. |
| (altivec_vsumsws_direct): New. |
| (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of |
| gen_altivec_vsumsws. |
| |
| 2014-02-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-devirt.c (subbinfo_with_vtable_at_offset, |
| vtable_pointer_value_to_binfo): New functions. |
| * ipa-utils.h (vtable_pointer_value_to_binfo): Declare. |
| * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it. |
| |
| 2014-02-02 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * config/nios2/nios2.md (load_got_register): Initialize GOT |
| pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_. |
| * config/nios2/nios2.c (nios2_function_profiler): Likewise. |
| |
| 2014-02-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-prop.c (update_jump_functions_after_inlining): When type is not |
| preserverd by passthrough, do not propagate the type. |
| |
| 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros. |
| (mips_atomic_assign_expand_fenv): New function. |
| (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define. |
| |
| 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * doc/extend.texi (__builtin_mips_get_fcsr): Document. |
| (__builtin_mips_set_fcsr): Likewise. |
| * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and |
| MIPS_USI_FTYPE_VOID. |
| * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare |
| (mips16_expand_set_fcsr): Likewise. |
| * config/mips/mips.c (mips16_get_fcsr_stub): New variable. |
| (mips16_set_fcsr_stub): Likewise. |
| (mips16_get_fcsr_one_only_stub): New class. |
| (mips16_set_fcsr_one_only_stub): Likewise. |
| (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions. |
| (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed. |
| (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros. |
| (hard_float): New availability predicate. |
| (mips_builtins): Add get_fcsr and set_fcsr. |
| (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16. |
| * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs. |
| (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants. |
| (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>) |
| (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New |
| patterns. |
| |
| 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_one_only_stub): New class. |
| (mips_need_mips16_rdhwr_p): Replace with... |
| (mips16_rdhwr_stub): ...this new variable. |
| (mips16_stub_call_address): New function. |
| (mips16_rdhwr_one_only_stub): New class. |
| (mips_expand_thread_pointer): Use mips16_stub_call_address. |
| (mips_output_mips16_rdhwr): Delete. |
| (mips_finish_stub): New function. |
| (mips_code_end): Use it to handle rdhwr stubs. |
| |
| 2014-02-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/60017 |
| * config/i386/i386.c (classify_argument): Fix handling of bit_offset |
| when calculating size of integer atomic types. |
| |
| 2014-02-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments. |
| |
| 2014-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/60003 |
| * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label. |
| * profile.c (branch_prob): Use gimple_call_builtin_p |
| to check for BUILT_IN_SETJMP_RECEIVER. |
| * tree-inline.c (copy_bb): Call notice_special_calls. |
| |
| 2014-01-31 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR bootstrap/59985 |
| * lra-constraints.c (process_alt_operands): Update reload_sum only |
| on the first pass. |
| |
| 2014-01-31 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/60004 |
| * tree-eh.c (lower_try_finally_switch): Delay lowering finally block |
| until after else_eh is processed. |
| |
| 2014-01-31 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT), |
| (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF), |
| (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined |
| in smmintrin.h, remove them. |
| (_MM_FROUND_NO_EXC): Same as above, bit also wrong value. |
| * config/i386/i386.c (ix86_print_operand): Split sae and rounding. |
| * config/i386/i386.md (ROUND_SAE): Fix value. |
| * config/i386/predicates.md (const_4_or_8_to_11_operand): New. |
| (const48_operand): New. |
| * config/i386/subst.md (round), (round_expand): Use |
| const_4_or_8_to_11_operand. |
| (round_saeonly), (round_saeonly_expand): Use const48_operand. |
| |
| 2014-01-31 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/constraints.md (Yk): Swap meaning with k. |
| * config/i386/i386.md (movhi_internal): Change Yk to k. |
| (movqi_internal): Ditto. |
| (*k<logic><mode>): Ditto. |
| (*andhi_1): Ditto. |
| (*andqi_1): Ditto. |
| (kandn<mode>): Ditto. |
| (*<code>hi_1): Ditto. |
| (*<code>qi_1): Ditto. |
| (kxnor<mode>): Ditto. |
| (kortestzhi): Ditto. |
| (kortestchi): Ditto. |
| (kunpckhi): Ditto. |
| (*one_cmplhi2_1): Ditto. |
| (*one_cmplqi2_1): Ditto. |
| * config/i386/sse.md (): Change k to Yk. |
| (avx512f_load<mode>_mask): Ditto. |
| (avx512f_blendm<mode>): Ditto. |
| (avx512f_store<mode>_mask): Ditto. |
| (avx512f_storeu<ssemodesuffix>512_mask): Ditto. |
| (avx512f_storedqu<mode>_mask): Ditto. |
| (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>): |
| Ditto. |
| (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto. |
| (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto. |
| (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto. |
| (avx512f_maskcmp<mode>3): Ditto. |
| (avx512f_fmadd_<mode>_mask<round_name>): Ditto. |
| (avx512f_fmadd_<mode>_mask3<round_name>): Ditto. |
| (avx512f_fmsub_<mode>_mask<round_name>): Ditto. |
| (avx512f_fmsub_<mode>_mask3<round_name>): Ditto. |
| (avx512f_fnmadd_<mode>_mask<round_name>): Ditto. |
| (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto. |
| (avx512f_fnmsub_<mode>_mask<round_name>): Ditto. |
| (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto. |
| (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto. |
| (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto. |
| (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto. |
| (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto. |
| (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto. |
| (vec_extract_lo_<mode>_maskm): Ditto. |
| (vec_extract_hi_<mode>_maskm): Ditto. |
| (avx512f_vternlog<mode>_mask): Ditto. |
| (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto. |
| (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto. |
| (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto. |
| (avx512f_<code>v8div16qi2_mask): Ditto. |
| (avx512f_<code>v8div16qi2_mask_store): Ditto. |
| (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto. |
| (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto. |
| (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto. |
| (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto. |
| (*avx512pf_gatherpf<mode>sf_mask): Ditto. |
| (*avx512pf_gatherpf<mode>df_mask): Ditto. |
| (*avx512pf_scatterpf<mode>sf_mask): Ditto. |
| (*avx512pf_scatterpf<mode>df_mask): Ditto. |
| (avx512cd_maskb_vec_dupv8di): Ditto. |
| (avx512cd_maskw_vec_dupv16si): Ditto. |
| (avx512f_vpermi2var<mode>3_maskz): Ditto. |
| (avx512f_vpermi2var<mode>3_mask): Ditto. |
| (avx512f_vpermi2var<mode>3_mask): Ditto. |
| (avx512f_vpermt2var<mode>3_maskz): Ditto. |
| (*avx512f_gathersi<mode>): Ditto. |
| (*avx512f_gathersi<mode>_2): Ditto. |
| (*avx512f_gatherdi<mode>): Ditto. |
| (*avx512f_gatherdi<mode>_2): Ditto. |
| (*avx512f_scattersi<mode>): Ditto. |
| (*avx512f_scatterdi<mode>): Ditto. |
| (avx512f_compress<mode>_mask): Ditto. |
| (avx512f_compressstore<mode>_mask): Ditto. |
| (avx512f_expand<mode>_mask): Ditto. |
| * config/i386/subst.md (mask): Change k to Yk. |
| (mask_scalar_merge): Ditto. |
| (sd): Ditto. |
| |
| 2014-01-31 Marc Glisse <marc.glisse@inria.fr> |
| |
| * doc/extend.texi (Vector Extensions): Document ?: in C++. |
| |
| 2014-01-31 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/59990 |
| * builtins.c (fold_builtin_memory_op): Make sure to not |
| use a floating-point mode or a boolean or enumeral type for |
| the copy operation. |
| |
| 2014-01-30 DJ Delorie <dj@redhat.com> |
| |
| * config/msp430/msp430.h (LIB_SPEC): Add -lcrt |
| * config/msp430/msp430.md (msp430_refsym_need_exit): New. |
| * config/msp430/msp430.c (msp430_expand_epilogue): Call it |
| whenever main() has an epilogue. |
| |
| 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove |
| unused variable "field". |
| * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE. |
| (vsx_mergeh_<mode>): Likewise. |
| * config/rs6000/altivec.md (altivec_vmrghb): Likewise. |
| (altivec_vmrghh): Likewise. |
| (altivec_vmrghw): Likewise. |
| (altivec_vmrglb): Likewise. |
| (altivec_vmrglh): Likewise. |
| (altivec_vmrglw): Likewise. |
| (altivec_vspltb): Add missing uses. |
| (altivec_vsplth): Likewise. |
| (altivec_vspltw): Likewise. |
| (altivec_vspltsf): Likewise. |
| |
| 2014-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59923 |
| * ifcvt.c (cond_exec_process_insns): Don't conditionalize |
| frame related instructions. |
| |
| 2014-01-30 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59959 |
| * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to |
| any reload of register whose subreg is invalid. |
| |
| 2014-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning. |
| * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32): |
| Add missing return type - void. |
| |
| 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use |
| gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf; |
| remove element index adjustment for endian (now handled in vsx.md |
| and altivec.md). |
| (altivec_expand_vec_perm_const): Use |
| gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw]. |
| * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec. |
| (vsx_xxspltw_<mode>): Adjust element index for little endian. |
| * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a |
| define_expand and a new define_insn *altivec_vspltb_internal; |
| adjust for -maltivec=be on a little endian target. |
| (altivec_vspltb_direct): New. |
| (altivec_vsplth): Divide into a define_expand and a new |
| define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a |
| little endian target. |
| (altivec_vsplth_direct): New. |
| (altivec_vspltw): Divide into a define_expand and a new |
| define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a |
| little endian target. |
| (altivec_vspltw_direct): New. |
| (altivec_vspltsf): Divide into a define_expand and a new |
| define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on |
| a little endian target. |
| |
| 2014-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59993 |
| * tree-ssa-forwprop.c (associate_pointerplus): Check we |
| can propagate form the earlier stmt and avoid the transform |
| when the intermediate result is needed. |
| |
| 2014-01-30 Alangi Derick <alangiderick@gmail.com> |
| |
| * README.Portability: Fix typo. |
| |
| 2014-01-30 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace |
| comparison_operator with ordered_comparison_operator. |
| |
| 2014-01-30 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p): |
| Rename to mn10300_store_multiple_regs. |
| * config/mn10300/mn10300.c: Likewise. |
| * config/mn10300/mn10300.md (store_movm): Fix typo: call |
| store_multiple_regs. |
| * config/mn10300/predicates.md (mn10300_store_multiple_operation): |
| Call mn10300_store_multiple_regs. |
| |
| 2014-01-30 Nick Clifton <nickc@redhat.com> |
| DJ Delorie <dj@redhat.com> |
| |
| * config/rl78/rl78.c (register_sizes): Make the "upper half" of |
| %fp 2 to keep registers after it properly word-aligned. |
| (rl78_alloc_physical_registers_umul): Handle the case where both |
| input operands are the same. |
| |
| 2014-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59903 |
| * tree-vect-loop.c (vect_transform_loop): Guard multiple-types |
| check properly. |
| |
| 2014-01-30 Jason Merrill <jason@redhat.com> |
| |
| PR c++/59633 |
| * tree.c (walk_type_fields): Handle VECTOR_TYPE. |
| |
| PR c++/59645 |
| * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary. |
| |
| 2014-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59951 |
| * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns. |
| |
| 2014-01-30 Savin Zlobec <savin.zlobec@gmail.com> |
| |
| PR target/59784 |
| * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of |
| SFmode to DFmode case. |
| |
| 2014-01-29 DJ Delorie <dj@redhat.com> |
| |
| * config/msp430/msp430.opt (-minrt): New. |
| * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime |
| if -minrt given. |
| (ENDFILE_SPEC): Likewise. |
| |
| 2014-01-29 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function. |
| (estimate_function_body_sizes): Use it. |
| |
| 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| PR c++/58561 |
| * dwarf2out.c (is_cxx_auto): New. |
| (is_base_type): Use it. |
| (gen_type_die_with_usage): Likewise. |
| |
| 2014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use |
| CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*. |
| * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for |
| -maltivec=be with LE targets. |
| (vsx_mergeh_<mode>): Likewise. |
| * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs. |
| (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct. |
| (altivec_vmrghb): Replace with define_expand and new |
| *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrghb_direct): New define_insn. |
| (altivec_vmrghh): Replace with define_expand and new |
| *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrghh_direct): New define_insn. |
| (altivec_vmrghw): Replace with define_expand and new |
| *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrghw_direct): New define_insn. |
| (*altivec_vmrghsf): Adjust for endianness. |
| (altivec_vmrglb): Replace with define_expand and new |
| *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrglb_direct): New define_insn. |
| (altivec_vmrglh): Replace with define_expand and new |
| *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrglh_direct): New define_insn. |
| (altivec_vmrglw): Replace with define_expand and new |
| *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets. |
| (altivec_vmrglw_direct): New define_insn. |
| (*altivec_vmrglsf): Adjust for endianness. |
| (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct. |
| (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct. |
| (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct. |
| (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct. |
| (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct. |
| (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct. |
| (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct. |
| (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct. |
| |
| 2014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_expand_mov_immediate) |
| (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust |
| whitespace. |
| |
| 2014-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/58742 |
| * tree-ssa-forwprop.c (associate_pointerplus): Rename to |
| associate_pointerplus_align. |
| (associate_pointerplus_diff): New function. |
| (associate_pointerplus): Likewise. Call associate_pointerplus_align |
| and associate_pointerplus_diff. |
| |
| 2014-01-29 Richard Biener <rguenther@suse.de> |
| |
| * lto-streamer.h (LTO_major_version): Bump to 3. |
| (LTO_minor_version): Reset to 0. |
| |
| 2014-01-29 Renlin Li <Renlin.Li@arm.com> |
| |
| * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch. |
| * config/arm/arm.c (FL_FOR_ARCH7VE): New. |
| (arm_file_start): Generate correct asm header for armv7ve. |
| * config/arm/bpabi.h: Add multilib support for armv7ve. |
| * config/arm/driver-arm.c: Change the architectures of cortex-a7 |
| and cortex-a15 to armv7ve. |
| * config/arm/t-aprofile: Add multilib support for armv7ve. |
| * doc/invoke.texi: Document -march=armv7ve. |
| |
| 2014-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/58742 |
| * tree-ssa-forwprop.c (associate_plusminus): Return true |
| if we changed sth, defer EH cleanup to ... |
| (ssa_forward_propagate_and_combine): ... here. Call simplify_mult. |
| (simplify_mult): New function. |
| |
| 2014-01-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/59917 |
| PR tree-optimization/59920 |
| * tree.c (build_common_builtin_nodes): Remove |
| __builtin_setjmp_dispatcher initialization. |
| * omp-low.h (make_gimple_omp_edges): Add a new int * argument. |
| * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb |
| instead of gsi_after_labels + manually skipping debug stmts. |
| Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead |
| ignore bbs with IFN_ABNORMAL_DISPATCHER. |
| * tree-inline.c (copy_edges_for_bb): Remove |
| can_make_abnormal_goto argument, instead add abnormal_goto_dest |
| argument. Ignore computed_goto_p stmts. Don't call |
| make_abnormal_goto_edges. If a call might need abnormal edges |
| for non-local gotos, see if it already has an edge to |
| IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER |
| with true argument, don't do anything then, otherwise add |
| EDGE_ABNORMAL from the call's bb to abnormal_goto_dest. |
| (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb |
| caller. |
| * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp. |
| (lower_function_body): Don't emit __builtin_setjmp_dispatcher. |
| (lower_stmt): Don't set data->calls_builtin_setjmp. |
| (lower_builtin_setjmp): Adjust comment. |
| * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove. |
| * tree-cfg.c (found_computed_goto): Remove. |
| (factor_computed_gotos): Remove. |
| (make_goto_expr_edges): Return bool, true for computed gotos. |
| Don't call make_abnormal_goto_edges. |
| (build_gimple_cfg): Don't set found_computed_goto, don't call |
| factor_computed_gotos. |
| (computed_goto_p): No longer static. |
| (make_blocks): Don't set found_computed_goto. |
| (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions. |
| (make_edges): If make_goto_expr_edges returns true, push bb |
| into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls |
| instead of calling make_abnormal_goto_edges push bb into ab_edge_call |
| vector. Record mapping between bbs and OpenMP regions if there |
| are any, adjust make_gimple_omp_edges caller. Call |
| handle_abnormal_edges. |
| (make_abnormal_goto_edges): Remove. |
| * tree-cfg.h (make_abnormal_goto_edges): Remove. |
| (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes. |
| * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function. |
| * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER. |
| * internal-fn.def (ABNORMAL_DISPATCHER): New. |
| * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when |
| filling *region also set *region_idx to (*region)->entry->index. |
| |
| PR other/58712 |
| * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code). |
| For REGs set ORIGINAL_REGNO. |
| |
| 2014-01-29 Bingfeng Mei <bmei@broadcom.com> |
| |
| * doc/md.texi: Mention that a target shouldn't implement |
| vec_widen_(s|u)mul_even/odd pair if it is less efficient |
| than hi/lo pair. |
| |
| 2014-01-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/59594 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort |
| a copy of the datarefs vector rather than the vector itself. |
| |
| 2014-01-28 Jason Merrill <jason@redhat.com> |
| |
| PR c++/53756 |
| * dwarf2out.c (auto_die): New static. |
| (gen_type_die_with_usage): Handle C++1y 'auto'. |
| (gen_subprogram_die): If in-class DIE had 'auto', emit type again |
| on definition. |
| |
| 2014-01-28 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/59672 |
| * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32". |
| (SPEC_X32): Likewise. |
| (SPEC_64): Likewise. |
| * config/i386/i386.c (ix86_option_override_internal): Turn off |
| OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64 |
| for TARGET_16BIT. |
| (x86_file_start): Output .code16gcc for TARGET_16BIT. |
| * config/i386/i386.h (TARGET_16BIT): New macro. |
| (TARGET_16BIT_P): Likewise. |
| * config/i386/i386.opt: Add m16. |
| * doc/invoke.texi: Document -m16. |
| |
| 2014-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR preprocessor/59935 |
| * input.c (location_get_source_line): Bail out on when line number |
| is zero, and test the return value of lookup_or_add_file_to_cache_tab. |
| |
| 2014-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/58742 |
| * tree-ssa-forwprop.c (associate_plusminus): Handle |
| pointer subtraction of the form (T)(P + A) - (T)P. |
| |
| 2014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement |
| at const_int_cost. |
| |
| 2014-01-28 Richard Biener <rguenther@suse.de> |
| |
| Revert |
| 2014-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/45364 |
| PR rtl-optimization/59890 |
| * var-tracking.c (local_get_addr_clear_given_value): Handle |
| already cleared slot. |
| (val_reset): Handle not allocated local_get_addr_cache. |
| (vt_find_locations): Use post-order on the inverted CFG. |
| |
| 2014-01-28 Richard Biener <rguenther@suse.de> |
| |
| * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove. |
| |
| 2014-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/45364 |
| PR rtl-optimization/59890 |
| * var-tracking.c (local_get_addr_clear_given_value): Handle |
| already cleared slot. |
| (val_reset): Handle not allocated local_get_addr_cache. |
| (vt_find_locations): Use post-order on the inverted CFG. |
| |
| 2014-01-28 Alan Modra <amodra@gmail.com> |
| |
| * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS. |
| * configure.ac <recursive call for build != host>: Define |
| GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD |
| and LD_FOR_BUILD too. |
| * configure: Regenerate. |
| |
| 2014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org> |
| |
| * config/i386/i386.c (get_builtin_code_for_version): Separate |
| Westmere from Nehalem, Ivy Bridge from Sandy Bridge and |
| Broadwell from Haswell. |
| |
| 2014-01-27 Steve Ellcey <sellcey@mips.com> |
| |
| * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS): |
| Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD. |
| * config/mips/mips.c (mips_option_override): Change setting |
| of TARGET_DSP. |
| * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove. |
| * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D): |
| Change from Mask to Var. |
| |
| 2014-01-27 Jeff Law <law@redhat.com> |
| |
| * ipa-inline.c (inline_small_functions): Fix typo. |
| |
| 2014-01-27 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New. |
| (_mm512_mask_cvtsepi32_storeu_epi8): Ditto. |
| (_mm512_mask_cvtusepi32_storeu_epi8): Ditto. |
| (_mm512_mask_cvtepi32_storeu_epi16): Ditto. |
| (_mm512_mask_cvtsepi32_storeu_epi16): Ditto. |
| (_mm512_mask_cvtusepi32_storeu_epi16): Ditto. |
| (_mm512_mask_cvtepi64_storeu_epi32): Ditto. |
| (_mm512_mask_cvtsepi64_storeu_epi32): Ditto. |
| (_mm512_mask_cvtusepi64_storeu_epi32): Ditto. |
| (_mm512_mask_cvtepi64_storeu_epi16): Ditto. |
| (_mm512_mask_cvtsepi64_storeu_epi16): Ditto. |
| (_mm512_mask_cvtusepi64_storeu_epi16): Ditto. |
| (_mm512_mask_cvtepi64_storeu_epi8): Ditto. |
| (_mm512_mask_cvtsepi64_storeu_epi8): Ditto. |
| (_mm512_mask_cvtusepi64_storeu_epi8): Ditto. |
| (_mm512_storeu_epi64): Ditto. |
| (_mm512_cmpge_epi32_mask): Ditto. |
| (_mm512_cmpge_epu32_mask): Ditto. |
| (_mm512_cmpge_epi64_mask): Ditto. |
| (_mm512_cmpge_epu64_mask): Ditto. |
| (_mm512_cmple_epi32_mask): Ditto. |
| (_mm512_cmple_epu32_mask): Ditto. |
| (_mm512_cmple_epi64_mask): Ditto. |
| (_mm512_cmple_epu64_mask): Ditto. |
| (_mm512_cmplt_epi32_mask): Ditto. |
| (_mm512_cmplt_epu32_mask): Ditto. |
| (_mm512_cmplt_epi64_mask): Ditto. |
| (_mm512_cmplt_epu64_mask): Ditto. |
| (_mm512_cmpneq_epi32_mask): Ditto. |
| (_mm512_cmpneq_epu32_mask): Ditto. |
| (_mm512_cmpneq_epi64_mask): Ditto. |
| (_mm512_cmpneq_epu64_mask): Ditto. |
| (_mm512_expand_pd): Ditto. |
| (_mm512_expand_ps): Ditto. |
| * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI, |
| VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI, |
| VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI. |
| * config/i386/i386.c (ix86_builtins): Add |
| IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK, |
| IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM, |
| IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM, |
| IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM, |
| IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM, |
| IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM, |
| IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM, |
| IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM, |
| IX86_BUILTIN_PMOVUSQW512_MEM. |
| (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask, |
| __builtin_ia32_pmovsqd512mem_mask, |
| __builtin_ia32_pmovqd512mem_mask, |
| __builtin_ia32_pmovusqw512mem_mask, |
| __builtin_ia32_pmovsqw512mem_mask, |
| __builtin_ia32_pmovqw512mem_mask, |
| __builtin_ia32_pmovusdw512mem_mask, |
| __builtin_ia32_pmovsdw512mem_mask, |
| __builtin_ia32_pmovdw512mem_mask, |
| __builtin_ia32_pmovqb512mem_mask, |
| __builtin_ia32_pmovusqb512mem_mask, |
| __builtin_ia32_pmovsqb512mem_mask, |
| __builtin_ia32_pmovusdb512mem_mask, |
| __builtin_ia32_pmovsdb512mem_mask, |
| __builtin_ia32_pmovdb512mem_mask. |
| (bdesc_args): Add __builtin_ia32_expanddf512, |
| __builtin_ia32_expandsf512. |
| (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI, |
| VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI, |
| VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI. |
| * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK. |
| (avx512f_<code><pmov_src_lower><mode>2_mask_store): New. |
| (*avx512f_<code>v8div16qi2_store_mask): Renamed to ... |
| (avx512f_<code>v8div16qi2_mask_store): This. |
| (avx512f_expand<mode>): New. |
| |
| 2014-01-27 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): |
| New. |
| (_mm512_mask_prefetch_i64gather_pd): Ditto. |
| (_mm512_prefetch_i32scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i32scatter_pd): Ditto. |
| (_mm512_prefetch_i64scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i64scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i32gather_ps): Fix operand type. |
| (_mm512_mask_prefetch_i64gather_ps): Ditto. |
| (_mm512_prefetch_i32scatter_ps): Ditto. |
| (_mm512_mask_prefetch_i32scatter_ps): Ditto. |
| (_mm512_prefetch_i64scatter_ps): Ditto. |
| (_mm512_mask_prefetch_i64scatter_ps): Ditto. |
| * config/i386/i386-builtin-types.def: Define |
| VOID_FTYPE_QI_V8SI_PCINT64_INT_INT |
| and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT. |
| * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD, |
| IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD, |
| IX86_BUILTIN_SCATTERPFQPD. |
| (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd, |
| __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd, |
| __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd, |
| __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd, |
| __builtin_ia32_scatterpfqps. |
| (ix86_expand_builtin): Expand new built-ins. |
| * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix, |
| fix memory access data type. |
| (*avx512pf_gatherpf<mode>_mask): Ditto. |
| (*avx512pf_gatherpf<mode>): Ditto. |
| (avx512pf_scatterpf<mode>): Ditto. |
| (*avx512pf_scatterpf<mode>_mask): Ditto. |
| (*avx512pf_scatterpf<mode>): Ditto. |
| (GATHER_SCATTER_SF_MEM_MODE): New. |
| (avx512pf_gatherpf<mode>df): Ditto. |
| (*avx512pf_gatherpf<mode>df_mask): Ditto. |
| (*avx512pf_scatterpf<mode>df): Ditto. |
| |
| 2014-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/59934 |
| * expmed.h (expmed_mode_index): Rework so that analysis and optimziers |
| know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be |
| reached. |
| |
| 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * common/config/arm/arm-common.c |
| (arm_rewrite_mcpu): Handle multiple names. |
| * config/arm/arm.h |
| (BIG_LITTLE_SPEC): Do not discard mcpu switches. |
| |
| 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * gimple-builder.h (create_gimple_tmp): Delete. |
| |
| 2014-01-27 Christian Bruel <christian.bruel@st.com> |
| |
| * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after |
| words comparisons. |
| |
| 2014-01-26 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (call): Generate indirect long calls to non-local |
| functions when outputing 32-bit code. |
| (call_value): Likewise except for special call to buggy powf function. |
| |
| * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of |
| portable runtime and PIC indirect calls. |
| (pa_output_indirect_call): Remove unnecessary nop from portable runtime |
| and PIC call sequences. Use ldo instead of blr to set return register |
| in PIC call sequence. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and |
| avoid clobbering a live register. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins): |
| Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}. |
| * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins): |
| Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte |
| arguments on even registers. |
| (tilegx_gimplify_va_arg_expr): Align 16-byte var args to |
| STACK_BOUNDARY. |
| * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes. |
| (BIGGEST_ALIGNMENT): Ditto. |
| (BIGGEST_FIELD_ALIGNMENT): Ditto. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier |
| insns before bundling. |
| * config/tilegx/tilegx.md (tile_network_barrier): Update comment. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_expand_builtin): Set |
| PREFETCH_SCHEDULE_BARRIER_P to true for prefetches. |
| * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto. |
| |
| 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/constraints.md (kl): Delete. |
| * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into |
| define expands, using... |
| (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new |
| instructions for MIPS16. |
| (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the |
| non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate. |
| (clzdi2): Ditto. |
| (ffsdi2): Ditto. |
| |
| 2014-01-25 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New. |
| (TARGET_EXPAND_TO_RTL_HOOK): Define. |
| |
| 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * rtlanal.c (canonicalize_condition): Split out duplicated mode check. |
| Handle XOR. |
| |
| 2014-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * print-rtl.c (in_call_function_usage): New var. |
| (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print |
| EXPR_LIST mode as mode and not as reg note name. |
| |
| PR middle-end/59561 |
| * cfgloopmanip.c (copy_loop_info): If |
| loop->warned_aggressive_loop_optimizations, make sure |
| the flag is set in target loop too. |
| |
| 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com> |
| |
| * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to |
| flag_cilkplus. |
| * builtins.def: Likewise. |
| * cilk.h (fn_contains_cilk_spawn_p): Likewise. |
| * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise. |
| * ira.c (ira_setup_eliminable_regset): Likewise. |
| * omp-low.c (gate_expand_omp): Likewise. |
| (execute_lower_omp): Likewise. |
| (diagnose_sb_0): Likewise. |
| (gate_diagnose_omp_blocks): Likewise. |
| (simd_clone_clauses_extract): Likewise. |
| (gate): Likewise. |
| |
| 2014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove |
| correction for little endian... |
| * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to |
| here. |
| |
| 2014-01-24 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/59919 |
| * tree-vrp.c (find_assert_locations_1): Do not register asserts |
| for non-returning calls. |
| |
| 2014-01-24 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * common/config/aarch64/aarch64-common.c |
| (aarch64_rewrite_mcpu): Handle multiple names. |
| * config/aarch64/aarch64.h |
| (BIG_LITTLE_SPEC): Do not discard mcpu switches. |
| |
| 2014-01-24 Dodji Seketeli <dodji@redhat.com> |
| |
| * input.c (add_file_to_cache_tab): Handle the case where fopen |
| returns NULL. |
| |
| 2014-01-23 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/59929 |
| * config/i386/i386.md (pushsf splitter): Get stack adjustment |
| from push operand if code of push isn't PRE_DEC. |
| |
| 2014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/59909 |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document |
| -mquad-memory-atomic. Update -mquad-memory documentation to say |
| it is only used for non-atomic loads/stores. |
| |
| * config/rs6000/predicates.md (quad_int_reg_operand): Allow either |
| -mquad-memory or -mquad-memory-atomic switches. |
| |
| * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add |
| -mquad-memory-atomic to ISA 2.07 support. |
| |
| * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch |
| to separate support of normal quad word memory operations (ldq, stq) |
| from the atomic quad word memory operations. |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Add |
| support to separate non-atomic quad word operations from atomic |
| quad word operations. Disable non-atomic quad word operations in |
| little endian mode so that we don't have to swap words after the |
| load and before the store. |
| (quad_load_store_p): Add comment about atomic quad word support. |
| (rs6000_opt_masks): Add -mquad-memory-atomic to the list of |
| options printed with -mdebug=reg. |
| |
| * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use |
| -mquad-memory-atomic as the test for whether we have quad word |
| atomic instructions. |
| (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory, |
| or -mp8-vector are used, allow byte/half-word atomic operations. |
| |
| * config/rs6000/sync.md (load_lockedti): Insure that the address |
| is a proper indexed or indirect address for the lqarx instruction. |
| On little endian systems, swap the hi/lo registers after the lqarx |
| instruction. |
| (load_lockedpti): Use indexed_or_indirect_operand predicate to |
| insure the address is valid for the lqarx instruction. |
| (store_conditionalti): Insure that the address is a proper indexed |
| or indirect address for the stqcrx. instruction. On little endian |
| systems, swap the hi/lo registers before doing the stqcrx. |
| instruction. |
| (store_conditionalpti): Use indexed_or_indirect_operand predicate to |
| insure the address is valid for the stqcrx. instruction. |
| |
| * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros): |
| Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what |
| type of quad memory support is available. |
| |
| 2014-01-23 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR regression/59915 |
| * lra-constraints.c (simplify_operand_subreg): Spill pseudo if |
| there is a danger of looping. |
| |
| 2014-01-23 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't |
| force flag_ira_loop_pressure if set via command line. |
| |
| 2014-01-23 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed. |
| (ashr_simd): New builtin handling DI mode. |
| * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern. |
| (aarch64_sshr_simddi): New match pattern. |
| * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified. |
| (vshrd_n_s64): Likewise. |
| * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate. |
| |
| 2014-01-23 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu. |
| (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in |
| favour of mcu specific scripts. |
| * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for |
| 430x multilibs. |
| |
| 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com> |
| Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup. |
| (vaddv_s16): Likewise. |
| (vaddv_s32): Likewise. |
| (vaddv_u8): Likewise. |
| (vaddv_u16): Likewise. |
| (vaddv_u32): Likewise. |
| (vaddvq_s8): Likewise. |
| (vaddvq_s16): Likewise. |
| (vaddvq_s32): Likewise. |
| (vaddvq_s64): Likewise. |
| (vaddvq_u8): Likewise. |
| (vaddvq_u16): Likewise. |
| (vaddvq_u32): Likewise. |
| (vaddvq_u64): Likewise. |
| (vaddv_f32): Likewise. |
| (vaddvq_f32): Likewise. |
| (vaddvq_f64): Likewise. |
| (vmaxv_f32): Likewise. |
| (vmaxv_s8): Likewise. |
| (vmaxv_s16): Likewise. |
| (vmaxv_s32): Likewise. |
| (vmaxv_u8): Likewise. |
| (vmaxv_u16): Likewise. |
| (vmaxv_u32): Likewise. |
| (vmaxvq_f32): Likewise. |
| (vmaxvq_f64): Likewise. |
| (vmaxvq_s8): Likewise. |
| (vmaxvq_s16): Likewise. |
| (vmaxvq_s32): Likewise. |
| (vmaxvq_u8): Likewise. |
| (vmaxvq_u16): Likewise. |
| (vmaxvq_u32): Likewise. |
| (vmaxnmv_f32): Likewise. |
| (vmaxnmvq_f32): Likewise. |
| (vmaxnmvq_f64): Likewise. |
| (vminv_f32): Likewise. |
| (vminv_s8): Likewise. |
| (vminv_s16): Likewise. |
| (vminv_s32): Likewise. |
| (vminv_u8): Likewise. |
| (vminv_u16): Likewise. |
| (vminv_u32): Likewise. |
| (vminvq_f32): Likewise. |
| (vminvq_f64): Likewise. |
| (vminvq_s8): Likewise. |
| (vminvq_s16): Likewise. |
| (vminvq_s32): Likewise. |
| (vminvq_u8): Likewise. |
| (vminvq_u16): Likewise. |
| (vminvq_u32): Likewise. |
| (vminnmv_f32): Likewise. |
| (vminnmvq_f32): Likewise. |
| (vminnmvq_f64): Likewise. |
| |
| 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64-simd.md |
| (aarch64_dup_lane<mode>): Correct lane number on big-endian. |
| (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise. |
| (*aarch64_mul3_elt<mode>): Likewise. |
| (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise. |
| (*aarch64_mul3_elt_to_64v2df): Likewise. |
| (*aarch64_mla_elt<mode>): Likewise. |
| (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise. |
| (*aarch64_mls_elt<mode>): Likewise. |
| (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise. |
| (*aarch64_fma4_elt<mode>): Likewise. |
| (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise. |
| (*aarch64_fma4_elt_to_64v2df): Likewise. |
| (*aarch64_fnma4_elt<mode>): Likewise. |
| (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise. |
| (*aarch64_fnma4_elt_to_64v2df): Likewise. |
| (aarch64_sq<r>dmulh_lane<mode>): Likewise. |
| (aarch64_sq<r>dmulh_laneq<mode>): Likewise. |
| (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise. |
| (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise. |
| (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise. |
| (aarch64_sqdmull_lane<mode>_internal): Likewise. |
| (aarch64_sqdmull2_lane<mode>_internal): Likewise. |
| |
| 2013-01-23 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd.md |
| (aarch64_be_checked_get_lane<mode>): New define_expand. |
| * config/aarch64/aarch64-simd-builtins.def |
| (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)): |
| New builtin definition. |
| * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any): |
| Use new safe be builtin. |
| |
| 2014-01-23 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>): |
| New define_insn. |
| (aarch64_be_st1<mode>): Likewise. |
| (aarch_ld1<VALL:mode>): Define_expand modified. |
| (aarch_st1<VALL:mode>): Likewise. |
| * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition. |
| (UNSPEC_ST1): Likewise. |
| |
| 2014-01-23 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/microblaze.md: Add trap insn and attribute |
| |
| 2014-01-23 Dodji Seketeli <dodji@redhat.com> |
| |
| PR preprocessor/58580 |
| * input.h (location_get_source_line): Take an additional line_size |
| parameter. |
| (void diagnostics_file_cache_fini): Declare new function. |
| * input.c (struct fcache): New type. |
| (fcache_tab_size, fcache_buffer_size, fcache_line_record_size): |
| New static constants. |
| (diagnostic_file_cache_init, total_lines_num) |
| (lookup_file_in_cache_tab, evicted_cache_tab_entry) |
| (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab) |
| (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data) |
| (get_next_line, read_next_line, goto_next_line, read_line_num): |
| New static function definitions. |
| (diagnostic_file_cache_fini): New function. |
| (location_get_source_line): Take an additional output line_len |
| parameter. Re-write using lookup_or_add_file_to_cache_tab and |
| read_line_num. |
| * diagnostic.c (diagnostic_finish): Call |
| diagnostic_file_cache_fini. |
| (adjust_line): Take an additional input parameter for the length |
| of the line, rather than calculating it with strlen. |
| (diagnostic_show_locus): Adjust the use of |
| location_get_source_line and adjust_line with respect to their new |
| signature. While displaying a line now, do not stop at the first |
| null byte. Rather, display the zero byte as a space and keep |
| going until we reach the size of the line. |
| * Makefile.in: Add vec.o to OBJS-libcommon |
| |
| 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com> |
| Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_kmov): New. |
| * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto. |
| (__builtin_ia32_kmov16): Ditto. |
| * config/i386/i386.md (UNSPEC_KMOV): New. |
| (kmovw): Ditto. |
| |
| 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename. |
| (_mm512_storeu_si512): Ditto. |
| |
| 2014-01-23 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR target/52125 |
| * rtl.h (get_referenced_operands): Declare. |
| * recog.c (get_referenced_operands): New function. |
| * config/mips/mips.c (mips_reorg_process_insns): Check which asm |
| operands have been referenced when recording LO_SUM references. |
| |
| 2014-01-22 David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * config/microblaze/microblaze.md: Correct bswaphi2 insn. |
| |
| 2014-01-22 Jan Hubicka <hubicka@ucw.cz> |
| |
| * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): |
| Enable for generic and recent AMD targets. |
| |
| 2014-01-22 Jan Hubicka <hubicka@ucw.cz> |
| |
| * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove |
| ARG_SIZE note when adjustment was eliminated. |
| |
| 2014-01-22 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/59597 |
| * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier |
| in file. Accept new argument REGISTERING and use it to modify |
| dump output appropriately. |
| (register_jump_thread): Corresponding changes. |
| (mark_threaded_blocks): Reinstate code to cancel unprofitable |
| thread paths involving joiner blocks. Add code to dump cancelled |
| jump threading paths. |
| |
| 2014-01-22 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59477 |
| * lra-constraints.c (inherit_in_ebb): Process call for living hard |
| regs. Update reloads_num and potential_reload_hard_regs for all insns. |
| |
| 2014-01-22 Tom Tromey <tromey@redhat.com> |
| |
| * config/i386/i386-interix.h (i386_pe_unique_section): Don't use |
| PARAMS. |
| * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS. |
| |
| 2014-01-21 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59896 |
| * lra-constraints.c (process_alt_operands): Check unused note for |
| matched operands of insn with no output reloads. |
| |
| 2014-01-21 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case. |
| (mips_move_from_gpr_cost): Likewise. |
| |
| 2014-01-21 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59858 |
| * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use |
| ira_class_hard_regs_num. |
| (process_alt_operands): Increase reject for dying matched operand. |
| |
| 2014-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59003 |
| * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is |
| smaller than size, perform several stores or loads and stores |
| at dst + count - size to store or copy all of size bytes, rather |
| than just last modesize bytes. |
| |
| 2014-01-20 DJ Delorie <dj@redhat.com> |
| |
| * config/rl78/rl78.c (rl78_propogate_register_origins): Verify |
| that CLOBBERs are REGs before propogating their values. |
| |
| 2014-01-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR middle-end/59789 |
| * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE. |
| (cgraph_inline_failed_type): New function. |
| * cgraph.h (DEFCIFCODE): Add type. |
| (cgraph_inline_failed_type_t): New enum. |
| (cgraph_inline_failed_type): New prototype. |
| * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED, |
| FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE, |
| FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT, |
| LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT, |
| MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT, |
| RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED, |
| OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL, |
| INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL. |
| Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE, |
| FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS, |
| EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH, |
| OPTIMIZATION_MISMATCH. |
| * tree-inline.c (expand_call_inline): Emit errors during |
| early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR. |
| |
| 2014-01-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/59685 |
| * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF |
| mode attribute in insn output. |
| |
| 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * output.h (output_constant): Delete. |
| * varasm.c (output_constant): Make private. |
| |
| 2014-01-20 Alex Velenko <Alex.Velenko@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check. |
| |
| 2014-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/59860 |
| * tree.h (fold_builtin_strcat): New prototype. |
| * builtins.c (fold_builtin_strcat): No longer static. Add len |
| argument, if non-NULL, don't call c_strlen. Optimize |
| directly into __builtin_memcpy instead of __builtin_strcpy. |
| (fold_builtin_2): Adjust fold_builtin_strcat caller. |
| * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT. |
| |
| 2014-01-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false |
| for SImode_address_operand operands, having only a REG argument. |
| |
| 2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand |
| loader name using mbig-endian. |
| (LINUX_TARGET_LINK_SPEC): Pass linker -m flag. |
| |
| 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * doc/invoke.texi (-march): Clarify documentation for AArch64. |
| (-mtune): Likewise. |
| (-mcpu): Likewise. |
| |
| 2014-01-20 Tejas Belagod <tejas.belagod@arm.com> |
| |
| * config/aarch64/aarch64-protos.h |
| (aarch64_cannot_change_mode_class_ptr): Declare. |
| * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class, |
| aarch64_cannot_change_mode_class_ptr): New. |
| * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call |
| backend hook aarch64_cannot_change_mode_class. |
| |
| 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * common/config/aarch64/aarch64-common.c |
| (aarch64_handle_option): Don't handle any option order logic here. |
| * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override |
| selected_cpu, warn on architecture version mismatch. |
| (aarch64_override_options): Fix parsing order for option strings. |
| |
| 2014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
| Iain Sandoe <iain@codesourcery.com> |
| |
| PR bootstrap/59496 |
| * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable |
| warning. Amend comment to reflect current functionality. |
| |
| 2014-01-20 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/59860 |
| * builtins.c (fold_builtin_strcat): Remove case better handled |
| by tree-ssa-strlen.c. |
| |
| 2014-01-20 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/aarch64/aarch64.opt |
| (mcpu, march, mtune): Make case-insensitive. |
| |
| 2014-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59880 |
| * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false |
| if operands[1] is a REG or ZERO_EXTEND of a REG. |
| |
| 2014-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p. |
| |
| 2014-01-19 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of |
| long non-pic millicode calls. |
| |
| 2014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
| |
| * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning. |
| |
| 2014-01-19 Kito Cheng <kito@0xlab.org> |
| |
| * builtins.c (expand_movstr): Check movstr expand done or fail. |
| |
| 2014-01-18 Uros Bizjak <ubizjak@gmail.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/59379 |
| * config/i386/i386.md (*lea<mode>): Zero-extend return register |
| to DImode for zero-extended addresses. |
| |
| 2014-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/57763 |
| * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL |
| on the new indirect jump_insn and increment LABEL_NUSES (label). |
| |
| 2014-01-18 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/59580 |
| PR bootstrap/59583 |
| * config.gcc (x86_archs): New variable. |
| (x86_64_archs): Likewise. |
| (x86_cpus): Likewise. |
| Use $x86_archs, $x86_64_archs and $x86_cpus to check valid |
| --with-arch/--with-cpu= options. |
| Support --with-arch=/--with-cpu={nehalem,westmere, |
| sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}. |
| |
| 2014-01-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8 |
| and PROCESSOR_ATHLON to simplify code. Move "memory" calculation. |
| |
| 2014-01-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*swap<mode>): Rename from swap<mode>. |
| |
| 2014-01-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/58944 |
| * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily |
| clear cpp_get_options (parse_in)->warn_unused_macros for |
| ix86_target_macros_internal with cpp_define. |
| |
| 2014-01-18 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * jump.c (delete_related_insns): Keep (use (insn))s. |
| * reorg.c (redundant_insn): Check for barriers too. |
| |
| 2014-01-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo. |
| |
| 2014-01-17 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short |
| call to $$dyncall when TARGET_LONG_CALLS is true. |
| |
| 2014-01-17 Jeff Law <law@redhat.com> |
| |
| * ree.c (combine_set_extension): Temporarily disable test for |
| changing number of hard registers. |
| |
| 2014-01-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/58125 |
| * ipa-inline-analysis.c (inline_free_summary): |
| Do not free summary of aliases. |
| |
| 2014-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/59706 |
| * gimplify.c (gimplify_expr): Use create_tmp_var |
| instead of create_tmp_var_raw. If cond doesn't have |
| integral type, don't add the IFN_ANNOTATE builtin at all. |
| |
| 2014-01-17 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/59736 |
| * ipa-cp.c (prev_edge_clone): New variable. |
| (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors. |
| Also resize prev_edge_clone vector. |
| (ipcp_edge_duplication_hook): Also update prev_edge_clone. |
| (ipcp_edge_removal_hook): New function. |
| (ipcp_driver): Register ipcp_edge_removal_hook. |
| |
| 2014-01-17 Andrew Pinski <apinski@cavium.com> |
| Steve Ellcey <sellcey@mips.com> |
| |
| PR target/59462 |
| * config/mips/mips.c (mips_print_operand): Check operand mode instead |
| of operator mode. |
| |
| 2014-01-17 Jeff Law <law@redhat.com> |
| |
| PR middle-end/57904 |
| * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence |
| so that pass_ccp runs first. |
| |
| 2014-01-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX. |
| (ix86_adjust_cost): Use !TARGET_XXX. |
| (do_reorder_for_imul): Likewise. |
| (swap_top_of_ready_list): Likewise. |
| (ix86_sched_reorder): Likewise. |
| |
| 2014-01-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-c.c (ix86_target_macros_internal): Handle |
| PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC. |
| * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy. |
| (intel_memset): New. Duplicate slm_memset. |
| (intel_cost): New. Duplicate slm_cost. |
| (m_INTEL): New macro. |
| (processor_target_table): Add "intel". |
| (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT |
| with PROCESSOR_INTEL for "intel". |
| (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate |
| PROCESSOR_SILVERMONT. |
| (ix86_issue_rate): Likewise. |
| (ix86_adjust_cost): Likewise. |
| (ia32_multipass_dfa_lookahead): Likewise. |
| (swap_top_of_ready_list): Likewise. |
| (ix86_sched_reorder): Likewise. |
| (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR |
| instead of TARGET_OPT_AGU. |
| * config/i386/i386.h (TARGET_INTEL): New. |
| (TARGET_AVOID_LEA_FOR_ADDR): Likewise. |
| (processor_type): Add PROCESSOR_INTEL. |
| * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT. |
| Add X86_TUNE_AVOID_LEA_FOR_ADDR. |
| |
| 2014-01-17 Marek Polacek <polacek@redhat.com> |
| |
| PR c/58346 |
| * gimple-fold.c (fold_array_ctor_reference): Don't fold if element |
| size is zero. |
| |
| 2014-01-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/46590 |
| * opts.c (default_options_table): Add entries for |
| OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta, |
| all enabled at -O1 but not for -Og. |
| * common.opt (fbranch-count-reg): Remove Init(1). |
| (fmove-loop-invariants): Likewise. |
| (ftree-pta): Likewise. |
| |
| 2014-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_data_alignment): For compatibility with |
| (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align |
| decls to at least the GCC 4.8 used alignments. |
| |
| PR fortran/59440 |
| * tree-nested.c (convert_nonlocal_reference_stmt, |
| convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars |
| of GIMPLE_BIND stmts, adjust associated decls. |
| |
| 2014-01-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/46590 |
| * vec.h (vec<>::bseach): New member function implementing |
| binary search according to C89 bsearch. |
| (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1. |
| * tree-ssa-loop-im.c (struct mem_ref): Make stored member a |
| bitmap pointer again. Make accesses_in_loop a flat array. |
| (mem_ref_obstack): New global. |
| (outermost_indep_loop): Adjust for mem_ref->stored changes. |
| (mark_ref_stored): Likewise. |
| (ref_indep_loop_p_2): Likewise. |
| (set_ref_stored_in_loop): New helper function. |
| (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack. |
| (memref_free): Adjust. |
| (record_mem_ref_loc): Simplify. |
| (gather_mem_refs_stmt): Adjust. |
| (sort_locs_in_loop_postorder_cmp): New function. |
| (analyze_memory_references): Sort accesses_in_loop after |
| loop postorder number. |
| (find_ref_loc_in_loop_cmp): New function. |
| (for_all_locs_in_loop): Find relevant cluster of locs in |
| accesses_in_loop and iterate without recursion. |
| (execute_sm): Avoid uninit warning. |
| (struct ref_always_accessed): Simplify. |
| (ref_always_accessed::operator ()): Likewise. |
| (ref_always_accessed_p): Likewise. |
| (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute |
| loop postorder numbers here. |
| (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder |
| numbers. |
| |
| 2014-01-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR c++/57945 |
| * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl |
| on decls for which assemble_alias has been called. |
| |
| 2014-01-17 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.opt: (mcpu): New option. |
| * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu. |
| (msp430_option_override): Parse target_cpu. If the MCU name |
| matches a generic string, clear target_mcu. |
| (msp430_attr): Allow numeric interrupt values up to 63. |
| (msp430_expand_epilogue): No longer invert operand 1 of gen_popm. |
| * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu |
| option. |
| * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches. |
| Add mcpu matches. |
| * config/msp430/msp430.md (popm): Use %J rather than %I. |
| (addsi3): Use msp430_nonimmediate_operand for operand 2. |
| (addhi_cy_i): Use immediate_operand for operand 2. |
| * doc/invoke.texi: Document -mcpu option. |
| |
| 2014-01-17 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/38518 |
| * df.h (df_analyze_loop): Declare. |
| * df-core.c: Include cfgloop.h. |
| (df_analyze_1): Split out main part of df_analyze. |
| (df_analyze): Adjust. |
| (loop_inverted_post_order_compute): New function. |
| (loop_post_order_compute): Likewise. |
| (df_analyze_loop): New function avoiding whole-function |
| postorder computes. |
| * loop-invariant.c (find_defs): Use df_analyze_loop. |
| (find_invariants): Adjust. |
| * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop. |
| |
| 2014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com> |
| |
| * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2. |
| (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK. |
| |
| 2014-01-16 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa-ref.c (ipa_remove_stmt_references): Fix references |
| traversal when removing references. |
| |
| 2014-01-16 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/59775 |
| * tree.c (get_binfo_at_offset): Look harder for virtual bases. |
| |
| 2014-01-16 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR middle-end/56791 |
| * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when |
| pushing a reload for an autoinc when we had previously reloaded an |
| inner part of the address. |
| |
| 2014-01-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies |
| field. |
| (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define. |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it |
| when not giving up or versioning for alias only because of |
| loop->safelen. |
| (vect_analyze_data_ref_dependences): Set to true. |
| * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt |
| is a GIMPLE_PHI. |
| (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of |
| LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop |
| to the condition. |
| |
| PR middle-end/58344 |
| * expr.c (expand_expr_real_1): Handle init == NULL_TREE. |
| |
| PR target/59839 |
| * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy |
| operand 0 predicate for gathers, use a new pseudo as subtarget. |
| |
| 2014-01-16 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR middle-end/59609 |
| * lra-constraints.c (process_alt_operands): Add printing debug info. |
| Check absence of input/output reloads for matched operands too. |
| |
| 2014-01-16 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59835 |
| * ira.c (ira_init_register_move_cost): Increase cost for |
| impossible modes. |
| |
| 2014-01-16 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive. |
| |
| 2014-01-16 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/59780 |
| * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on |
| non-register objects. Use gen_(high/low)part more consistently. |
| Fix assertions. |
| |
| 2014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/59844 |
| * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little |
| endian support, remove tests for WORDS_BIG_ENDIAN. |
| (p8_mfvsrd_3_<mode>): Likewise. |
| (reload_gpr_from_vsx<mode>): Likewise. |
| (reload_gpr_from_vsxsf): Likewise. |
| (p8_mfvsrd_4_disf): Likewise. |
| |
| 2014-01-16 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/46590 |
| * lcm.c (compute_antinout_edge): Use postorder iteration. |
| (compute_laterin): Use inverted postorder iteration. |
| |
| 2014-01-16 Nick Clifton <nickc@redhat.com> |
| |
| PR middle-end/28865 |
| * varasm.c (output_constant): Return the number of bytes actually |
| emitted. |
| (output_constructor_array_range): Update the field size with the |
| number of bytes emitted by output_constant. |
| (output_constructor_regular_field): Likewise. Also do not |
| complain if the total number of bytes emitted is now greater |
| than the expected fieldpos. |
| * output.h (output_constant): Update prototype and descriptive comment. |
| |
| 2014-01-16 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/59827 |
| * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if |
| it is error_mark_node. |
| |
| 2014-01-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_hard_regno_mode_ok): Use |
| VALID_AVX256_REG_OR_OI_MODE. |
| |
| 2014-01-15 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if |
| current procedure should be profiled. |
| |
| 2014-01-15 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost |
| of moving from/to the STACK_REG register class. |
| |
| 2014-01-15 Richard Henderson <rth@redhat.com> |
| |
| PR debug/54694 |
| * reginfo.c (global_regs_decl): Globalize. |
| * rtl.h (global_regs_decl): Declare. |
| * ira.c (do_reload): Diagnose frame_pointer_needed and it |
| reserved via global_regs. |
| |
| 2014-01-15 Teresa Johnson <tejohnson@google.com> |
| |
| * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef. |
| |
| 2014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com> |
| |
| * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh |
| and vmulosh rather than call gen_vec_widen_smult_*. |
| (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather |
| than BYTES_BIG_ENDIAN to determine use of even or odd instruction. |
| (vec_widen_smult_even_v16qi): Likewise. |
| (vec_widen_umult_even_v8hi): Likewise. |
| (vec_widen_smult_even_v8hi): Likewise. |
| (vec_widen_umult_odd_v16qi): Likewise. |
| (vec_widen_smult_odd_v16qi): Likewise. |
| (vec_widen_umult_odd_v8hi): Likewise. |
| (vec_widen_smult_odd_v8hi): Likewise. |
| (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and |
| vmuloub rather than call gen_vec_widen_umult_*. |
| (vec_widen_umult_lo_v16qi): Likewise. |
| (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and |
| vmulosb rather than call gen_vec_widen_smult_*. |
| (vec_widen_smult_lo_v16qi): Likewise. |
| (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh |
| rather than call gen_vec_widen_umult_*. |
| (vec_widen_umult_lo_v8hi): Likewise. |
| (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh |
| rather than call gen_vec_widen_smult_*. |
| (vec_widen_smult_lo_v8hi): Likewise. |
| |
| 2014-01-15 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/59747 |
| * ree.c (find_and_remove_re): Properly handle case where a second |
| eliminated extension requires widening a copy created for elimination |
| of a prior extension. |
| (combine_set_extension): Ensure that the number of hard regs needed |
| for a destination register does not change when we widen it. |
| |
| 2014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config.gcc (*-*-rtems*): Add t-rtems to tmake_file. |
| (arm*-*-uclinux*eabi*): Do not override an existing tmake_file. |
| (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise. |
| (arm*-*-rtems*): Use t-rtems from existing tmake_file. |
| (avr-*-rtems*): Likewise. |
| (bfin*-rtems*): Likewise. |
| (moxie-*-rtems*): Likewise. |
| (h8300-*-rtems*): Likewise. |
| (i[34567]86-*-rtems*): Likewise. |
| (lm32-*-rtems*): Likewise. |
| (m32r-*-rtems*): Likewise. |
| (m68k-*-rtems*): Likewise. |
| (microblaze*-*-rtems*): Likewise. |
| (mips*-*-rtems*): Likewise. |
| (powerpc-*-rtems*): Likewise. |
| (sh-*-rtems*): Likewise. |
| (sparc-*-rtems*): Likewise. |
| (sparc64-*-rtems*): Likewise. |
| (v850-*-rtems*): Likewise. |
| (m32c-*-rtems*): Likewise. |
| |
| 2014-01-15 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/59511 |
| * ira.c (ira_init_register_move_cost): Use memory costs for some |
| cases of register move cost calculations. |
| * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB |
| instead of BB frequency. |
| * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto. |
| * lra-assigns.c (find_hard_regno_for): Ditto. |
| |
| 2014-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59822 |
| * tree-vect-stmts.c (hoist_defs_of_uses): New function. |
| (vectorizable_load): Use it to hoist defs of uses of invariant |
| loads out of the loop. |
| |
| 2014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org> |
| Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| PR target/59695 |
| * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect |
| truncation. |
| |
| 2014-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/59802 |
| * lcm.c (compute_available): Use inverted postorder to seed |
| the initial worklist. |
| |
| 2014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| PR target/59803 |
| * config/s390/s390.c (s390_preferred_reload_class): Don't return |
| ADDR_REGS for invalid symrefs in non-PIC code. |
| |
| 2014-01-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR other/58712 |
| * builtins.c (determine_block_size): Initialize *probable_max_size |
| even if len_rtx is CONST_INT. |
| |
| 2014-01-14 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate. |
| * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2. |
| (cortexa53_tunings): Likewise. |
| (aarch64_sched_issue_rate): New function. |
| (TARGET_SCHED_ISSUE_RATE): Define. |
| |
| 2014-01-14 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * ira-costs.c (find_costs_and_classes): Add missed |
| ira_init_register_move_cost_if_necessary. |
| |
| 2014-01-14 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/59787 |
| * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress. |
| |
| 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/59794 |
| * config/i386/i386.c (type_natural_mode): Add a bool parameter |
| to indicate if type is used for function return value. Warn ABI |
| change if the vector mode isn't available for function return value. |
| (ix86_function_arg_advance): Pass false to type_natural_mode. |
| (ix86_function_arg): Likewise. |
| (ix86_gimplify_va_arg): Likewise. |
| (function_arg_32): Don't warn ABI change. |
| (ix86_function_value): Pass true to type_natural_mode. |
| (ix86_return_in_memory): Likewise. |
| (ix86_struct_value_rtx): Removed. |
| (TARGET_STRUCT_VALUE_RTX): Likewise. |
| |
| 2014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
| |
| * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when |
| converting a conditional jump into a conditional return. |
| |
| 2014-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/58921 |
| PR tree-optimization/59006 |
| * tree-vect-loop-manip.c (vect_loop_versioning): Remove code |
| hoisting invariant stmts. |
| * tree-vect-stmts.c (vectorizable_load): Insert the splat of |
| invariant loads on the preheader edge if possible. |
| |
| 2014-01-14 Joey Ye <joey.ye@arm.com> |
| |
| * doc/plugin.texi (Building GCC plugins): Update to C++. |
| |
| 2014-01-14 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New. |
| (_mm_rcp28_round_ss): Ditto. |
| (_mm_rsqrt28_round_sd): Ditto. |
| (_mm_rsqrt28_round_ss): Ditto. |
| (_mm_rcp28_sd): Ditto. |
| (_mm_rcp28_ss): Ditto. |
| (_mm_rsqrt28_sd): Ditto. |
| (_mm_rsqrt28_ss): Ditto. |
| * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto. |
| * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto. |
| * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto. |
| (IX86_BUILTIN_RCP28SD): Ditto. |
| (IX86_BUILTIN_RCP28SS): Ditto. |
| (IX86_BUILTIN_RSQRT28SD): Ditto. |
| (IX86_BUILTIN_RSQRT28SS): Ditto. |
| (bdesc_special_args): Define __builtin_ia32_movntdqa512, |
| __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round, |
| __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round. |
| (ix86_expand_special_args_builtin): Expand new FTYPE. |
| * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI. |
| (srcp14<mode>): Make insn unary. |
| (avx512f_vmscalef<mode><round_name>): Use substed predicate. |
| (avx512f_sgetexp<mode><round_saeonly_name>): Ditto. |
| (avx512f_rndscale<mode><round_saeonly_name>): Ditto. |
| (<sse4_1_avx2>_movntdqa): Extend to 512 bits. |
| (avx512er_exp2<mode><mask_name><round_saeonly_name>): |
| Fix rounding: make it SAE only. |
| (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): |
| Ditto. |
| (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): |
| Ditto. |
| (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto. |
| (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto. |
| (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto. |
| * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove. |
| (round_saeonly_mask_scalar_operand4): Ditto. |
| (round_saeonly_mask_scalar_op3): Ditto. |
| (round_saeonly_mask_scalar_op4): Ditto. |
| |
| 2014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): |
| Implement -maltivec=be for vec_insert and vec_extract. |
| |
| 2014-01-10 DJ Delorie <dj@redhat.com> |
| |
| * config/msp430/msp430.md (call_internal): Don't allow memory |
| references with SP as the base register. |
| (call_value_internal): Likewise. |
| * config/msp430/constraints.md (Yc): New. For memory references |
| that don't use SP as a base register. |
| |
| * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean |
| "an integer without a # prefix" |
| * config/msp430/msp430.md (epilogue_helper): Use it. |
| |
| 2014-01-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59617 |
| * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment |
| AVX512F gather builtins. |
| * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt |
| on gather decls with INTEGER_TYPE masktype. |
| (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST |
| directly into the builtin rather than hoisting it before loop. |
| |
| PR tree-optimization/59387 |
| * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h. |
| (scev_const_prop): If folded_casts and type has undefined overflow, |
| use force_gimple_operand instead of force_gimple_operand_gsi and |
| for each added stmt if it is assign with |
| arith_code_with_undefined_signed_overflow, call |
| rewrite_to_defined_overflow. |
| * tree-ssa-loop-im.c: Don't include gimplify-me.h, include |
| gimple-fold.h instead. |
| (arith_code_with_undefined_signed_overflow, |
| rewrite_to_defined_overflow): Moved to ... |
| * gimple-fold.c (arith_code_with_undefined_signed_overflow, |
| rewrite_to_defined_overflow): ... here. No longer static. |
| Include gimplify-me.h. |
| * gimple-fold.h (arith_code_with_undefined_signed_overflow, |
| rewrite_to_defined_overflow): New prototypes. |
| |
| 2014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description. |
| |
| 2014-01-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * builtins.c (get_object_alignment_2): Minor tweak. |
| * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite. |
| |
| 2014-01-13 Christian Bruel <christian.bruel@st.com> |
| |
| * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and |
| optimized non constant lengths. |
| |
| 2014-01-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libgomp/59194 |
| * omp-low.c (expand_omp_atomic_pipeline): Expand the initial |
| load as __atomic_load_N if possible. |
| |
| 2014-01-11 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove |
| target parameter. |
| (rs6000_expand_builtin): Adjust call. |
| |
| 2014-01-11 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/58115 |
| * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define. |
| * config/rs6000/rs6000.c: Include target-globals.h. |
| (rs6000_set_current_function): Instead of doing target_reinit |
| unconditionally, use save_target_globals_default_opts and |
| restore_target_globals. |
| |
| * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for |
| FPSCR. |
| * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New. |
| (rs6000_expand_builtin): Handle mffs and mtfsf. |
| (rs6000_init_builtins): Define mffs and mtfsf. |
| * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants. |
| (rs6000_mffs): New pattern. |
| (rs6000_mtfsf): New pattern. |
| |
| 2014-01-11 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter. |
| Start narrowing with START. Apply candidate-use pair |
| and check overall cost in narrowing. |
| (iv_ca_prune): Pass new argument. |
| |
| 2014-01-10 Jeff Law <law@redhat.com> |
| |
| PR middle-end/59743 |
| * ree.c (combine_reaching_defs): Ensure the defining statement |
| occurs before the extension when optimizing extensions with |
| different source and destination hard registers. |
| |
| 2014-01-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/58585 |
| * ipa-devirt.c (build_type_inheritance_graph): Also add types of |
| vtables into the type inheritance graph. |
| |
| 2014-01-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/59754 |
| * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P |
| modes in the REGNO != REGNO case. |
| |
| 2014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS. |
| |
| 2014-01-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/59745 |
| * tree-predcom.c (tree_predictive_commoning_loop): Call |
| free_affine_expand_cache if giving up because components is NULL. |
| |
| * target-globals.c (save_target_globals): Allocate < 4KB structs using |
| GC in payload of target_globals struct instead of allocating them on |
| the heap and the larger structs separately using GC. |
| * target-globals.h (struct target_globals): Make regs, hard_regs, |
| reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead |
| of GTY((skip)) and change type to void *. |
| (reset_target_globals): Cast loads from those fields to corresponding |
| types. |
| |
| 2014-01-10 Steve Ellcey <sellcey@mips.com> |
| |
| PR plugins/59335 |
| * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h, |
| gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h, |
| tree-ssanames.h, print-tree.h, varasm.h, and context.h. |
| |
| 2014-01-10 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/59744 |
| * aarch64-modes.def (CC_Zmode): New flags mode. |
| * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition |
| represents an equality. |
| (aarch64_get_condition_code): Handle CC_Zmode. |
| * aarch64.md (compare_neg<mode>): Restrict to equality operations. |
| |
| 2014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC |
| extraction in good case. |
| |
| 2014-01-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59374 |
| * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence |
| checking after SLP discovery. Mark stmts not participating |
| in any SLP instance properly. |
| |
| 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (arm_new_rtx_costs): Use destination mode |
| when handling a SET rtx. |
| |
| 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32. |
| (cortex-a57): Likewise. |
| (cortex-a57.cortex-a53): Likewise. Remove redundant flags. |
| |
| 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip |
| non-iwmmxt builtins. |
| |
| 2014-01-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/58252 |
| PR ipa/59226 |
| * ipa-devirt.c record_target_from_binfo): Take as argument |
| stack of binfos and lookup matching one for virtual inheritance. |
| (possible_polymorphic_call_targets_1): Update. |
| |
| 2014-01-10 Huacai Chen <chenhc@lemote.com> |
| |
| * config/mips/driver-native.c (host_detect_local_cpu): Handle new |
| kernel strings for Loongson-2E/2F/3A. |
| |
| 2014-01-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/59670 |
| * tree-vect-data-refs.c (vect_analyze_data_refs): Check |
| is_gimple_call before calling gimple_call_internal_p. |
| |
| 2014-01-09 Steve Ellcey <sellcey@mips.com> |
| |
| * Makefile.in (TREE_FLOW_H): Remove. |
| (TREE_SSA_H): Add file names from tree-flow.h. |
| * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h |
| * tree.h: Remove tree-flow.h reference. |
| * hash-table.h: Remove tree-flow.h reference. |
| * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h |
| reference with tree-ssa-loop.h. |
| |
| 2014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * doc/invoke.texi: Add -maltivec={be,le} options, and document |
| default element-order behavior for -maltivec. |
| * config/rs6000/rs6000.opt: Add -maltivec={be,le} options. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure |
| that -maltivec={le,be} implies -maltivec; disallow -maltivec=le |
| when targeting big endian, at least for now. |
| * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG. |
| |
| 2014-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/47735 |
| * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying |
| var satisfies use_register_for_decl, just take into account type |
| alignment, rather than decl alignment. |
| |
| PR tree-optimization/59622 |
| * gimple-fold.c (gimple_fold_call): Fix a typo in message. For |
| __builtin_unreachable replace the OBJ_TYPE_REF call with a call to |
| __builtin_unreachable and add if needed a setter of the lhs SSA_NAME. |
| Don't devirtualize for inplace at all. For targets.length () == 1, |
| if the call is noreturn and cfun isn't in SSA form yet, clear lhs. |
| |
| 2014-01-09 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.md (cpu): Remove the unused btver1. |
| |
| 2014-01-09 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * gdbasan.in: Put a breakpoint on __sanitizer::Report. |
| |
| 2014-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/58115 |
| * tree-core.h (struct target_globals): New forward declaration. |
| (struct tree_target_option): Add globals field. |
| * tree.h (TREE_TARGET_GLOBALS): Define. |
| (prepare_target_option_nodes_for_pch): New prototype. |
| * target-globals.h (struct target_globals): Define even if |
| !SWITCHABLE_TARGET. |
| * tree.c (prepare_target_option_node_for_pch, |
| prepare_target_option_nodes_for_pch): New functions. |
| * config/i386/i386.h (SWITCHABLE_TARGET): Define. |
| * config/i386/i386.c: Include target-globals.h. |
| (ix86_set_current_function): Instead of doing target_reinit |
| unconditionally, use save_target_globals_default_opts and |
| restore_target_globals. |
| |
| 2014-01-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59715 |
| * tree-cfg.h (split_critical_edges): Declare. |
| * tree-cfg.c (split_critical_edges): Export. |
| * tree-ssa-sink.c (execute_sink_code): Split critical edges. |
| |
| 2014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com> |
| |
| * cfgexpand.c (expand_stack_vars): Optionally disable |
| asan stack protection. |
| (expand_used_vars): Likewise. |
| (partition_stack_vars): Likewise. |
| * asan.c (asan_emit_stack_protection): Optionally disable |
| after return stack usage. |
| (instrument_derefs): Optionally disable memory access instrumentation. |
| (instrument_builtin_call): Likewise. |
| (instrument_strlen_call): Likewise. |
| (asan_protect_global): Optionally disable global variables protection. |
| * doc/invoke.texi: Added doc for new options. |
| * params.def: Added new options. |
| * params.h: Likewise. |
| |
| 2014-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/59724 |
| * ifcvt.c (cond_exec_process_if_block): Don't call |
| flow_find_head_matching_sequence with 0 longest_match. |
| * cfgcleanup.c (flow_find_head_matching_sequence): Count even |
| non-active insns if !stop_after. |
| (try_head_merge_bb): Revert 2014-01-07 changes. |
| |
| 2014-01-08 Jeff Law <law@redhat.com> |
| |
| * ree.c (get_sub_rtx): New function, extracted from... |
| (merge_def_and_ext): Here. |
| (combine_reaching_defs): Use get_sub_rtx. |
| |
| 2014-01-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * cgraph.h (varpool_variable_node): Do not choke on null node. |
| |
| 2014-01-08 Catherine Moore <clm@codesourcery.com> |
| |
| * config/mips/mips.md (simple_return): Attempt to use JRC |
| for microMIPS. |
| * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS. |
| |
| 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR rtl-optimization/59137 |
| * reorg.c (steal_delay_list_from_target): Call update_block for |
| elided insns. |
| (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise. |
| |
| 2014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove |
| two duplicate entries. |
| |
| 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| Revert: |
| 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_truncated_op_cost): New function. |
| (mips_rtx_costs): Adjust test for BADDU. |
| * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands. |
| |
| 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into... |
| (*baddu_si): ...this new pattern. |
| |
| 2014-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/59722 |
| * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts. |
| |
| 2014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR middle-end/57748 |
| * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter |
| inner_reference_p. |
| (expand_expr, expand_normal): Adjust. |
| * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter |
| inner_reference_p. Use inner_reference_p to expand inner references. |
| (store_expr): Adjust. |
| * cfgexpand.c (expand_call_stmt): Adjust. |
| |
| 2014-01-08 Rong Xu <xur@google.com> |
| |
| * gcov-io.c (gcov_var): Move from gcov-io.h. |
| (gcov_position): Ditto. |
| (gcov_is_error): Ditto. |
| (gcov_rewrite): Ditto. |
| * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov |
| only part to libgcc/libgcov.h. |
| |
| 2014-01-08 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/59669 |
| * omp-low.c (simd_clone_adjust): Don't crash if def is NULL. |
| |
| 2014-01-08 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/59667 |
| * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2. |
| |
| 2014-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/59649 |
| * stor-layout.c (get_mode_bounds): For BImode return |
| 0 and STORE_FLAG_VALUE. |
| |
| 2014-01-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/59630 |
| * gimple.h (is_gimple_builtin_call): Remove. |
| (gimple_builtin_call_types_compatible_p): New. |
| (gimple_call_builtin_p): New overload. |
| * gimple.c (is_gimple_builtin_call): Remove. |
| (validate_call): Rename to ... |
| (gimple_builtin_call_types_compatible_p): ... this and export. Also |
| check return types. |
| (validate_type): New static function. |
| (gimple_call_builtin_p): New overload and adjust. |
| * gimple-fold.c (gimple_fold_builtin): Fold the return value. |
| (gimple_fold_call): Likewise. Use gimple_call_builtin_p. |
| (gimple_fold_stmt_to_constant_1): Likewise. |
| * tsan.c (instrument_gimple): Use gimple_call_builtin_p. |
| |
| 2014-01-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/59471 |
| * gimplify.c (gimplify_expr): Gimplify register-register type |
| VIEW_CONVERT_EXPRs to separate stmts. |
| |
| 2014-01-07 Jeff Law <law@redhat.com> |
| |
| PR middle-end/53623 |
| * ree.c (combine_set_extension): Handle case where source |
| and destination registers in an extension insn are different. |
| (combine_reaching_defs): Allow source and destination registers |
| in extension to be different under limited circumstances. |
| (add_removable_extension): Remove restriction that the |
| source and destination registers in the extension are the same. |
| (find_and_remove_re): Emit a copy from the extension's |
| destination to its source after the defining insn if |
| the source and destination registers are different. |
| |
| PR middle-end/59285 |
| * ifcvt.c (merge_if_block): If we are merging a block with more than |
| one successor with a block with no successors, remove any BARRIER |
| after the second block. |
| |
| 2014-01-07 Dan Xio Qiang <ziyan01@163.com> |
| |
| * hw-doloop.c (reorg_loops): Release the bitmap obstack. |
| |
| 2014-01-07 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/59652 |
| * config/pa/pa.c (pa_legitimate_address_p): Return false before reload |
| for 14-bit register offsets when INT14_OK_STRICT is false. |
| |
| 2014-01-07 Roland Stigge <stigge@antcom.de> |
| Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR 57386/target |
| * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): |
| Only check TFmode for SPE constants. Don't check TImode or TDmode. |
| |
| 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for |
| -mcpu. |
| |
| 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com> |
| |
| * config/arm/arm.c (arm_expand_neon_args): Call expand_expr |
| with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned |
| rtx is const0_rtx or not. |
| |
| 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR target/58115 |
| * target-globals.c (save_target_globals): Remove this_fn_optab |
| handling. |
| * toplev.c: Include optabs.h. |
| (target_reinit): Temporarily restore the global options if another |
| set of options are in force. |
| |
| 2014-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/58668 |
| * cfgcleanup.c (flow_find_cross_jump): Don't count |
| any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p |
| to determine what is counted. |
| (flow_find_head_matching_sequence): Use active_insn_p to determine |
| what is counted. |
| (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence |
| counting change. |
| * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to |
| determine what is counted. |
| |
| PR tree-optimization/59643 |
| * tree-predcom.c (split_data_refs_to_components): If one dr is |
| read and one write, determine_offset fails and the write isn't |
| in the bad component, just put the read into the bad component. |
| |
| 2014-01-07 Mike Stump <mikestump@comcast.net> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR pch/59436 |
| * tree-core.h (struct tree_optimization_option): Change optabs |
| type from unsigned char * to void *. |
| * optabs.c (init_tree_optimization_optabs): Adjust |
| TREE_OPTIMIZATION_OPTABS initialization. |
| |
| 2014-01-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59644 |
| * config/i386/i386.h (struct machine_function): Add |
| no_drap_save_restore field. |
| * config/i386/i386.c (ix86_save_reg): Use |
| !cfun->machine->no_drap_save_restore instead of |
| crtl->stack_realign_needed. |
| (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless |
| this function clears frame_pointer_needed. Set |
| cfun->machine->no_drap_save_restore if clearing frame_pointer_needed |
| and DRAP reg is needed. |
| |
| 2014-01-06 Marek Polacek <polacek@redhat.com> |
| |
| PR c/57773 |
| * doc/implement-c.texi: Mention that other integer types are |
| permitted as bit-field types in strictly conforming mode. |
| |
| 2014-01-06 Felix Yang <fei.yang0953@gmail.com> |
| |
| * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it |
| is newly allocated. |
| |
| 2014-01-06 Richard Earnshaw <rearnsha@arm.com> |
| |
| * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD. |
| |
| 2014-01-06 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/59008 |
| * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type |
| to int. |
| * ipa-prop.c (ipa_print_node_params): Fix indentation. |
| |
| 2014-01-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR debug/59350 |
| PR debug/59510 |
| * var-tracking.c (add_stores): Preserve the value of the source even if |
| we don't record the store. |
| |
| 2014-01-06 Terry Guo <terry.guo@arm.com> |
| |
| * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def. |
| |
| 2014-01-05 Iain Sandoe <iain@codesourcery.com> |
| |
| PR bootstrap/59541 |
| * config/darwin.c (darwin_function_section): Adjust return values to |
| correspond to optimisation changes made in r206070. |
| |
| 2014-01-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_data_alignment): Calculate max_align |
| from prefetch_block tune setting. |
| (nocona_cost): Correct size of prefetch block to 64. |
| |
| 2014-01-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines. |
| (arm_expand_epilogue_apcs_frame): Take into account the number of bytes |
| used to save the static chain register in the computation of the offset |
| from which the FP registers need to be restored. |
| |
| 2014-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/59519 |
| * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't |
| ICE if get_current_def (current_new_name) is already non-NULL, as long |
| as it is a phi result of some other phi in *new_exit_bb that has |
| the same argument. |
| |
| * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d} |
| or vmovdqu* for misaligned_operand. |
| (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>, |
| <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>. |
| * config/i386/i386.c (ix86_expand_special_args_builtin): Set |
| aligned_mem for AVX512F masked aligned load and store builtins and for |
| non-temporal moves. |
| |
| 2014-01-03 Bingfeng Mei <bmei@broadcom.com> |
| |
| PR tree-optimization/59651 |
| * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): |
| Address range for negative step should be added by TYPE_SIZE_UNIT. |
| |
| 2014-01-03 Andreas Schwab <schwab@linux-m68k.org> |
| |
| * config/m68k/m68k.c (handle_move_double): Handle pushes with |
| overlapping registers also for registers other than the stack pointer. |
| |
| 2014-01-03 Marek Polacek <polacek@redhat.com> |
| |
| PR other/59661 |
| * doc/extend.texi: Fix the return value of __builtin_FUNCTION and |
| __builtin_FILE. |
| |
| 2014-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/59625 |
| * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider |
| asm goto as jump. |
| |
| * config/i386/i386.md (MODE_SIZE): New mode attribute. |
| (push splitter): Use <P:MODE_SIZE> instead of |
| GET_MODE_SIZE (<P:MODE>mode). |
| (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode). |
| (mov -1, reg peephole2): Likewise. |
| * config/i386/sse.md (*mov<mode>_internal, |
| <sse>_storeu<ssemodesuffix><avxsizesuffix>, |
| <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3, |
| *<code><mode>3, *andnot<mode>3<mask_name>, |
| <mask_codefor><code><mode>3<mask_name>): Likewise. |
| * config/i386/subst.md (mask_mode512bit_condition, |
| sd_mask_mode512bit_condition): Likewise. |
| |
| 2014-01-02 Xinliang David Li <davidxl@google.com> |
| |
| PR tree-optimization/59303 |
| * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup. |
| (dump_predicates): Better output format. |
| (pred_equal_p): New function. |
| (is_neq_relop_p): Ditto. |
| (is_neq_zero_form_p): Ditto. |
| (pred_expr_equal_p): Ditto. |
| (pred_neg_p): Ditto. |
| (simplify_pred): Ditto. |
| (simplify_preds_2): Ditto. |
| (simplify_preds_3): Ditto. |
| (simplify_preds_4): Ditto. |
| (simplify_preds): Ditto. |
| (push_pred): Ditto. |
| (push_to_worklist): Ditto. |
| (get_pred_info_from_cmp): Ditto. |
| (is_degenerated_phi): Ditto. |
| (normalize_one_pred_1): Ditto. |
| (normalize_one_pred): Ditto. |
| (normalize_one_pred_chain): Ditto. |
| (normalize_preds): Ditto. |
| (normalize_cond_1): Remove function. |
| (normalize_cond): Ditto. |
| (is_gcond_subset_of): Ditto. |
| (is_subset_of_any): Ditto. |
| (is_or_set_subset_of): Ditto. |
| (is_and_set_subset_of): Ditto. |
| (is_norm_cond_subset_of): Ditto. |
| (pred_chain_length_cmp): Ditto. |
| (convert_control_dep_chain_into_preds): Type change. |
| (find_predicates): Ditto. |
| (find_def_preds): Ditto. |
| (destroy_predicates_vecs): Ditto. |
| (find_matching_predicates_in_rest_chains): Ditto. |
| (use_pred_not_overlap_with_undef_path_pred): Ditto. |
| (is_pred_expr_subset): Ditto. |
| (is_pred_chain_subset_of): Ditto. |
| (is_included_in): Ditto. |
| (is_superset_of): Ditto. |
| |
| 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| Update copyright years. |
| |
| 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * common/config/arc/arc-common.c, config/arc/arc-modes.def, |
| config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h, |
| config/arc/arc.md, config/arc/arc.opt, |
| config/arm/arm_neon_builtins.def, config/arm/crypto.def, |
| config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h, |
| config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h, |
| config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md, |
| config/linux-protos.h, config/linux.c, config/winnt-c.c, |
| diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c, |
| vtable-verify.c, vtable-verify.h: Use the standard form for the |
| copyright notice. |
| |
| 2014-01-02 Tobias Burnus <burnus@net-b.de> |
| |
| * gcc.c (process_command): Update copyright notice dates. |
| * gcov-dump.c: Ditto. |
| * gcov.c: Ditto. |
| * doc/cpp.texi: Bump @copying's copyright year. |
| * doc/cppinternals.texi: Ditto. |
| * doc/gcc.texi: Ditto. |
| * doc/gccint.texi: Ditto. |
| * doc/gcov.texi: Ditto. |
| * doc/install.texi: Ditto. |
| * doc/invoke.texi: Ditto. |
| |
| 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
| |
| * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it. |
| |
| 2014-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/sse.md (*mov<mode>_internal): Guard |
| EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P. |
| |
| PR rtl-optimization/59647 |
| * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode |
| new_rtx into UNSIGNED_FLOAT rtxes. |
| |
| Copyright (C) 2014 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |