| 2017-10-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-09-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_split_idivmod): Use mode instead of |
| always SImode for DIV and MOD in REG_EQUAL notes. |
| |
| 2017-10-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/82337 |
| * gimple-ssa-strength-reduction.c (find_phi_def): Don't record a |
| phi definition if the PHI result appears in an abnormal PHI. |
| (find_basis_for_base_expr): Don't record a basis if the LHS of the |
| basis appears in an abnormal PHI. |
| |
| 2017-09-26 Iain Sandoe <iain@codesourcery.com> |
| Ryan Mounce <ryan@mounce.com.au> |
| |
| PR bootstrap/81037 |
| Backport from mainline r235362 |
| 2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| * system.h (list, map, set, vector): Include conditionally. |
| * auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define. |
| * graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define. |
| * ipa-icf.c (INCLUDE_LIST): Define. |
| * ipa-icf-gimple.c (INCLUDE_LIST): Define. |
| * config/sh/sh.c (INCLUDE_VECTOR): Define. |
| * config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define. |
| (INCLUDE_LIST, INCLUDE_VECTOR): Define. |
| * fortran/trans-common.c (INCLUDE_MAP): Define. |
| |
| Backport from mainline r235361 |
| 2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| * auto-profile.c: Remove <string.h> include. |
| * diagnostic.c: Remove <new> include. |
| * genmatch.c: Likewise. |
| * pretty-print.c: Likewise. |
| * toplev.c: Likewise |
| * c/c-objc-common.c: Likewise. |
| * cp/error.c: Likewise. |
| * fortran/error.c: Likewise. |
| |
| 2017-09-22 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR tree-optimization/71702 |
| Backport r230667 |
| 2015-11-20 Jim Wilson <jim.wilson@linaro.org> |
| |
| * tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS. |
| |
| 2017-09-21 Alan Modra <amodra@gmail.com> |
| |
| PR target/81996 |
| * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use |
| stack_pointer_rtx for count 0. Update comments. Break up |
| large rtl expression. |
| |
| 2017-09-19 Martin Liska <mliska@suse.cz> |
| |
| PR c++/81355 |
| * config/i386/i386.c (sorted_attr_string): Skip empty strings. |
| |
| 2017-09-19 Martin Liska <mliska@suse.cz> |
| |
| Revert backport: |
| 2017-08-10 Martin Liska <mliska@suse.cz> |
| |
| PR c++/81355 |
| * c-attribs.c (handle_target_attribute): |
| Report warning for an empty string argument of target attribute. |
| |
| 2017-09-18 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-04-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80362 |
| * fold-const.c (fold_binary_loc): Look at unstripped ops when |
| looking for NEGATE_EXPR in -A / -B to A / B folding. |
| |
| 2015-11-25 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/68528 |
| * fold-const.c (fold_binary_loc): Do not call negate_expr_p |
| on stripped operands. |
| |
| 2017-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80171 |
| * gimple-fold.c (fold_ctor_reference): Properly guard against |
| NULL return value from canonicalize_constructor_val. |
| |
| 2016-06-13 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64516 |
| * fold-const.c (fold_unary_loc): Preserve alignment when |
| folding a VIEW_CONVERT_EXPR into a MEM_REF. |
| |
| 2017-09-16 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-08-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/81687 |
| * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL |
| LABEL_DECLs. |
| * tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL |
| or DECL_NONLOCAL labels. |
| (move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL |
| or DECL_NONLOCAL labels here. |
| |
| 2017-08-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81766 |
| * function.c (thread_prologue_and_epilogue_insns): Restore |
| behavior of always calling find_many_sub_basic_blocks on |
| the inserted prologue. |
| |
| 2017-08-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81621 |
| * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish |
| after setting changeable df flags. |
| |
| PR middle-end/81052 |
| * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp. |
| (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd. |
| |
| 2017-08-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79499 |
| * function.c (thread_prologue_and_epilogue_insns): Determine blocks |
| for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN |
| of first NONDEBUG_INSN_P in each of the split_prologue_seq and |
| prologue_seq sequences - if any. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-11 Martin Liska <mliska@suse.cz> |
| |
| PR tree-opt/79987 |
| * tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument |
| variables of void type. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-06-28 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/81224 |
| * asan.c (instrument_derefs): Bail out inner references |
| that are hard register variables. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-30 Martin Liska <mliska@suse.cz> |
| |
| PR inline-asm/82001 |
| * ipa-icf-gimple.c (func_checker::compare_tree_list_operand): |
| Rename to ... |
| (func_checker::compare_asm_inputs_outputs): ... this function. |
| (func_checker::compare_gimple_asm): Use the function to compare |
| also ASM constrains. |
| * ipa-icf-gimple.h: Rename the function. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-10 Martin Liska <mliska@suse.cz> |
| |
| PR c++/81355 |
| * c-attribs.c (handle_target_attribute): |
| Report warning for an empty string argument of target attribute. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-08 Martin Liska <mliska@suse.cz> |
| |
| PR tree-opt/81696 |
| * ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider |
| LABEL_DECLs that can be from a different function. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-06-28 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/81128 |
| * ipa-visibility.c (non_local_p): Handle visibility. |
| |
| 2017-09-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/81833 |
| * config/rs6000/altivec.md (altivec_vsum2sws): Convert from a |
| define_insn to a define_expand. |
| (altivec_vsum2sws_direct): New define_insn. |
| (altivec_vsumsws): Convert from a define_insn to a define_expand. |
| |
| 2017-09-11 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| PR target/82181 |
| * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both |
| words of DImode object are reachable by xtensa_uimm8x4 access. |
| |
| 2017-09-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline: |
| 2017-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/81987 |
| * gimple-ssa-strength-reduction.c (insert_initializers): Don't |
| insert an initializer in a location not dominated by the stride |
| definition. |
| |
| 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81503 |
| * gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure |
| folded constant fits in the target type; reorder tests for clarity. |
| |
| 2017-08-22 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-17 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/80210 |
| * config/rs6000/rs6000.c (rs6000_activate_target_options): New function. |
| (rs6000_set_current_function): Rewrite function to use it. |
| |
| 2017-08-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-26 gcc-7-branch r250562. |
| |
| PR 81487 |
| * tree-ssa-structalias.c (alias_get_name): Use xasprintf instead |
| of asprintf. |
| |
| 2017-08-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from trunk r247719. |
| 2017-05-06 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR rtl-optimization/75964 |
| * simplify-rtx.c (simplify_const_relational_operation): Remove |
| invalid handling of comparisons of integer ABS. |
| |
| 2017-08-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-05 trunk r249995. |
| |
| PR target/81305 |
| * config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]: |
| Don't depend on "optimize > 0". |
| (out_movhi_r_mr, out_movqi_mr_r): Same. |
| (out_movhi_mr_r, out_movqi_r_mr): Same. |
| (avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for |
| io_address_operand on "optimize > 0". |
| |
| 2017-08-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-06-15 trunk r237486. |
| Backport from 2017-07-12 trunk r250156. |
| |
| PR target/79883 |
| PR target/67353 |
| * config/avr/avr.c (avr_set_current_function): Warn misspelled ISR |
| only if -Wmisspelled-isr is on. In diagnostic messages: Quote |
| keywords and (parts of) identifiers. |
| [WITH_AVRLIBC]: Warn functions named "ISR", "SIGNAL" or "INTERUPT". |
| * doc/invoke.texi (AVR Options) <-Wmisspelled-isr>: Document. |
| |
| 2017-08-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-04-19 trunk r246997. |
| |
| PR target/80462 |
| * config/avr/avr.c (tree.h): Include it. |
| (hash-table.h): Include it. |
| (hash-set.h): Include it. |
| (symtab.h): Include it. |
| (inchash.h): Include it. |
| (function.h): Include it. |
| (hash-map.h): Include it. |
| (plugin-api.h): Include it. |
| (ipa-ref.h): Include it. |
| (cgraph.h): Include it. |
| (avr_encode_section_info): Don't warn for uninitialized progmem |
| variable if it's just an alias. |
| |
| Backport from 2017-07-12 trunk r250151. |
| |
| PR target/81407 |
| * config/avr/avr.c (avr_encode_section_info) |
| [progmem && !TREE_READONLY]: Error if progmem object needs |
| constructing. |
| |
| 2017-08-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-08-22 trunk r251256. |
| |
| PR target/81910 |
| * config/avr/avr.c (avr_handle_addr_attribute): Early return if |
| not VAR_P. Filter attribute warnings with OPT_Wattributes. |
| (avr_attribute_table) <io, io_low, address>: Initialize |
| .decl_required with true. |
| |
| 2017-08-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81894 |
| * doc/extend.texi (x86 Built-in Functions): Correct the name of |
| __builtin_ia32_lzcnt_u16. |
| |
| 2017-08-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-08-17 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR target/81861 |
| * config/i386/i386.c (ix86_option_override_internal): Save target |
| specific options after ix86_stack_protector_guard_reg was changed. |
| |
| 2017-08-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/81354 |
| * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): |
| Insert on edges rather than explicitly creating landing pads. |
| (analyze_candidates_and_replace): Commit edge inserts. |
| |
| 2017-07-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/81604 |
| * ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't |
| change type to the element type, instead add eltype variable and |
| use it where we are interested in the element type. |
| |
| 2017-07-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/81555 |
| PR tree-optimization/81556 |
| * tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument, |
| if true, force CHANGED for the recursive invocation. |
| (reassociate_bb): Remember original length of ops array, pass |
| len != orig_len as NEXT_CHANGED in rewrite_expr_tree call. |
| |
| 2017-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline r235874 |
| 2016-05-04 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op): |
| Align .toc. |
| |
| 2016-07-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-07-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/81162 |
| * gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't |
| replace a negate with an add. |
| |
| 2017-07-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80569 |
| * config/i386/i386.c (ix86_option_override_internal): Disable |
| BMI, BMI2 and TBM instructions for -m16. |
| |
| 2017-07-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81471 |
| * config/i386/i386.md (rorx_immediate_operand): New mode attribute. |
| (*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as |
| operand 2 predicate. |
| (*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as |
| operand 2 predicate. |
| (ror,rol -> rorx splitters): Use const_int_operand as |
| operand 2 predicate. |
| |
| 2017-07-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-07-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81375 |
| * config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH. |
| (rcpps): Ditto. |
| (*rsqrtsf2_sse): Ditto. |
| (rsqrtsf2): Ditto. |
| (div<mode>3): Macroize insn from divdf3 and divsf3 |
| using MODEF mode iterator. |
| |
| Backport from mainline |
| 2017-07-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81300 |
| * config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes): |
| Require dead FLAGS_REG at the beginning of a peephole. |
| |
| 2017-07-03 Tom de Vries <tom@codesourcery.com> |
| |
| backport from mainline: |
| PR tree-optimization/81192 |
| 2017-07-03 Tom de Vries <tom@codesourcery.com> |
| |
| * tree-ssa-tail-merge.c (same_succ_flush_bb): Handle |
| BB_SAME_SUCC (bb) == NULL. |
| |
| 2017-06-27 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Revert: |
| Backports from trunk: |
| |
| 2017-04-12 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/80382 |
| * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test |
| for quad_address_p for TImode, instead of just not indexed_address. |
| |
| 2017-06-09 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/80966 |
| * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that |
| gen_add3_insn did not fail. |
| * config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to |
| r0, construct that number in a temporary reg and add that reg to r0. |
| If asked to put the result in r0 as well, fail. |
| |
| 2017-06-27 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backports from trunk: |
| |
| 2016-08-15 Segher Boessenkool <segher@kernel.crashing.org> |
| PR rtl-optimization/73650 |
| * lra-constraints.c (simple_move_p): If the insn is multiple_sets |
| it is not a simple move. |
| |
| 2017-01-20 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/61729 |
| PR target/77850 |
| * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to |
| read from, for big endian. |
| |
| 2017-04-12 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/80382 |
| * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test |
| for quad_address_p for TImode, instead of just not indexed_address. |
| |
| 2017-05-17 Segher Boessenkool <segher@kernel.crashing.org> |
| PR middle-end/80692 |
| * real.c (do_compare): Give decimal_do_compare preference over |
| comparing just the signs. |
| |
| 2017-05-31 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/80618 |
| * config/rs6000/vector.md (*vector_uneq<mode>): Write the nor in the |
| splitter result in the canonical way. |
| |
| 2017-06-09 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/80966 |
| * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that |
| gen_add3_insn did not fail. |
| * config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to |
| r0, construct that number in a temporary reg and add that reg to r0. |
| If asked to put the result in r0 as well, fail. |
| |
| 2017-06-23 Segher Boessenkool <segher@kernel.crashing.org> |
| PR middle-end/80902 |
| * builtins.c (expand_builtin_atomic_fetch_op): If emitting code after |
| a call, force the call to not be a tail call. |
| |
| 2017-06-23 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2017-05-04 Prakhar Bahuguna <prakhar.bahuguna@arm.com> |
| |
| * config/arm/arm-builtins.c (arm_init_builtins): Rename |
| __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename |
| __builtin_arm_stfscr to __builtin_arm_set_fpscr. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-31 Martin Liska <mliska@suse.cz> |
| |
| PR target/79155 |
| * config/i386/cpuid.h: Fix typo in a comment in cpuid.h. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-30 Martin Liska <mliska@suse.cz> |
| |
| PR other/80909 |
| * auto-profile.c (get_function_decl_from_block): Fix |
| parenthesis. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80663 |
| * params.def: Bound partial-inlining-entry-probability param. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-16 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79850. |
| * ipa-devirt.c (odr_types_equivalent_p): Fix typo. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-15 Martin Liska <mliska@suse.cz> |
| |
| PR driver/31468 |
| * gcc.c (process_command): Do not allow empty argument of -o option. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-02 Martin Liska <mliska@suse.cz> |
| |
| * doc/gcov.texi: Add missing preposition. |
| * gcov.c (function_info::function_info): Properly fill up |
| all member variables. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-02 Martin Liska <mliska@suse.cz> |
| |
| PR other/80589 |
| * common.opt: Fix typo. |
| * doc/invoke.texi: Likewise. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| * doc/gcov.texi: Enhance documentation of gcov. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| * doc/gcov.texi: Sort options in alphabetic order. |
| * doc/gcov-dump.texi: Likewise. |
| * doc/gcov-tool.texi: Likewise. |
| * gcov.c (print_usage): Likewise. |
| * gcov-dump.c (print_usage): Likewise. |
| * gcov-tool.c (print_merge_usage_message): Likewise. |
| (print_rewrite_usage_message): Likewise. |
| (print_overlap_usage_message): Likewise. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/53915 |
| * gcov.c (format_gcov): Print 'NAN %' when top > bottom. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| PR driver/56469 |
| * coverage.c (coverage_remove_note_file): New function. |
| * coverage.h: Declare the function. |
| * toplev.c (finalize): Clean if an error has been seen. |
| |
| 2017-06-09 David S. Miller <davem@davemloft.net> |
| |
| PR target/80968 |
| * config/sparc/sparc.c (sparc_flat_expand_epilogue): Don't |
| emit frame blockage here. |
| (sparc_expand_epilogue): Do it here. |
| * config/sparc/sparc.md (return expander): Emit frame blockage |
| for alloca here too. |
| |
| 2017-06-06 David S. Miller <davem@davemloft.net> |
| |
| PR target/80968 |
| * config/sparc/sparc.c (sparc_expand_prologue): Emit frame |
| blockage if function uses alloca. |
| |
| 2017-06-01 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-08-19 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step, |
| _rdseed64_step): Uglify argument names and/or local variable names |
| in inline functions. |
| * config/i386/rtmintrin.h (_xabort): Likewise. |
| * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64, |
| _mm256_mask_ternarylogic_epi64, _mm256_maskz_ternarylogic_epi64, |
| _mm256_ternarylogic_epi32, _mm256_mask_ternarylogic_epi32, |
| _mm256_maskz_ternarylogic_epi32, _mm_ternarylogic_epi64, |
| _mm_mask_ternarylogic_epi64, _mm_maskz_ternarylogic_epi64, |
| _mm_ternarylogic_epi32, _mm_mask_ternarylogic_epi32, |
| _mm_maskz_ternarylogic_epi32): Likewise. |
| * config/i386/lwpintrin.h (__llwpcb, __lwpval32, __lwpval64, |
| __lwpins32, __lwpins64): Likewise. |
| * config/i386/avx2intrin.h (_mm_i32gather_pd, _mm_mask_i32gather_pd, |
| _mm256_i32gather_pd, _mm256_mask_i32gather_pd, _mm_i64gather_pd, |
| _mm_mask_i64gather_pd, _mm256_i64gather_pd, _mm256_mask_i64gather_pd, |
| _mm_i32gather_ps, _mm_mask_i32gather_ps, _mm256_i32gather_ps, |
| _mm256_mask_i32gather_ps, _mm_i64gather_ps, _mm_mask_i64gather_ps, |
| _mm256_i64gather_ps, _mm256_mask_i64gather_ps, _mm_i32gather_epi64, |
| _mm_mask_i32gather_epi64, _mm256_i32gather_epi64, |
| _mm256_mask_i32gather_epi64, _mm_i64gather_epi64, |
| _mm_mask_i64gather_epi64, _mm256_i64gather_epi64, |
| _mm256_mask_i64gather_epi64, _mm_i32gather_epi32, |
| _mm_mask_i32gather_epi32, _mm256_i32gather_epi32, |
| _mm256_mask_i32gather_epi32, _mm_i64gather_epi32, |
| _mm_mask_i64gather_epi32, _mm256_i64gather_epi32, |
| _mm256_mask_i64gather_epi32): Likewise. |
| * config/i386/pmm_malloc.h (_mm_malloc, _mm_free): Likewise. |
| * config/i386/ia32intrin.h (__writeeflags): Likewise. |
| * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd, |
| _mm512_mask_prefetch_i32gather_ps, _mm512_mask_prefetch_i64gather_pd, |
| _mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd, |
| _mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd, |
| _mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd, |
| _mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd, |
| _mm512_mask_prefetch_i64scatter_ps): Likewise. |
| * config/i386/gmm_malloc.h (_mm_malloc, _mm_free): Likewise. |
| * config/i386/avx512fintrin.h (_mm512_ternarylogic_epi64, |
| _mm512_mask_ternarylogic_epi64, _mm512_maskz_ternarylogic_epi64, |
| _mm512_ternarylogic_epi32, _mm512_mask_ternarylogic_epi32, |
| _mm512_maskz_ternarylogic_epi32, _mm512_i32gather_ps, |
| _mm512_mask_i32gather_ps, _mm512_i32gather_pd, _mm512_i64gather_ps, |
| _mm512_i64gather_pd, _mm512_i32gather_epi32, _mm512_i32gather_epi64, |
| _mm512_i64gather_epi32, _mm512_i64gather_epi64): Likewise. |
| |
| 2017-05-30 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2017-05-29 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.c (xtensa_emit_call): Use |
| HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string. |
| (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld |
| format string. |
| |
| 2017-05-30 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2016-11-29 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero |
| overhead loop start between a call and its CALL_ARG_LOCATION |
| note. |
| |
| 2017-05-30 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2015-09-15 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New |
| definition. |
| (DWARF_FRAME_REGISTERS): Reserve space for one extra register in |
| call0 ABI. |
| |
| 2017-05-30 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2015-09-15 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2 |
| to pass TLS call argument, according to current ABI. |
| * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or |
| callx0 for TLS call, according to current ABI. |
| |
| 2017-05-30 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-04-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the |
| environment. |
| |
| 2017-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/80385 |
| * simplify-rtx.c (simplify_unary_operation_1): Don't transform |
| (not (neg X)) into (plus X -1) for complex or non-integral modes. |
| |
| PR libgomp/80394 |
| * omp-low.c (scan_omp_task): Don't optimize away empty tasks |
| if they have any depend clauses. |
| |
| 2017-04-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80286 |
| * config/i386/i386.c (ix86_expand_args_builtin): If op has scalar |
| int mode, convert_modes it to mode as unsigned, otherwise use |
| lowpart_subreg to mode rather than SImode. |
| * config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>, |
| ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>): |
| Use DImode instead of SImode for the shift count operand. |
| * config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3): |
| Likewise. |
| |
| 2017-03-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/80025 |
| * cselib.c (cselib_hasher::equal): Pass 0 to rtx_equal_for_cselib_1. |
| (rtx_equal_for_cselib_1): Add depth argument. If depth |
| is 128, don't look up VALUE locs and punt. Increment |
| depth in recursive calls when walking VALUE locs. |
| |
| 2017-03-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/80168 |
| * asan.c (instrument_derefs): Copy over last operand from |
| original COMPONENT_REF to the new COMPONENT_REF with |
| DECL_BIT_FIELD_REPRESENTATIVE. |
| * ubsan.c (instrument_object_size): Likewise. |
| |
| 2017-03-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/80112 |
| * loop-doloop.c (doloop_condition_get): Don't check condition |
| if cmp isn't SET with IF_THEN_ELSE src. |
| |
| 2017-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/80129 |
| * gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear |
| TREE_READONLY on result if writing it more than once. |
| |
| 2017-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/79944 |
| * asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and |
| BUILT_IN_SYNC*, determine the access type from the size suffix and |
| always build a MEM_REF with that type. Handle forgotten |
| BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16. |
| |
| PR target/79932 |
| * config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask, |
| _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask, |
| _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask, |
| _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask, |
| _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask, |
| _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask, |
| _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask, |
| _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask, |
| _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask, |
| _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask, |
| _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask, |
| _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask, |
| _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask, |
| _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask, |
| _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask, |
| _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask, |
| _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask, |
| _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask, |
| _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask, |
| _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask, |
| _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask, |
| _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask, |
| _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask, |
| _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask, |
| _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask, |
| _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask, |
| _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask, |
| _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask, |
| _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask, |
| _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move |
| definitions outside of __OPTIMIZE__ guarded section. |
| |
| PR target/79932 |
| * config/i386/avx512bwintrin.h (_mm512_packs_epi32, |
| _mm512_maskz_packs_epi32, _mm512_mask_packs_epi32, |
| _mm512_packus_epi32, _mm512_maskz_packus_epi32, |
| _mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__ |
| guarded section. |
| |
| 2017-03-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/79901 |
| * config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to |
| ... |
| (*avx512f_<code><mode>3<mask_name>): ... this. |
| (<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F |
| iterator instead of VI8_AVX2_AVX512BW. |
| |
| PR rtl-optimization/79901 |
| * expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no |
| min/max expander, expand it using expand_vec_cond_expr. |
| |
| 2017-03-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79807 |
| * config/i386/i386.c (ix86_expand_multi_arg_builtin): If target |
| is a memory operand, increase num_memory. |
| (ix86_expand_args_builtin): Likewise. |
| |
| 2017-02-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79729 |
| * config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace |
| gcc_unreachable with output_operand_lossage. |
| |
| 2017-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79396 |
| * tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle |
| FMA_EXPR like tcc_binary or tcc_unary. |
| |
| 2017-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79570 |
| * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head |
| on temporarily removed DEBUG_INSNs. |
| |
| PR target/79494 |
| * config/i386/i386.c (ix86_expand_split_stack_prologue): Call |
| make_reg_eh_region_note_nothrow_nononlocal on call_insn. |
| |
| 2017-02-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79568 |
| * config/i386/i386.c (ix86_expand_builtin): Handle |
| OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in |
| ix86_builtins_isa[fcode].isa as a requirement of those |
| flags and any other flag in the bitmask. |
| (ix86_init_mmx_sse_builtins): Use 0 instead of |
| ~OPTION_MASK_ISA_64BIT as mask. |
| * config/i386/i386-builtin.def (bdesc_special_args, |
| bdesc_args): Likewise. |
| |
| 2017-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79559 |
| * config/i386/i386.c (ix86_print_operand): Use output_operand_lossage |
| instead of gcc_assert for K, r and R code checks. Formatting fixes. |
| |
| 2017-02-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79411 |
| * tree-ssa-reassoc.c (is_reassociable_op): Return false if |
| stmt operands are SSA_NAMEs used in abnormal phis. |
| (can_reassociate_p): Return false if op is SSA_NAME used in abnormal |
| phis. |
| |
| 2017-02-07 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79399 |
| * ira-int.h (struct target_ira_int): Change x_max_struct_costs_size |
| type from int to size_t. |
| * ira-costs.c (struct_costs_size): Change type from int to size_t. |
| |
| 2017-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79197 |
| * config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ... |
| (fixuns_trunc<mode>di2): ... this, remove previous expander. Put all |
| conditions on a single line. |
| |
| 2016-12-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/77905 |
| * ipa-pure-const.c (cdtor_p): Return true for |
| DECL_STATIC_{CON,DE}STRUCTOR even when it is |
| DECL_LOOPING_CONST_OR_PURE_P. |
| |
| 2016-12-14 Wilco Dijkstra <wdijkstr@arm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/78796 |
| * config/aarch64/aarch64.c (aarch64_classify_symbol): Merge large |
| model checks into switch. |
| |
| 2016-11-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/78298 |
| * tree-nested.c (convert_local_reference_stmt): After adding |
| shared (FRAME.NN) clause to omp parallel, task or target, |
| add it also to all outer omp parallel, task or target constructs. |
| |
| 2016-11-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69183 |
| * omp-low.c (build_outer_var_ref): Change lastprivate argument |
| to code, pass it recursively, adjust uses. For OMP_CLAUSE_PRIVATE |
| on worksharing constructs, treat it like clauses on simd construct. |
| Formatting fix. |
| (lower_rec_input_clauses): For OMP_CLAUSE_PRIVATE_OUTER_REF pass |
| OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref. |
| (lower_lastprivate_clauses): Pass OMP_CLAUSE_LASTPRIVATE instead |
| of true as last argument to build_outer_var_ref. |
| |
| 2016-11-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/78416 |
| * expmed.c (expand_divmod): Use wide_int for computation of |
| op1_is_pow2. Don't set it if op1 is 0. Formatting fixes. |
| Use size <= HOST_BITS_PER_WIDE_INT instead of |
| HOST_BITS_PER_WIDE_INT >= size. |
| |
| 2016-11-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/67335 |
| * omp-low.c (simd_clone_adjust_argument_types): Use NULL prefix |
| for tmp simd array if DECL_NAME (parm) is NULL. |
| |
| 2016-11-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/78378 |
| * combine.c (make_extraction): Use force_to_mode for non-{REG,MEM} |
| inner only if pos is 0. Fix up formatting. |
| |
| 2016-11-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/78227 |
| * config/i386/i386.c (ix86_expand_sse_cmp): Force dest into |
| cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp. |
| |
| 2016-10-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/77919 |
| * expr.c (expand_expr_real_1) <normal_inner_ref>: Only avoid forcing |
| into memory if both modes are complex and their inner modes have the |
| same precision. If the two modes are different complex modes, convert |
| each part separately and generate a new CONCAT. |
| |
| 2016-10-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/77919 |
| * expr.c (expand_expr_real_1) <normal_inner_ref>: Force CONCAT into |
| MEM if mode1 is not a complex mode. |
| |
| 2016-10-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/66343 |
| * ubsan.c (ubsan_ids): New GTY(()) array. |
| (ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids |
| instead of static local counters. |
| |
| 2016-09-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/77665 |
| * tree-inline.c (remap_gimple_stmt): Set has_simduid_loops |
| for all IFN_GOMP_SIMD_* internal fns. |
| |
| 2016-09-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/77624 |
| * builtins.c (fold_builtin_atomic_always_lock_free): Only look through |
| cast to void * if the cast is from some other pointer type. |
| |
| 2016-09-19 Jakub Jelinek <jakub@redhat.com> |
| Jan Hubicka <jh@suse.cz> |
| |
| PR target/77587 |
| * cgraph.c (cgraph_node::rtl_info): Pass &avail to |
| ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE. |
| Call ultimate_alias_target just once, not up to 4 times. |
| |
| 2016-09-16 Jakub Jelinek <jakub@redhat.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/77594 |
| * internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall |
| through into expand_addsub_overflow after expand_neg_overflow. |
| |
| 2016-09-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/68260 |
| * tsan.c: Include target.h. |
| (enum tsan_atomic_action): Add bool_clear and bool_test_and_set. |
| (BOOL_CLEAR, BOOL_TEST_AND_SET): Define. |
| (tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and |
| BUILT_IN_ATOMIC_TEST_AND_SET entries. |
| (instrument_builtin_call): Handle bool_clear and bool_test_and_set. |
| |
| 2016-09-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/77516 |
| * omp-low.c (lower_rec_simd_input_clauses): Use max_vf for non-positive |
| OMP_CLAUSE_SAFELEN_EXPR. |
| |
| 2016-08-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/77363 |
| * dwarf2out.c (modified_type_die): Use lookup_type_die (type) |
| instead of lookup_type_die (type_main_variant (type)) even for array |
| types. |
| |
| PR middle-end/77377 |
| * simplify-rtx.c (avoid_constant_pool_reference): For out of bounds |
| constant pool reference return x instead of c. |
| |
| 2016-08-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/71910 |
| * tree-cfg.c (execute_fixup_cfg): Add node variable, use it. Before inlining, |
| add cgraph edge for the added __builtin_unreachable call. |
| |
| 2016-08-15 Martin Liska <mliska@suse.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/72824 |
| * tree-loop-distribution.c (const_with_all_bytes_same) |
| <case VECTOR_CST>: Fix a typo. |
| |
| 2016-08-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/72824 |
| * tree-loop-distribution.c (const_with_all_bytes_same): Verify |
| real_zerop is not negative. |
| |
| 2016-07-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/71953 |
| * asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types |
| before builtin_decl_implicit. |
| |
| 2017-05-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/install.texi (Options specification): Move entry of |
| --enable-sjlj-exceptions. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-24 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/79931 |
| * ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-19 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/65972 |
| * auto-profile.c (afdo_vpt_for_early_inline): Update SSA |
| when needed by AutoPGO. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-19 Paulo J. Matos <paulo@matos-sorge.com> |
| |
| PR lto/50345 |
| * doc/lto.texi: Remove an extra 'that'. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-18 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/78783 |
| * gcov-tool.c (gcov_output_files): Validate that destination |
| file is either removed by the tool or by a user. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-13 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/80413 |
| * gcov-io.c (gcov_write_string): Copy to buffer just when |
| allocated size is greater than zero. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-11 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80212 |
| * cgraph.c (cgraph_node::dump): Dump calls_comdat_local. |
| * ipa-split.c (split_function): Create a local comdat symbol |
| if caller is in a comdat group. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-11 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80212 |
| * ipa-cp.c (determine_versionability): Handle calls_comdat_local |
| flags. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-11 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/70878 |
| * ubsan.c (instrument_object_size): Do not instrument register |
| variables. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-10 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/80224 |
| * gcov.c (print_usage): Fix usage string. |
| (get_gcov_intermediate_filename): Remove. |
| (output_gcov_file): Use both for normal and intermediate format. |
| (generate_results): Do not initialize special file for |
| intermediate format. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-28 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/80205 |
| * tree-inline.c (copy_phis_for_bb): Do not create PHI node |
| without arguments, generate default definition of a SSA name. |
| |
| 2017-05-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-28 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80104 |
| * cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a |
| thunk call as DECL_GIMPLE_REG_P when vector or complex type. |
| |
| 2017-05-26 Sheldon Lobo <smlobo@sheldon.us.oracle.com> |
| |
| Backported from mainline |
| 2017-05-24 Sheldon Lobo <smlobo@sheldon.us.oracle.com> |
| |
| * config/sparc/sparc.md (length): Return the correct value for -mflat |
| sibcalls to match output_sibcall. |
| |
| 2017-05-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-05-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80799 |
| * config/i386/mmx.md (*mov<mode>_internal): Enable |
| alternatives 11, 12, 13 and 14 also for 32bit targets. |
| Remove alternatives 15, 16, 17 and 18. |
| * config/i386/sse.md (vec_concatv2di): Change |
| alternative (!x, *y) to (x, ?!*Yn). |
| |
| 2017-05-15 Richard Biener <rguenther@suse.de> |
| |
| Revert backport of |
| PR middle-end/80222 |
| * gimple-fold.c (gimple_fold_indirect_ref): Do not touch |
| TYPE_REF_CAN_ALIAS_ALL references. |
| * fold-const.c (fold_indirect_ref_1): Likewise. |
| |
| 2017-05-10 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-02-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79732 |
| * tree-inline.c (expand_call_inline): Handle anonymous |
| SSA lhs properly when inlining a function without return |
| value. |
| |
| 2017-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79666 |
| * tree-vrp.c (extract_range_from_binary_expr_1): Make sure |
| to not symbolically negate if that may introduce undefined |
| overflow. |
| |
| 2017-05-10 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80122 |
| * tree-inline.c (copy_bb): Do not expans va-arg packs or |
| va_arg_pack_len when the inlined call stmt requires pack |
| expansion itself. |
| * tree-inline.h (struct copy_body_data): Make call_stmt a gcall *. |
| |
| 2017-03-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80222 |
| * gimple-fold.c (gimple_fold_indirect_ref): Do not touch |
| TYPE_REF_CAN_ALIAS_ALL references. |
| * fold-const.c (fold_indirect_ref_1): Likewise. |
| |
| 2017-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80334 |
| * tree-ssa-loop-ivopts.c (rewrite_use_address): Properly |
| preserve alignment of accesses. |
| |
| 2017-04-27 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80539 |
| * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not |
| being in loop-closed SSA form conservatively. |
| (chrec_fold_multiply_poly_poly): Likewise. |
| |
| 2016-05-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| PR target/69868 + swap optimization backports |
| * config/rs6000/rs6000.c (swap_web_entry): Enlarge |
| special_handling bitfield. |
| (special_handling_values): Add SH_XXPERMDI, SH_CONCAT, SH_VPERM, |
| and SH_VPERM_COMP. |
| (const_load_sequence_p): New. |
| (load_comp_mask_p): New. |
| (v2df_reduction_p): New. |
| (rtx_is_swappable_p): Perform special handling for XXPERMDI and |
| for reductions. |
| (insn_is_swappable_p): Perform special handling for VEC_CONCAT, |
| V2DF reductions, and various permutes. |
| (adjust_xxpermdi): New. |
| (adjust_concat): New. |
| (find_swapped_load_and_const_vector): New. |
| (replace_const_vector_in_load): New. |
| (adjust_vperm): New. |
| (adjust_vperm_comp): New. |
| (handle_special_swappables): Call adjust_xxpermdi, adjust_concat, |
| adjust_vperm, and adjust_vperm_comp. |
| (replace_swap_with_copy): Allow vector NOT operations to also be |
| replaced by copies. |
| (dump_swap_insn_table): Handle new special handling values. |
| |
| 2017-05-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-05-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/68491 |
| * config/i386/cpuid.h (__get_cpuid): Always return 0 when |
| __get_cpuid_max returns 0. |
| |
| 2017-04-21 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| Backport from mainline |
| +2015-11-23 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| PR target/68390 |
| * config/arm/arm.c (arm_function_ok_for_sibcall): Get function type |
| for indirect function call. |
| |
| 2017-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/80376 |
| PR target/80315 |
| * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return |
| CONST0_RTX (mode) rather than const0_rtx where appropriate. |
| (rs6000_expand_binop_builtin): Likewise. |
| (rs6000_expand_ternop_builtin): Likewise; also add missing |
| vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for |
| vshasigma built-ins. |
| * doc/extend.texi: Document that vec_xxpermdi's third argument |
| must be a constant. |
| |
| 2017-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from GCC 6 |
| 2017-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/80082 |
| * config/arm/arm-protos.h (FL_LPAE): Define macro. |
| (FL_FOR_ARCH7VE): Add FL_LPAE. |
| (arm_arch_lpae): Declare extern. |
| * config/arm/arm.c (arm_arch_lpae): Declare. |
| (arm_option_override): Define arm_arch_lpae. |
| * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of |
| arm_arch_lpae. |
| |
| 2017-04-11 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2017-03-30 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/77333 |
| * cgraph.h (cgraph_build_function_type_skip_args): Declare. |
| * cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that |
| it reflects the signature changes performed at the callee side. |
| * cgraphclones.c (build_function_type_skip_args): Make public, renamed |
| to cgraph_build_function_type_skip_args. |
| (build_function_decl_skip_args): Adjust call to the above function. |
| |
| 2017-04-11 Bin Cheng <bin.cheng@arm.com> |
| |
| Backport from mainline |
| 2016-02-10 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/68021 |
| * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if |
| when computing the value of biv cand by itself. |
| |
| 2017-04-08 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2017-04-08 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME. |
| Add comment for WCHAR_T. |
| |
| 2017-04-07 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2017-04-07 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/aarch64/aarch64-freebsd.h: Define WCHAR_T. |
| |
| 2017-04-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-04-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/79733 |
| * config/i386/i386.c (ix86_expand_builtin) |
| <case IX86_BUILTIN_KORTEST{C,Z}16>: Determine insn operand |
| mode from insn data. Convert operands to insn operand mode. |
| Copy operands that don't satisfy insn predicate to a register. |
| |
| 2017-03-30 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-03-30 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/80246 |
| * config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0. |
| (dfp_diex_<mode>): Update mode of operand 1. |
| * doc/extend.texi (dxex, dxexq): Document change to return type. |
| (diex, diexq): Document change to argument type. |
| |
| 2017-03-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80180 |
| * config/i386/i386.c (ix86_expand_builtin) |
| <IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between |
| flags reg setting and flags reg using instructions. |
| <IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto. Use non-flags reg |
| clobbering instructions to zero extend op2. |
| |
| >>>>>>> .r248557 |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-02-22 Martin Liska <mliska@suse.cz> |
| |
| PR lto/79587 |
| * data-streamer-in.c (streamer_read_gcov_count): Remove assert. |
| * data-streamer-out.c (streamer_write_gcov_count_stream): |
| Likewise. |
| * value-prof.c (stream_out_histogram_value): Make assert more |
| precise based on type of counter. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| PR target/79906 |
| * config/rs6000/rs6000.c (rs6000_inner_target_options): Show |
| error message instead of an ICE. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/80081 |
| * Makefile.in: Add gcov-dump and fix installation of gcov-tool. |
| * doc/gcc.texi: Include gcov-dump stuff. |
| * doc/gcov-dump.texi: New file. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-20 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/79753 |
| * tree-chkp.c (chkp_build_returned_bound): Do not build |
| returned bounds for a LHS that's not a BOUNDED_P type. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-20 Martin Liska <mliska@suse.cz> |
| |
| PR target/79769 |
| PR target/79770 |
| * tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST, |
| COMPLEX_CST and VECTOR_CST. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/79831 |
| * doc/invoke.texi (-Wchkp): Document the option. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-13 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/78339 |
| * ipa-pure-const.c (warn_function_noreturn): If the declarations |
| is a CHKP clone, use original declaration. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-06-13 Martin Liska <mliska@suse.cz> |
| |
| PR target/65705 |
| PR target/69804 |
| PR sanitizer/71458 |
| |
| * toplev.c (process_options): Enable MPX with LSAN and UBSAN. |
| * tree-chkp.c (chkp_walk_pointer_assignments): Verify that |
| FIELD != NULL. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-09 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/79631 |
| * tree-chkp-opt.c (chkp_is_constant_addr): Call |
| tree_int_cst_sign_bit just for INTEGER constants. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-09 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79761 |
| * tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param. |
| (chkp_find_bounds_1): Remove gcc_unreachable. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-03 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/79803 |
| * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove |
| assert. |
| (pass_loop_prefetch::execute): Disabled optimization if an |
| assumption about L1 cache size is not met. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-03 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/79574 |
| * gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int. |
| (hash_scan_set): Likewise. |
| (dump_hash_table): Likewise. |
| (hoist_code): Likewise. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-02-17 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/79574 |
| * gcse.c (want_to_gcse_p): Prevent integer overflow. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-02-17 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/79577 |
| * params.def (selsched-max-sched-times): Increase minimum to 1. |
| |
| 2017-03-21 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline: |
| 2017-03-17 Pat Haugen <pthaugen@us.ibm.com> |
| |
| PR target/79951 |
| * config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test |
| for VECTOR_UNIT_VSX_P (<MODE>mode) too. |
| |
| 2017-03-21 Tamar Christina <tamar.christina@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>) |
| Change ins into fmov. |
| |
| 2017-03-19 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR target/71017 |
| * config/i386/cpuid.h: Fix another undefined behavior. |
| |
| 2017-03-17 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2017-03-17 Tom de Vries <tom@codesourcery.com> |
| |
| * gcov-dump.c (print_usage): Print bug_report_url. |
| |
| 2017-03-15 Matthias Klose <doko@ubuntu.com> |
| |
| Backport from mainline |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| * Makefile.in: Install gcov-dump. |
| |
| 2017-03-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80019 |
| * config/i386/i386.c (ix86_vector_duplicate_value): Create |
| subreg of inner mode for values already in registers. |
| |
| 2017-03-10 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/79439 |
| * config/rs6000/predicates.md (current_file_function_operand): Do |
| not allow self calls to be local if the function is replaceable. |
| |
| 2017-03-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-03-07 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/i386/i386.c (ix86_local_alignment): Align most aggregates |
| of 16 bytes and more to 16 bytes, not those of 16 bits and more. |
| |
| 2017-03-06 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/77850 |
| * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and |
| vector types. |
| |
| 2017-03-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/79514 |
| * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern. |
| |
| 2017-03-01 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline: |
| 2017-02-27 Pat Haugen <pthaugen@us.ibm.com> |
| |
| PR target/79544 |
| * rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD for |
| arithmetic shift of unsigned V2DI. |
| |
| 2017-03-01 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2017-02-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR lto/79579 |
| * ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges |
| have been analyzed. |
| |
| 2017-02-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/79749 |
| * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing |
| condition on optimize for the leaf function test. |
| |
| 2017-02-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/79261 |
| * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add |
| support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be. |
| * config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call |
| generator for vsx_xxpermdi_<mode>_be. |
| * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to |
| force big-endian semantics. |
| (vsx_xxpermdi_<mode>_be): New define_expand with same |
| implementation as previous version of vsx_xxpermdi_<mode>. |
| |
| 2017-02-19 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR target/71017 |
| * config/i386/cpuid.h: Fix undefined behavior. |
| |
| 2017-02-18 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| Backport from mainline |
| 2016-12-11 Roger Pau Monné <roger.pau@citrix.com> |
| |
| * config/i386/x86-64.h: Append --32 to the assembler options when |
| -m16 is used on non-glibc systems as well. |
| |
| 2017-02-17 Julia Koval <julia.koval@intel.com> |
| |
| PR target/76731 |
| * config/i386/avx512fintrin.h |
| (_mm512_i32gather_ps): Change __addr type to void const*. |
| (_mm512_mask_i32gather_ps): Ditto. |
| (_mm512_i32gather_pd): Ditto. |
| (_mm512_mask_i32gather_pd): Ditto. |
| (_mm512_i64gather_ps): Ditto. |
| (_mm512_mask_i64gather_ps): Ditto. |
| (_mm512_i64gather_pd): Ditto. |
| (_mm512_mask_i64gather_pd): Ditto. |
| (_mm512_i32gather_epi32): Ditto. |
| (_mm512_mask_i32gather_epi32): Ditto. |
| (_mm512_i32gather_epi64): Ditto. |
| (_mm512_mask_i32gather_epi64): Ditto. |
| (_mm512_i64gather_epi32): Ditto. |
| (_mm512_mask_i64gather_epi32): Ditto. |
| (_mm512_i64gather_epi64): Ditto. |
| (_mm512_mask_i64gather_epi64): Ditto. |
| (_mm512_i32scatter_ps): Change __addr type to void*. |
| (_mm512_mask_i32scatter_ps): Ditto. |
| (_mm512_i32scatter_pd): Ditto. |
| (_mm512_mask_i32scatter_pd): Ditto. |
| (_mm512_i64scatter_ps): Ditto. |
| (_mm512_mask_i64scatter_ps): Ditto. |
| (_mm512_i64scatter_pd): Ditto. |
| (_mm512_mask_i64scatter_pd): Ditto. |
| (_mm512_i32scatter_epi32): Ditto. |
| (_mm512_mask_i32scatter_epi32): Ditto. |
| (_mm512_i32scatter_epi64): Ditto. |
| (_mm512_mask_i32scatter_epi64): Ditto. |
| (_mm512_i64scatter_epi32): Ditto. |
| (_mm512_mask_i64scatter_epi32): Ditto. |
| (_mm512_i64scatter_epi64): Ditto. |
| (_mm512_mask_i64scatter_epi64): Ditto. |
| * config/i386/avx512pfintrin.h |
| (_mm512_mask_prefetch_i32gather_pd): Change addr type to void const*. |
| (_mm512_mask_prefetch_i32gather_ps): Ditto. |
| (_mm512_mask_prefetch_i64gather_pd): Ditto. |
| (_mm512_mask_prefetch_i64gather_ps): Ditto. |
| (_mm512_prefetch_i32scatter_pd): Change addr type to void*. |
| (_mm512_prefetch_i32scatter_ps): Ditto. |
| (_mm512_mask_prefetch_i32scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i32scatter_ps): Ditto. |
| (_mm512_prefetch_i64scatter_pd): Ditto. |
| (_mm512_prefetch_i64scatter_ps): Ditto. |
| (_mm512_mask_prefetch_i64scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i64scatter_ps): Ditto. |
| * config/i386/avx512vlintrin.h |
| (_mm256_mmask_i32gather_ps): Change __addr type to void const*. |
| (_mm_mmask_i32gather_ps): Ditto. |
| (_mm256_mmask_i32gather_pd): Ditto. |
| (_mm_mmask_i32gather_pd): Ditto. |
| (_mm256_mmask_i64gather_ps): Ditto. |
| (_mm_mmask_i64gather_ps): Ditto. |
| (_mm256_mmask_i64gather_pd): Ditto. |
| (_mm_mmask_i64gather_pd): Ditto. |
| (_mm256_mmask_i32gather_epi32): Ditto. |
| (_mm_mmask_i32gather_epi32): Ditto. |
| (_mm256_mmask_i32gather_epi64): Ditto. |
| (_mm_mmask_i32gather_epi64): Ditto. |
| (_mm256_mmask_i64gather_epi32): Ditto. |
| (_mm_mmask_i64gather_epi32): Ditto. |
| (_mm256_mmask_i64gather_epi64): Ditto. |
| (_mm_mmask_i64gather_epi64): Ditto. |
| (_mm256_i32scatter_ps): Change __addr type to void*. |
| (_mm256_mask_i32scatter_ps): Ditto. |
| (_mm_i32scatter_ps): Ditto. |
| (_mm_mask_i32scatter_ps): Ditto. |
| (_mm256_i32scatter_pd): Ditto. |
| (_mm256_mask_i32scatter_pd): Ditto. |
| (_mm_i32scatter_pd): Ditto. |
| (_mm_mask_i32scatter_pd): Ditto. |
| (_mm256_i64scatter_ps): Ditto. |
| (_mm256_mask_i64scatter_ps): Ditto. |
| (_mm_i64scatter_ps): Ditto. |
| (_mm_mask_i64scatter_ps): Ditto. |
| (_mm256_i64scatter_pd): Ditto. |
| (_mm256_mask_i64scatter_pd): Ditto. |
| (_mm_i64scatter_pd): Ditto. |
| (_mm_mask_i64scatter_pd): Ditto. |
| (_mm256_i32scatter_epi32): Ditto. |
| (_mm256_mask_i32scatter_epi32): Ditto. |
| (_mm_i32scatter_epi32): Ditto. |
| (_mm_mask_i32scatter_epi32): Ditto. |
| (_mm256_i32scatter_epi64): Ditto. |
| (_mm256_mask_i32scatter_epi64): Ditto. |
| (_mm_i32scatter_epi64): Ditto. |
| (_mm_mask_i32scatter_epi64): Ditto. |
| (_mm256_i64scatter_epi32): Ditto. |
| (_mm256_mask_i64scatter_epi32): Ditto. |
| (_mm_i64scatter_epi32): Ditto. |
| (_mm_mask_i64scatter_epi32): Ditto. |
| (_mm256_i64scatter_epi64): Ditto. |
| (_mm256_mask_i64scatter_epi64): Ditto. |
| (_mm_i64scatter_epi64): Ditto. |
| (_mm_mask_i64scatter_epi64): Ditto. |
| * config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT) |
| (V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT) |
| (V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT) |
| (V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT) |
| (V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT) |
| (V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT) |
| (V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT) |
| (V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT) |
| (V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT) |
| (V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT) |
| (V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT) |
| (V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT) |
| (V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT) |
| (VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT) |
| (VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT) |
| (VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT) |
| (VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT) |
| (VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT) |
| (VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT) |
| (VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT) |
| (VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT) |
| (VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT) |
| (VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT) |
| (VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT) |
| (VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT) |
| (VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT) |
| (VOID_QI_V8DI_PCINT_INT_INT): Remove. |
| (V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT) |
| (V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT) |
| (V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT) |
| (V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT) |
| (VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT) |
| (VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT) |
| (VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT) |
| (VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT) |
| (V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT) |
| (V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT |
| (V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT) |
| (V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT) |
| (V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT) |
| (V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT) |
| (V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT) |
| (V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT) |
| (VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT) |
| (VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT) |
| (VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT) |
| (VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT) |
| (VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT) |
| (VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT) |
| (VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT) |
| (VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT) |
| (VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT) |
| (VOID_QI_V8DI_PCVOID_INT_INT): Add. |
| * config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin |
| definitions accordingly. |
| |
| 2017-02-16 Carl Love <cel@us.ibm.com> |
| |
| Backport from mainline commit r245460 on 2017-02-14 |
| |
| PR 79545 |
| * config/rs6000/rs6000.c: Add case statement entry to make the xvcvuxdsp |
| built-in argument unsigned. |
| * config/rs6000/vsx.md: Fix the source and return operand types so they |
| match the instruction definitions from the ISA document. Fix typo |
| in the instruction generation for the (define_insn "vsx_xvcvuxdsp" |
| statement. |
| |
| 2017-02-14 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70022 |
| PR target/79498 |
| * fold-const.c (fold_indirect_ref_1): Fix range checking for |
| vector BIT_FIELD_REF extract. |
| |
| 2017-02-14 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-02-13 Martin Liska <mliska@suse.cz> |
| |
| PR c/79471 |
| * calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC. |
| |
| 2017-02-08 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR translation/79397 |
| * config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling |
| of AltiVec. |
| |
| 2017-02-06 Carl Love <cel@us.ibm.com> |
| |
| Backport of two commits from mainline, r244943 and r244904, |
| dated 2017-01-26 and 2017-01-25 respectively |
| |
| * config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order |
| of entries for ALTIVEC_BUILTIN_VEC_PACKS. Remove bogus entries |
| for P8V_BUILTIN_VEC_VGBBD. |
| |
| 2017-02-03 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR lto/79061 |
| * asan.c (asan_add_global): Force has_dynamic_init to zero in LTO mode. |
| |
| 2017-01-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-01-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79034 |
| * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): |
| Propagate out degenerate PHIs in the joiner. |
| |
| 2016-11-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78224 |
| * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): |
| Split the fallthru edge in case its successor may have PHIs. |
| Do not free dominance info. |
| |
| 2017-01-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-09-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77745 |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): |
| When removing redundant stores make sure to check compatibility |
| of the TBAA state for downstream accesses. |
| * tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when |
| value-numbering virtual operands for store matches. |
| |
| 2016-09-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77768 |
| * tree-ssa-sccvn.c (visit_reference_op_store): Properly deal |
| with stores to a place we know has a constant value. |
| * tree-vrp.c (set_defs_to_varying): New helper avoiding |
| writing to vr_const_varying. |
| (vrp_initialize): Call it. |
| (vrp_visit_stmt): Likewise. |
| (evrp_dom_walker::before_dom_children): Likewise. |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): |
| Handle stores to readonly memory when removing redundant stores. |
| |
| 2017-01-24 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| Backport from mainline |
| PR target/78041 |
| * config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants. |
| Remove partial overlap check for shift by 1. |
| (ashldi3_neon): Likewise. |
| |
| 2017-01-24 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-09-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77646 |
| * tree-ssa-sccvn.c (visit_reference_op_call): Always value-number |
| a VDEF. |
| |
| 2016-11-05 David Edelsohn <dje.gcc@gmail.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/78188 |
| PR c++/71848 |
| * ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP. |
| |
| 2016-09-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77648 |
| * tree-ssa-structalias.c (process_constraint): Handle all DEREF |
| with complex RHS. |
| (make_transitive_closure_constraints): Adjust comment. |
| (make_any_offset_constraints): New function. |
| (handle_rhs_call): Make sure to first expand a pointer to all |
| subfields before transitively closing it. |
| (handle_const_call): Likewise. Properly expand returned |
| pointers as well. |
| (handle_pure_call): Likewise. |
| |
| 2016-10-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77879 |
| * tree-ssa-structalias.c (handle_const_call): Properly handle |
| NRV return slots. |
| (handle_pure_call): Likewise. |
| |
| 2017-01-24 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-10-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77855 |
| * tree-ssa-pre.c (prune_clobbered_mems): Queue exprs to remove |
| instead of removing the current item while iterating over the set |
| which is not safe. |
| |
| 2016-09-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/77436 |
| * tree-chrec.c (tree_fold_binomial): Use widest_int, properly |
| check whether the result fits the desired result type. |
| |
| 2016-09-19 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/77605 |
| * tree-data-ref.c (analyze_subscript_affine_affine): Use the |
| proper niter to bound the loops. |
| |
| 2016-11-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78047 |
| * tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize |
| fake field at offset zero conservatively regarding to may_have_pointers. |
| |
| 2016-11-02 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/78185 |
| * loop-invariant.c (find_invariant_insn): Never hoist trapping or |
| faulting instructions. |
| * tree-ssa-loop-im.c: Include tree-ssa-loop-niter.h. |
| (fill_always_executed_in_1): Honor infinite child loops. |
| |
| 2016-11-16 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/78333 |
| * gimplify.c (gimplify_function_tree): Do not instrument |
| GNU extern inline functions. |
| |
| 2017-01-23 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| PR lto/69188 |
| * tree-profile.c (init_ic_make_global_vars): Do not call |
| finalize_decl. |
| (gimple_init_gcov_profiler): Likewise. |
| |
| 2017-01-21 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| Backport from mainline |
| 2016-12-29 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/extend.texi (Cilk Plus Builtins): cilkplus.org now uses |
| https by default. |
| * doc/passes.texi (Cilk Plus Transformation): Ditto. |
| * doc/generic.texi (Statements for C++): Ditto, and use @uref. |
| |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-13 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79043 |
| * function.c (set_cfun): Add new argument force. |
| * function.h (set_cfun): Likewise. |
| * ipa-inline-transform.c (inline_call): Use the function when |
| strict alising from is dropped for function we inline to. |
| |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-03-26 Richard Biener <rguenther@suse.de> |
| Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> |
| |
| PR ipa/70366 |
| * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl) |
| instead of |
| TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl)) |
| as 2nd argument to cl_optimization_restore(). |
| |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2015-12-01 Jan Hubicka <hubicka@ucw.cz> |
| |
| * c-common.c (parse_optimize_options): Do not silently ignore |
| -fstrict-aliasing changes. |
| |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-01-01 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline-transform.c (inline_call): Drop |
| -fstrict-aliasing when inlining -fno-strict-aliasing into |
| -fstrict-aliasing body. |
| |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-17 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/71207 |
| * ipa-polymorphic-call.c (contains_type_p): Fix wrong |
| assumption and add comment. |
| |
| 2017-01-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR rtl-optimization/78617 |
| * lra-remat.c (do_remat): Initialize live_hard_regs from live in |
| registers, also setting hard registers mapped to pseudo registers. |
| |
| 2017-01-11 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| Backport from mainline r244320. |
| 2017-01-11 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| PR target/78253 |
| * config/arm/arm.c (legitimize_pic_address): Handle reference to |
| weak symbol. |
| (arm_assemble_integer): Likewise. |
| |
| 2016-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * postreload.c (reload_cse_simplify): Check for NO_FUNCTION_CSE |
| definition instead of using it directly. |
| |
| 2017-01-12 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| Backport from mainline |
| 2017-01-12 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR lto/79042 |
| * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized |
| bit. |
| (input_varpool_node): Unpack dynamically_initialized bit. |
| * lto-streamer.h (LTO_minor_version): Bump version. |
| |
| 2017-01-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (memory_address_length): Increase len |
| only when rip_relative_addr_p returns false. |
| |
| 2017-01-11 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| Backport from mainline |
| 2016-12-09 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| PR rtl-optimization/78255 |
| * gcc/postreload.c (reload_cse_simplify): Do not CSE a function if |
| NO_FUNCTION_CSE is true. |
| |
| 2017-01-10 Bill Seurer <seurer@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-21 Bill Seurer <seurer@linux.vnet.ibm.com> |
| |
| PR sanitizer/65479 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Add |
| -fasynchronous-unwind-tables option when -fsanitize=address is |
| specified. |
| |
| 2017-01-10 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-09 Martin Liska <mliska@suse.cz> |
| |
| PR pch/78970 |
| * gcc.c (driver_handle_option): Handle OPT_E and set |
| have_E. |
| (lookup_compiler): Do not show error message with have_E. |
| |
| 2017-01-10 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-05 Martin Liska <mliska@suse.cz> |
| |
| PR pch/78970 |
| * gcc.c (lookup_compiler): Reject '-' filename for a precompiled |
| header. |
| |
| 2017-01-10 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| Backport from mainline |
| 2016-04-28 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/70668 |
| * config/nds32/nds32.md (casesi): Don't access the operands array |
| out of bounds. |
| |
| 2017-01-09 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-10-10 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config.gcc: Add aarch64-*-freebsd* support. |
| * config.host: Likewise. |
| * config/aarch64/aarch64-freebsd.h: New file. |
| * config/aarch64/t-aarch64-freebsd: Ditto. |
| |
| 2017-01-03 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-12-22 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/78886 |
| * tree-ssa-strlen.c (handle_builtin_malloc): Return when LHS |
| is equal to NULL. |
| |
| 2017-01-03 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-12-13 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/78428 |
| * expr.c (store_constructor_field): Add new arguments to the |
| function. |
| (store_constructor): Set up bitregion_end and add |
| gcc_unreachable to fields that have either non-constant size |
| or (and) offset. |
| |
| 2016-12-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR translation/78922 |
| * config/i386/stringop.opt: Remove. |
| |
| 2016-12-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78731 |
| * tree-ssa-threadedge.c (simplify_control_stmt_condition): |
| If we've seen a backedge to not walk the SSA value chain. |
| (thread_around_empty_blocks): Pass down whether we've seen |
| a backedge to simplify_control_stmt_condition. |
| (thread_through_normal_block): Likewise. |
| |
| 2016-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * tree-ssa-math-opts.c (struct symbolic_number): Improve comment. |
| |
| 2016-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/77673 |
| * tree-ssa-math-opts.c (struct symbolic_number): Add new src field. |
| (init_symbolic_number): Initialize src field from src parameter. |
| (perform_symbolic_merge): Select most dominated statement as the |
| source statement. Set src field of resulting n structure from the |
| input src with the lowest address. |
| (find_bswap_or_nop): Rename source_stmt into ins_stmt. |
| (bswap_replace): Rename src_stmt into ins_stmt. Initially get source |
| of load from src field rather than insertion statement. Cancel |
| optimization if statement analyzed is not dominated by the insertion |
| statement. |
| (pass_optimize_bswap::execute): Rename src_stmt to ins_stmt. Compute |
| dominance information. |
| |
| 2016-12-13 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-11-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/77933 |
| * config/arm/arm.c (thumb1_expand_prologue): Distinguish between lr |
| being live in the function and lr needing to be saved. Distinguish |
| between already saved pushable registers and registers to push. |
| Check for LR being an available pushable register. |
| |
| 2016-12-12 Bernd Schmidt <bschmidt@redhat.com> |
| |
| Backport from mainline |
| 2016-11-07 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/77309 |
| * combine.c (make_compound_operation): Allow EQ for IN_CODE, and |
| don't assume an equality comparison for plain COMPARE. |
| (simplify_comparison): Pass a more accurate code to |
| make_compound_operation. |
| |
| 2016-12-07 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2016-11-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/77957 |
| * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't |
| return early if !optional_tbtab. |
| |
| 2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/arm/arm.md (arm_addsi3): Add alternative for addition of |
| general register with general register or ARM constant into SP |
| register. |
| |
| 2016-12-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Stefan Freudenberger <stefan@reservoir.com> |
| |
| PR tree-optimization/78646 |
| * gimple-ssa-strength-reduction.c (replace_ref): The pointer |
| addition used for the memory base expression should have the type |
| of the candidate. |
| |
| 2016-12-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-10-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/78038 |
| * ree.c (get_defs): Return NULL if a defining insn for REG cannot |
| be deduced to set REG through the RTL structure. |
| (make_defs_and_copies_lists): Return false on a failing get_defs call. |
| |
| 2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-modes.def (CCVEQANY, CCVH, CCVHANY, CCVHU) |
| (CCVHUANY): Remove modes. |
| (CCVIH, CCVIHU, CCVIALL, CCVIANY, CCVFALL, CCVFANY): Add modes and |
| documentation. |
| * config/s390/s390.c (s390_match_ccmode_set): Rename cc modes. |
| (s390_expand_vec_compare_scalar): Pick one of the cc consumer |
| modes. |
| (s390_branch_condition_mask): Adjust to use the new cc consumer |
| modes. The new modes allow for proper reversal in the middle-end. |
| (s390_expand_vec_compare_cc): Determine the proper cc producer and |
| consumer modes for a comparison. |
| * config/s390/s390.md: Rename CCVH to CCVIH and CCVHU to CCVIHU |
| throughout the file. |
| * config/s390/vx-builtins.md: Likewise. |
| |
| 2016-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-01 Alan Modra <amodra@gmail.com> |
| |
| * gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly |
| look inside UNSPEC_VSX_XXSPLTW vec. |
| |
| 2016-11-29 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backported from mainline |
| 2016-11-19 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/78426 |
| * config/sh/sh-mem.cc (sh_expand_cmpnstr): Use copy_to_mode_reg |
| instead of force_reg. |
| (sh_expand_setmem): Likewise. |
| |
| 2016-11-24 Martin Liska <mliska@suse.cz> |
| Backported from mainline |
| 2016-11-22 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/78309 |
| * ipa-icf.c (void sem_item::set_hash): Update m_hash_set. |
| (sem_function::get_hash): Use the new field. |
| (sem_function::parse): Remove an argument from ctor. |
| (sem_variable::parse): Likewise. |
| (sem_variable::get_hash): Use the new field. |
| (sem_item_optimizer::read_section): Use new ctor and set hash. |
| * ipa-icf.h: _hash is removed from sem_item::sem_item, |
| sem_variable::sem_variable, sem_function::sem_function. |
| |
| 2016-11-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*<any_or:code>hi_1): Fix operand 2 constraints. |
| (kxnor<mode>): Return "#" for alternative 0. |
| |
| 2016-11-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| * Makefile.in ($(lang_checks_parallelized)): Fix detection |
| of -j argument. |
| |
| 2016-11-15 Matthias Klose <doko@ubuntu.com> |
| |
| * doc/install.texi: Move the 'Overriding configure test results' |
| subsub section to the 'Cross-Compiler-Specific Options' sub section. |
| |
| 2016-11-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/78310 |
| * config/i386/i386.md (rotate to rotatex splitter): Avoid overflow |
| when calculating operand 2. |
| (rotate to rotatex zext splitter): Ditto. |
| |
| 2016-11-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/78262 |
| * config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark |
| operand 0 as earlyclobber. |
| (*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives. |
| |
| 2016-11-06 Jack Howarth <howarth.at.gcc@gmail.com> |
| |
| PR driver/78206 |
| * incpath.c: (remove_dup(): Also silently ignore EPERM. |
| |
| 2016-11-03 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-08-12 Martin Liska <mliska@suse.cz> |
| Adam Fineman <afineman@afineman.com> |
| |
| * gcov.c (process_file): Create .gcov file when .gcda |
| file is missing. |
| |
| 2016-11-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2016-10-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * explow.c (validize_mem): Do not modify the argument in-place. |
| |
| 2016-11-02 Will Schmidt <will_schmidt@vnet.ibm.com> |
| |
| Backport from trunk |
| 2016-10-26 Will Schmidt <will_schmidt@vnet.ibm.com> |
| |
| PR middle-end/72747 |
| * gimplify.c (gimplify_init_constructor): Move emit of constructor |
| assignment to earlier in the if/else logic. |
| |
| 2016-10-29 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment. |
| (MALLOC_ABI_ALIGNMENT): Define. |
| |
| 2016-10-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/77916 |
| * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): |
| Don't allow a MINUS_EXPR for pointer arithmetic for either known |
| or unknown strides. |
| (record_increment): Increments of -1 for unknown strides just use |
| a multiply initializer like other negative values. |
| (analyze_increments): Remove stopgap solution for -1 increment |
| applied to pointer arithmetic. |
| (insert_initializers): Requirement of initializer for -1 should be |
| based on pointer-typedness of the candidate basis. |
| |
| 2016-10-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/77991 |
| * config/i386/i386.c (legitimize_tls_address) |
| <case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS |
| convert dest to Pmode if different than Pmode. |
| |
| 2016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| Backport from mainline |
| 2016-10-11 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| * tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before |
| copying. |
| |
| 2016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/77937 |
| * gimple-ssa-strength-reduction.c (analyze_increments): Use |
| POINTER_TYPE_P on the candidate type to determine whether |
| candidates in this chain require pointer arithmetic. |
| |
| 2016-10-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/77937 |
| * gimple-ssa-strength-reduction.c (analyze_increments): Set cost |
| to infinite when we have a pointer with an increment of -1. |
| |
| 2016-10-17 Martin Liska <mliska@suse.cz> |
| |
| Backported from mainline |
| 2016-10-13 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/77943 |
| * tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with |
| a different EH landing pads. |
| |
| 2016-10-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal |
| constants in CONST_VECTORs. |
| |
| 2016-10-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch |
| register as destination of bmask. |
| (vector_init_bshuffle): Likewise. |
| * config/sparc/sparc.md (vec_perm_constv8qi): Likewise. |
| (bmaskdi_vis): Enable only in 64-bit mode. |
| |
| 2016-10-13 Andrew Senkevich <andrew.senkevich@intel.com> |
| |
| Backport from trunk |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET, |
| OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions. |
| (ix86_handle_option): Deleted handle of OPT_mpcommit. |
| * config.gcc: Deleted pcommitintrin.h |
| * config/i386/pcommitintrin.h: Deleted file. |
| * config/i386/cpuid.h (bit_PCOMMIT): Deleted. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit |
| detection. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Deleted define |
| __PCOMMIT__. |
| * config/i386/i386.c (ix86_target_string): Deleted -mpcommit. |
| (PTA_PCOMMIT, IX86_BUILTIN_PCOMMIT, __builtin_ia32_pcommit): Deleted. |
| (ix86_option_override_internal): Deleted handle of option. |
| (ix86_valid_target_attribute_inner_p): Deleted pcommit. |
| * config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted. |
| * config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT. |
| (pcommit): Deleted instruction. |
| * config/i386/i386.opt: Mention -mpcommit deprecation. |
| * config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h. |
| |
| 2016-10-10 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/gen-avr-mmcu-texi.c (string.h): Include. |
| |
| 2016-10-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/77874 |
| * config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>): |
| Remove wrong assert. |
| (<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>: |
| Use <round_constraint> as operand 1 constraint. |
| |
| 2016-09-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Alan Modra <amodra@gmail.com> |
| |
| Backport from mainline |
| 2016-07-01 Alan Modra <amodra@gmail.com> |
| |
| PR rtl-optimization/71709 |
| * ira-lives.c (find_call_crossed_cheap_reg): Exit loop on arg reg |
| being set, not referenced. |
| |
| 2016-09-27 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backport from mainline |
| 2016-09-27 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify |
| VAR_DECL string. |
| |
| 2016-09-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77478 |
| * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): |
| Fix alignment of SSA var used before the alignment prologue. |
| |
| 2016-09-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| Backport from trunk r227496 |
| |
| PR target/65210 |
| * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low |
| attribute as well. |
| |
| 2016-09-22 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| Backport from 2016-09-22 trunk r240388. |
| |
| * config/avr/avr.c (avr_rtx_costs_1): Handle DImode MULT. |
| (avr_address_cost): Replace 61 with MAX_LD_OFFSET(mode). |
| |
| 2016-09-21 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * doc/rtl.texi (JUMP_LABEL): Document RETURN and SIMPLE_RETURN values. |
| |
| 2016-09-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-09-21 trunk r240306. |
| |
| PR target/77326 |
| * config/avr/avr.c (hard-reg-set.h): Move #include up in front |
| of rtl.h to that HARD_CONST is defined in rtl.h. |
| (avr_notice_update_cc) [CC_NONE]: If insn touches some regs |
| mentioned in cc_status, do CC_STATUS_INIT. |
| |
| 2016-09-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/extend.texi (Integer Overflow Builtins): Fix type of out |
| parameters for functions taking long long arguments. |
| |
| 2016-08-31 Jakub Sejdak <jakub.sejdak@phoesys.com> |
| |
| * config.gcc: Add support for arm*-*-phoenix* targets. |
| * config/arm/t-phoenix: New. |
| * config/phoenix.h: New. |
| |
| 2016-08-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/77403 |
| * config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler |
| template for intel asm dialect. |
| (vec_set_hi_<mode><mask_name>): Ditto. |
| |
| 2016-08-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * Makefile.in (gcov-iov.h): Add dummy recipe. |
| |
| 2016-08-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-04-20 Andrew Pinski <apinski@cavium.com> |
| Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/64971 |
| * config/aarch64/aarch64.md (sibcall): Force call |
| address to be DImode for ILP32. |
| (sibcall_value): Likewise. |
| |
| 2016-08-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline (minus test for POWER9 support) |
| 2016-08-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/72863 |
| * vsx.md (vsx_load_<mode>): For P8LE, emit swaps at expand time. |
| (vsx_store_<mode>): Likewise. |
| |
| 2016-08-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-07-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR middle-end/71700 |
| * expr.c (store_constructor): Mask sign-extended bits when widening |
| sub-word constructor element at the start of a word. |
| |
| 2016-08-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-08-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/76342 |
| * config/i386/avx512fintrin.h (_mm512_undefined_epi32): |
| Renamed from _mm512_undefined_si512. |
| (_mm_undefined_si512): New definition. |
| |
| Backport from mainline: |
| 2016-08-09 David Wohlferd <dw@LimeGreenSocks.com> |
| |
| * config/i3836/avx512fintrin.h (_mm512_cvtsepi64_epi32): Remove |
| unused variable __O. |
| |
| Backport from mainline: |
| 2016-08-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/72843 |
| * config/i386/i386.md (*movtf_internal): Use |
| lra_in_progress || reload_completed instead of !can_create_pseudo_p |
| in the insn constraint. |
| (*movxf_internal): Ditto. |
| (*movdf_internal): Ditto. |
| (*movsf_internal): Ditto. |
| |
| 2016-08-18 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-06-17 DJ Delorie <dj@redhat.com> |
| |
| PR target/71338 |
| * config/rl78/rl78-expand.c (umulqihi3): Enable for G10. |
| * config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise. |
| (umulqihi3_virt): Likewise. |
| * config/rl78/rl78-real.c (umulhi3_shift_real): Likewise. |
| (umulqihi3_real): Likewise. |
| |
| 2016-08-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/install.texi (*-*-solaris2*): Adjust latest change. |
| |
| 2016-08-15 Martin Liska <mliska@suse.cz> |
| |
| Backported from mainline |
| 2016-08-15 Martin Liska <mliska@suse.cz> |
| |
| PR driver/72765 |
| * gcc.c (do_spec_1): Call save_string with the right size. |
| (save_string): Do an assert about string we copy. |
| |
| 2016-08-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/install.texi (*-*-solaris2*): Fix version number and document |
| requirement on GNU make for building libjava with the Solaris linker. |
| |
| 2016-08-12 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| Backport from mainline |
| 2016-08-11 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR tree-optimization/71083 |
| * tree-predcom.c (ref_at_iteration): Correctly align the |
| reference type. |
| |
| 2016-08-08 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-07-29 trunk r238863. |
| |
| PR rtl-optimization/71976 |
| * combine.c (get_last_value): Return 0 if the argument for which |
| the function is called has a wider mode than the recorded value. |
| |
| 2016-08-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/72805 |
| * config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]: |
| Cast builtin function result to __mmask16 instead of __mmask8. |
| (_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto. |
| (_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto. |
| (_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto. |
| |
| 2016-08-01 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-08-01 trunk r238948. |
| |
| PR target/72767 |
| * config/avr/avr.md (length) [branch]: Correct insn length |
| attribute for forward branches. |
| |
| 2016-07-29 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2016-07-29 Marek Polacek <polacek@redhat.com> |
| |
| PR c/7652 |
| * config/rs6000/rs6000.c (altivec_expand_ld_builtin): Add break. |
| (altivec_expand_st_builtin): Likewise. |
| * config/i386/i386.c (ix86_expand_args_builtin): Likewise. |
| (ix86_expand_round_builtin): Likewise. |
| |
| 2016-07-27 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/71216 |
| * config/rs6000/rs6000.c (rs6000_file_start): Fix condition for |
| when to emit a ".machine" pseudo-op. |
| |
| 2016-07-26 Alan Modra <amodra@gmail.com> |
| |
| PR target/72103 |
| * config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize |
| sri->t_icode. |
| |
| 2016-07-20 Martin Jambor <mjambor@suse.cz> |
| |
| PR fortran/71688 |
| * trans-decl.c (gfc_generate_function_code): Use get_create rather |
| than create to get a call graph node. |
| |
| 2016-07-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71874 |
| * gimple-fold.c (fold_builtin_memory_op): Use |
| get_addr_base_and_unit_offset instead of get_ref_base_and_extent. |
| |
| 2016-07-19 Martin Liska <mliska@suse.cz> |
| |
| Backported from mainline |
| 2016-03-15 Richard Henderson <rth@redhat.com> |
| |
| * line-map.c (new_linemap): Make alloc_size a size_t. |
| |
| 2016-07-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-07-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71758 |
| * omp-low.c (expand_omp_target): Gimplify device. |
| |
| 2016-07-18 Martin Liska <mliska@suse.cz> |
| |
| Backported from mainline |
| 2016-07-12 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/71634 |
| * ira-build.c (mark_loops_for_removal): Properly iterate |
| loops. |
| |
| 2016-07-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2016-07-06 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/70098 |
| PR target/71763 |
| * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, |
| *ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output |
| constraint. |
| |
| 2016-07-08 Martin Liska <mliska@suse.cz> |
| |
| Backported from mainline |
| 2016-07-08 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/71606 |
| * fold-const.c (fold_convertible_p): As COMPLEX_TYPE |
| folding produces SAVE_EXPRs, thus return false for the type. |
| |
| 2016-07-07 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-06-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71626 |
| * config/i386/i386.c (ix86_expand_vector_move): For SUBREG of |
| a constant, force its SUBREG_REG into memory or register instead |
| of whole op1. |
| |
| 2016-06-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/71588 |
| * tree-ssa-strlen.c (valid_builtin_call): New function. |
| (adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use |
| it. |
| |
| 2016-06-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71581 |
| * tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL, |
| see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created |
| for conversion of scalar user var to complex type and use the |
| underlying SSA_NAME_VAR in that case. If EXPR is still NULL, |
| punt. |
| |
| 2016-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71494 |
| * tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO |
| without LABEL_DECL, set *handled_ops_p to false instead of true. |
| |
| 2016-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70641 |
| * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt |
| on all recursive call stmts. Return TODO_cleanup_cfg if any dead |
| eh edges have been purged. |
| |
| PR middle-end/70633 |
| * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if |
| gimplification turns some element into non-constant. |
| |
| 2016-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/70628 |
| * explow.c (convert_memory_address_addr_space_1): Formatting fix. |
| |
| PR debug/70628 |
| * rtl.h (convert_memory_address_addr_space_1): New prototype. |
| * explow.c (convert_memory_address_addr_space_1): No longer static, |
| add NO_EMIT argument and don't call convert_modes if true, pass |
| it down recursively, remove break after return. |
| (convert_memory_address_addr_space): Adjust caller. |
| * simplify-rtx.c (simplify_unary_operation_1): Call |
| convert_memory_address_addr_space_1 instead of convert_memory_address, |
| if it returns NULL, don't simplify. |
| |
| 2016-04-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70574 |
| * fwprop.c (forward_propagate_and_simplify): Don't add |
| REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg. |
| (try_fwprop_subst): Don't add REG_EQUAL note if there are any |
| paradoxical subregs within *loc. |
| |
| 2016-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70336 |
| * match.pd (nested int casts): Limit to GIMPLE. |
| |
| 2016-07-07 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-06-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/71423 |
| * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison |
| for signed ops. |
| |
| 2016-06-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71452 |
| * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the |
| type used for the SSA rewrite has enough precision to cover |
| the dynamic type of the location. |
| |
| 2016-06-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71522 |
| * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float |
| copying into float copying. |
| |
| 2016-07-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/arm.c (arm_function_ok_for_sibcall): Add another check |
| for NULL decl. |
| |
| 2016-06-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71693 |
| * fold-const.c (fold_binary_loc) <case RROTATE_EXPR>: Cast |
| TREE_OPERAND (arg0, 0) and TREE_OPERAND (arg0, 1) to type |
| first when permuting bitwise operation with rotate. Cast |
| TREE_OPERAND (arg0, 0) to type when cancelling two rotations. |
| |
| 2016-06-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-06-21 trunk r237639. |
| |
| PR target/30417 |
| * config/avr/gen-avr-mmcu-specs.c (print_mcu): |
| [*link_data_start]: Wrap -Tdata into %{!Tdata:...}. |
| [*link_text_start]: Wrap -Ttext into %{!Ttext:...}. |
| |
| 2016-06-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/71103 |
| * config/avr/avr.md (movqi): Only handle loading subreg:qi of |
| constant addresses if can_create_pseudo_p. |
| |
| 2016-06-20 Georg-Johann Lay <avr@gjlay.de> |
| Pitchumani Sivanupandi <pitchumani.s@atmel.com> |
| |
| Backport from 2016-06-20 trunk r237589, r236558. |
| |
| PR target/71103 |
| * config/avr/avr.md (movqi): Handle loading subreg:qi (const, |
| symbol_ref,label_ref). |
| |
| 2016-06-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/71554 |
| * config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p. |
| (setcc + and peephole2): Likewise. |
| |
| Backported from mainline |
| 2015-04-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (setcc+movzbl peephole2): Check also clobbered |
| reg. |
| (setcc+andl peephole2): Ditto. |
| |
| 2016-06-15 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backported from mainline |
| 2016-06-14 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/arm/freebsd.h: Only enable unaligned access for armv6 on |
| FreeBSD 11 and above. |
| |
| 2016-06-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71505 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make |
| assert match comment. |
| |
| 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/71379 |
| * config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by |
| one. |
| |
| 2016-06-07 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-06-07 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and |
| -mno-htm. |
| |
| 2016-06-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/71389 |
| * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): |
| Copy op1 RTX to avoid invalid sharing. |
| (ix86_expand_vector_move_misalign): Ditto. |
| |
| 2016-06-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-06-01 Uros Bizjak <ubizjak@gmail.com> |
| Jocelyn Mayer <l_indien@magic.fr> |
| |
| PR target/67310 |
| * config/i386/driver-i386.c (host_detect_local_cpu): Correctly |
| detect processor family for signature_CENTAUR_ebx. |
| <case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for |
| signature_CENTAUR_ebx. |
| <case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx. |
| <default>: Pass x86-64 for has_longmode. |
| |
| 2016-06-03 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-05-30 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config.gcc: Move hard float support for arm*hf*-*-freebsd* into |
| armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd* |
| target. |
| |
| 2016-06-03 Richard Biener <rguenther@suse.de> |
| |
| * BASE-VER: Set to 5.4.1. |
| |
| 2016-06-03 Release Manager |
| |
| * GCC 5.4.0 released. |
| |
| 2016-05-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/68696 |
| * config/aarch64/aarch64-simd.md (*aarch64_simd_bsl<mode>_alt): |
| New pattern. |
| (aarch64_simd_bsl<mode>_internal): Update comment to reflect |
| the above. |
| |
| 2016-05-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define. |
| * config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES |
| rather than X86_TUNE_AVOID_4BYTE_PREFIXES. Use SSE_REGS instead |
| of ALL_SSE_REGS. Return SSE_REGS also when TARGET_AVX. |
| |
| 2016-05-23 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-02-11 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR target/69634 |
| * regstat.c (regstat_bb_compute_calls_crossed): Disregard |
| debug insns. |
| |
| 2015-10-30 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/68142 |
| * fold-const.c (extract_muldiv_1): Avoid introducing undefined |
| overflow. |
| |
| 2016-03-24 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/69845 |
| * fold-const.c (extract_muldiv_1): Correct test for multiplication |
| overflow. |
| |
| 2016-05-23 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-12-11 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/68814 |
| * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of |
| BYTES_BIG_ENDIAN. |
| |
| 2016-01-12 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69003 |
| * lto-partition.c (rename_statics): Fix pasto. |
| |
| 2016-01-13 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/66487 |
| * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): |
| use block_ultimate_origin |
| (noncall-stmt_may_be_vtbl_ptr_store): Likewise. |
| |
| 2016-01-21 Roman Zhuykov <zhroma@ispras.ru> |
| |
| PR target/69252 |
| * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new |
| first stage. |
| |
| 2016-05-21 Iain Sandoe <iain@codesourcery.com> |
| Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| Backport from mainline |
| 2015-12-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/67973 |
| * configure.ac (gcc_cv_as_stabs_directive): New test. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| * config/darwin.h (DBX_DEBUGGING_INFO): Wrap in |
| HAVE_AS_STABS_DIRECTIVE. |
| (PREFERRED_DEBUGGING_TYPE): Likewise. |
| * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Only include |
| DBX_DEBUG if HAVE_AS_STABS_DIRECTIVE. |
| |
| * doc/sourcebuild.texi (Effective-Target Keywords, Environment |
| attributes): Document stabs. |
| |
| 2016-05-21 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| Backport from mainline |
| 2015-06-29 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * config/nios2/nios2.c (nios2_delegitimize_address): Make |
| assert less restrictive. |
| |
| 2016-05-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0 |
| for naked functions. |
| (thumb1_expand_prologue): Likewise. |
| |
| 2016-05-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| * sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also |
| force pending loads from memory. |
| |
| 2016-05-20 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-03-02 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/67278 |
| * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case. |
| |
| 2016-03-02 Richard Biener <rguenther@suse.de> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/67278 |
| * config/i386/i386.c (type_natural_mode): Handle XFmode vectors. |
| |
| 2016-05-20 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-02-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69720 |
| * tree-vect-loop.c (get_initial_def_for_reduction): Avoid |
| the adjustment_def path for possibly vectorized defs. |
| (vect_create_epilog_for_reduction): Handle vectorized initial |
| defs properly. |
| |
| 2016-05-20 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-02-01 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/67921 |
| * fold-const.c (split_tree): New parameters. Convert pointer |
| type variable part to proper type before negating. |
| (fold_binary_loc): Pass new arguments to split_tree. |
| |
| 2016-05-06 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70941 |
| * fold-const.c (split_tree): Always convert to the original type |
| before negating. |
| |
| 2016-05-06 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70931 |
| * dwarf2out.c (native_encode_initializer): Skip zero-sized fields. |
| |
| 2016-04-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70623 |
| * tree-ssa-pre.c (changed_blocks): Make global ... |
| (compute_antic): ... local here. Move and fix worklist |
| handling here. Do not clear EDGE_DFS_BACK. |
| (compute_antic_aux): Add dumping for MAX assumed succs. Remove |
| worklist handling, dump when ANTIC_IN changed. |
| (compute_partial_antic_aux): Remove worklist handling. |
| (init_pre): Do not compute post dominators. Add a comment about |
| the CFG order chosen. |
| (fini_pre): Do not free post dominators. |
| |
| 2016-04-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70780 |
| * tree-ssa-pre.c (compute_antic_aux): Also return true if the block |
| wasn't visited yet. |
| (compute_antic): Mark blocks with abnormal preds as visited as |
| they have a final empty antic-in solution already. |
| |
| 2016-05-19 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/70646 |
| * ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early |
| if parameter PARAM_IPA_MAX_AGG_ITEMS is zero. |
| |
| 2016-05-19 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/70646 |
| * ipa-inline.h (condition): New field size. |
| * ipa-inline-analysis.c (add_condition): New parameter SIZE, use it |
| for comaprison and store it into the new condition. |
| (evaluate_conditions_for_known_args): Use condition size to check |
| access sizes for all but CHANGED conditions. |
| (unmodified_parm_1): New parameter size_p, store access size into it. |
| (unmodified_parm): Likewise. |
| (unmodified_parm_or_parm_agg_item): Likewise. |
| (eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p. |
| (set_cond_stmt_execution_predicate): Extract access sizes and store |
| them to conditions. |
| (set_switch_stmt_execution_predicate): Likewise. |
| (will_be_nonconstant_expr_predicate): Likewise. |
| (will_be_nonconstant_predicate): Likewise. |
| (inline_read_section): Stream condition size. |
| (inline_write_summary): Likewise. |
| * lto-streamer.h (LTO_minor_version): Bump. |
| |
| 2016-05-19 Richard Sandiford <richard.sandiford@arm.com> |
| |
| 2016-01-26 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR tree-optimization/69400 |
| * wide-int.cc (wi_pack): Take the precision as argument and |
| perform canonicalization here rather than in the callers. |
| Use the main loop to handle all full-width HWIs. Add a |
| zero HWI if in_len isn't a full result. |
| (wi::divmod_internal): Update accordingly. |
| (wi::mul_internal): Likewise. Simplify. |
| |
| 2016-05-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/71145 |
| * config/alpha/alpha.md (trap): Add (use (reg:DI 29)). |
| (*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS. |
| |
| 2016-05-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70353 |
| * tree-inline.c (remap_decls): Don't add_local_decl if |
| cfun is null. |
| |
| 2016-05-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-05-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/70809 |
| * config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete. |
| |
| 2016-05-17 Jim Wilson <jim.wilson@linaro.org> |
| |
| Partial backport from trunk r228017. |
| 2015-09-22 Jason Merrill <jason@redhat.com> |
| |
| PR c++/70613 |
| * doc/invoke.texi (-fabi-version): Document version 9. |
| (-Wabi): Document version 9. Mention version 8 is default for GCC 5.1. |
| |
| 2016-05-12 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-05-10 Martin Liska <mliska@suse.cz> |
| |
| * tree-inline.c (remap_dependence_clique): Do not remap |
| debugging statements. |
| |
| 2016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/70963 |
| * config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct |
| code for a zero scale factor. |
| (vsx_xvcvdpuxds_scale): Likewise. |
| |
| 2016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly") |
| ("*fixuns_truncdfdi2_z13") |
| ("*fixuns_trunc<FP:mode><GPR:mode>2_z196") |
| ("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13") |
| ("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX. |
| |
| 2016-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rtems.h (LIB_SPEC): Add -latomic. |
| |
| 2016-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2016-04-27 Joel Sherrill <joel@rtems.org> |
| |
| * config/microblaze/rtems.h: Redefine LINK_SPEC to avoid |
| xilink.ld and flags not relevant to RTEMS. |
| |
| 2016-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-04-05 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70526 |
| * tree-sra.c (build_ref_for_offset): Use prev_base to |
| extract the alias pointer type. |
| |
| 2016-04-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70858 |
| * config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT |
| to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64. |
| (bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64, |
| __builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di, |
| __builtin_ia32_pdep_di and __builtin_ia32_pext_di. |
| |
| 2016-04-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR driver/70132 |
| * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic |
| to not call fclose twice on file. |
| |
| 2016-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/arm/arm.c (thumb1_reorg): Check that the comparison is |
| against the constant 0. |
| |
| 2016-04-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def: Correct pasto error for |
| stxvd2x and stxvw4x built-in functions. |
| |
| 2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-03-14 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/70098 |
| * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, |
| *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output. |
| (define_split for the GPR case): Use int_reg_operand instead of |
| gpc_reg_operand for the output. |
| |
| 2016-04-22 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2016-04-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup. |
| |
| 2016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/70674 |
| * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new |
| stack_restore_from_fpr pattern when restoring r15. |
| (s390_optimize_prologue): Strip away the memory barrier in the |
| parallel when trying to get rid of restore insns. |
| * config/s390/s390.md ("stack_restore_from_fpr"): New insn |
| definition for loading the stack pointer from an FPR. Compared to |
| the normal move insn this pattern includes a full memory barrier. |
| |
| 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70662 |
| * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"): |
| Fix mode size check. |
| |
| 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70662 |
| * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"): |
| Use proper memory operand modifiers. |
| |
| 2016-04-14 Nick Clifton <nickc@redhat.com> |
| Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/70044 |
| * config/aarch64/aarch64.c |
| (aarch64_override_options_after_change): When forcing |
| flag_omit_frame_pointer to be true, use a special value that can |
| be detected if this function is called again, thus preventing |
| flag_omit_leaf_frame_pointer from being forced to be false. |
| |
| 2016-04-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/70630 |
| * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses. |
| |
| 2016-04-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/70566 |
| * config/arm/thumb2.md (tst + branch-> lsls + branch |
| peephole below *orsi_not_shiftsi_si): Require that condition |
| register is dead after the peephole. |
| (second peephole after the above): Likewise. |
| |
| 2016-04-11 Alan Modra <amodra@gmail.com> |
| |
| PR target/70117 |
| * builtins.c (fold_builtin_classify): For IBM extended precision, |
| look at just the high-order double to test for NaN. |
| (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal |
| test just the high double for Inf but both doubles for subnormal |
| limit. |
| |
| 2016-04-09 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-04-03 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/70416 |
| PR target/67391 |
| * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is |
| set, but not for SP_REG operands. |
| |
| 2016-04-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes. |
| (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes. |
| |
| 2016-04-06 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-03-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70177 |
| * gimple-expr.h (extract_ops_from_tree_1): Renamed to ... |
| (extract_ops_from_tree): ... this. In the 2 argument |
| overload remove _1 suffix. |
| * gimple-expr.c (extract_ops_from_tree_1): Renamed to ... |
| (extract_ops_from_tree): ... this. |
| * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree): |
| Adjust callers. |
| * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise. |
| * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand |
| extract_ops_from_tree instead of 2 operand one. |
| |
| 2016-04-06 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-02-24 Richard Biener <rguenther@suse.de> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69760 |
| * tree-scalar-evolution.c (interpret_rhs_expr): Re-write |
| conditionally executed ops to well-defined overflow behavior. |
| |
| 2016-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69983 |
| * tree-chrec.c (eq_evolutions_p): Handle conversions, compare |
| types and fall back to operand_equal_p. |
| |
| 2016-04-06 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-02-24 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/68963 |
| * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix |
| bogus check. |
| (record_nonwrapping_iv): Do not fall back to the low/high bound |
| for non-constant IV bases if the stmt is not always executed. |
| |
| 2016-04-06 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70022 |
| * fold-const.c (fold_indirect_ref_1): Fix range checking for |
| vector BIT_FIELD_REF extract. |
| |
| 2016-03-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70115 |
| * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove. |
| (propagate_constants_for_unrolling): Use replace_uses_by. |
| |
| 2016-03-29 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70424 |
| * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always |
| use alignment returned by get_pointer_alignment_1 if it is |
| bigger than BITS_PER_UNIT. |
| * builtins.c (get_pointer_alignment_1): Do not return true |
| for alignment extracted from SSA info. |
| |
| 2016-04-06 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-03-30 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70450 |
| * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from |
| usage. |
| |
| 2016-03-22 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70333 |
| * fold-const.c (extract_muldiv_1): Properly perform multiplication |
| in the wide type. |
| |
| 2016-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/70484 |
| * rtl.h (canon_output_dependence): Declare. |
| * alias.c (canon_output_dependence): New function. |
| * dse.c (record_store): Use canon_output_dependence rather |
| than canon_true_dependence. |
| |
| 2016-04-05 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/predicates.md (integer_store_memory_operand): Accept |
| REG+D operands with a large offset when reload_in_progress is true. |
| (floating_point_store_memory_operand): Likewise. |
| |
| 2016-04-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix |
| assembler to make source always 128bit. |
| |
| 2016-04-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/70510 |
| * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes. |
| |
| 2016-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70525 |
| * config/i386/sse.md (*andnot<mode>3): Simplify assertions. |
| Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for |
| V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting. |
| (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator. |
| |
| 2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/70457 |
| * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p |
| to ensure a call statement is compatible with a built-in's |
| prototype. |
| * tree-ssa-math-opts.c (execute_cse_sincos_1): Likewise. |
| (pass_cse_sincos::execute): Likewise. |
| (pass_optimize_widening_mul::execute): Likewise. |
| |
| 2016-01-04 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| Backport from mainline |
| 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/68236 |
| * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0 |
| if insn_queue doesn't exist. |
| (haifa_sched_finish): Reset insn_queue to NULL. |
| |
| 2016-04-01 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport from mainline |
| 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com> |
| |
| PR target/67896 |
| * config/aarch64/aarch64-builtins.c |
| (aarch64_init_simd_builtin_types): Do not set structural |
| equality to __Poly{8,16,64,128}_t types. |
| |
| 2016-03-31 Nathan Sidwell <nathan@acm.org> |
| |
| PR c++/70393 |
| * varasm.c (output_constructor_regular_field): Flush bitfield |
| earlier. Assert we don't want to move backwards. |
| |
| 2016-03-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/sync.md (arm_atomic_loaddi2_ldrd): Fix output template |
| for non-unified syntax. |
| |
| 2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70453 |
| * config/i386/sse.md (define_mode_attr shuffletype): Fix typo. |
| |
| 2016-03-31 Andrey Belevantsev <abel@ispras.ru> |
| |
| Backport from mainline |
| 2016-03-12 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/69307 |
| * sel-sched.c (choose_best_pseudo_reg): Properly check for hard |
| registers in modes that span more than one register. |
| |
| 2016-03-31 Andrey Belevantsev <abel@ispras.ru> |
| |
| Backport from mainline |
| 2016-03-21 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/69102 |
| * sched-deps.c (sched_analyze_insn): Do not set last_args_size field |
| when we have a readonly dependency context. |
| |
| 2016-03-31 Andrey Belevantsev <abel@ispras.ru> |
| |
| Backport from mainline |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/69032 |
| * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when |
| looping backwards over basic block insns. |
| |
| 2016-03-31 Andrey Belevantsev <abel@ispras.ru> |
| |
| Backport from mainline |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR target/66660 |
| * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern |
| to non-speculative when propagating trap bits. |
| |
| 2016-03-31 Andrey Belevantsev <abel@ispras.ru> |
| |
| Backport from mainline |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR target/64411 |
| * sched-deps.c (get_implicit_reg_pending_clobbers): New function, |
| factored out from ... |
| (sched_analyze_insn): ... here. |
| * sched-int.h (get_implicit_reg_pending_clobbers): Declare it. |
| * sel-sched-ir.c (setup_id_implicit_regs): New function, use |
| get_implicit_reg_pending_clobbers in it. |
| (setup_id_reg_sets): Use setup_id_implicit_regs. |
| (deps_init_id): Ditto. |
| |
| 2016-03-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70460 |
| * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF |
| with operand from REG_LABEL_OPERAND, instead substitute |
| SET_SRC or REG_EQUAL note content if it is a LABEL_REF. |
| Don't do anything for REG_NON_LOCAL_GOTO jumps. |
| |
| 2016-03-31 Alan Modra <amodra@gmail.com> |
| |
| Backport from mainline |
| 2016-02-16 Alan Modra <amodra@gmail.com> |
| PR target/68973 |
| * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter. |
| (p8_mtvsrd_df, p8_mtvsrd_sf): New. |
| (p8_mtvsrd_1, p8_mtvsrd_2): Delete. |
| (p8_mtvsrwz): New. |
| (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete. |
| (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF. |
| (p8_fmrgow_<mode>): Likewise. |
| (reload_vsx_from_gpr<mode>): Adjust for above. Use "wa" for |
| clobber constraint. |
| (reload_fpr_from_gpr<mode>): Adjust for above. Use "d" for |
| op0 constraint. |
| (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting |
| to use movdi_internal64. Remove op0_di. |
| * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode. |
| |
| 2016-03-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69917 |
| * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow |
| transparent alias chain for decl assembler name. |
| * config/sol2.c (solaris_assemble_visibility): Likewise. |
| |
| 2016-03-30 Vladimir Makarov <vmakarov@redhat.com> |
| |
| Backported from the mainline |
| 2016-03-12 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/69614 |
| * lra-constraints.c (delete_move_and_clobber): New. |
| (remove_inheritance_pseudos): Use it. |
| |
| 2016-03-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70421 |
| * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order |
| in gen_blendm expander. |
| |
| Backported from mainline |
| 2016-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70429 |
| * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize |
| (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if |
| mode != result_mode. |
| |
| 2016-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70329 |
| * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing |
| d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i] |
| in a way that works also for AVX512BW. |
| |
| 2016-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70296 |
| * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is |
| function-like macro, peek following token(s) if it is followed |
| by CPP_OPEN_PAREN token with optional padding in between, and |
| if not, don't treat it like a macro. |
| |
| 2016-03-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70222 |
| * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT |
| optimization if mode is different from result_mode, queue up masking |
| of the result in outer_op. Formatting fix. |
| |
| 2016-03-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70169 |
| * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and |
| LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable |
| for unknown codes. |
| |
| 2016-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70152 |
| * tree-sra.c (replace_removed_params_ssa_names): Copy over |
| SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name. |
| |
| 2016-03-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70062 |
| * config/i386/i386.c (decide_alg): Add RECUR argument. Revert |
| 2016-02-22 changes, instead don't recurse if RECUR is already true. |
| Don't change *dynamic_check if RECUR. Adjust recursive caller |
| to pass true to the new argument. |
| (ix86_expand_set_or_movmem): Adjust decide_alg caller. |
| |
| 2016-02-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69888 |
| * config/i386/i386.c (decide_alg): Ensure we don't recurse with |
| identical arguments. Formatting and spelling fixes. |
| |
| 2016-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70028 |
| * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative. |
| (*movhi_internal): Put mask moves from and to memory separately |
| from moves from/to GPRs. |
| |
| 2016-02-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69969 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't |
| complain about -mallow-movmisalign without -mvsx if |
| TARGET_ALLOW_MOVMISALIGN was not set explicitly. |
| |
| 2016-02-26 Jakub Jelinek <jakub@redhat.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/69891 |
| * dse.c (scan_insn): If we can't figure out memset arguments |
| or they are non-constant, call clear_rhs_from_active_local_stores. |
| |
| 2016-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/69705 |
| * dwarf2out.c (gen_variable_die): Work around buggy LTO |
| - allow NULL decl for Fortran DW_TAG_common_block variables. |
| |
| 2016-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69838 |
| * lra.c (lra_process_new_insns): If non-call exceptions are enabled, |
| call copy_reg_eh_region_note_forward on before and/or after sequences |
| and remove note from insn if it no longer can throw. |
| |
| 2016-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69802 |
| * tree-ssa-reassoc.c (update_range_test): If op is |
| SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive |
| op == 1 test of precision 1 integral op, otherwise handle |
| that case as op itself. Fix up formatting. |
| (optimize_range_tests_to_bit_test, optimize_range_tests): Fix |
| up formatting. |
| |
| PR rtl-optimization/69764 |
| PR rtl-optimization/69771 |
| * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT |
| op1 is valid for GET_MODE_INNER (mode) and force it into a reg. |
| |
| 2016-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69764 |
| PR rtl-optimization/69771 |
| * optabs.c (expand_binop_directly): For shift_optab_p, force |
| convert_modes with VOIDmode if xop1 has VOIDmode. |
| |
| PR ipa/68672 |
| * ipa-split.c (split_function): Compute retval early in all cases |
| if split_part_return_p and return_bb is not EXIT. Remove all |
| clobber stmts and reset all debug stmts that refer to SSA_NAMEs |
| defined in split part, except if it is retval, in that case replace |
| the old retval with the lhs of the call to the split part. |
| |
| 2016-03-30 Alan Modra <amodra@gmail.com> |
| |
| PR target/70052 |
| * config/rs6000/constraints.md (j): Simplify. |
| * config/rs6000/predicates.md (easy_fp_constant): Exclude |
| decimal float 0.D. |
| * config/rs6000/rs6000.md (zero_fp): New mode_attr. |
| (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64, |
| mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j |
| in all constraint alternatives. |
| (movtd_64bit_nodm): Delete "j" constraint alternative. |
| |
| 2016-03-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69875 |
| * config/arm/arm.h (TARGET_HAVE_LPAE): Define. |
| * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value. |
| * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern. |
| (atomic_loaddi_1): Delete. |
| (atomic_loaddi): Rewrite expander using the above changes. |
| |
| 2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70406 |
| * config/i386/i386.md (define_split, andn): Fix modes. |
| |
| 2016-03-24 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/70319 |
| * config/pa/pa.md (bswapdi2): Use a scratch register. |
| |
| 2016-03-22 Martin Liska <mliska@suse.cz> |
| |
| backport from trunk: |
| |
| 2016-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/70306 |
| * ipa-icf.c (sem_function::parse): Skip static |
| constructors and destructors. |
| |
| 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70325 |
| * config/i386/i386.c (def_builtin): Handle |
| OPTION_MASK_ISA_AVX512VL to be and-ed with other bits. |
| (const struct builtin_description bdesc_special_args[]): |
| Remove duplicate ISA bits. |
| |
| 2016-03-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/70327 |
| * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead |
| of ix86_expand_move. |
| (movoi): Ditto. |
| (movti): Use general_operand for operand 1 predicate. |
| |
| 2016-03-21 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| PR ipa/70269 |
| 2016-03-18 Tom de Vries <tom@codesourcery.com> |
| |
| * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save. |
| |
| 2016-03-21 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2016-03-18 Tom de Vries <tom@codesourcery.com> |
| |
| PR ipa/70161 |
| * cgraph.c (cgraph_node::get_body): Save, reset and restore |
| dump_file_name. |
| * passes.c (execute_one_ipa_transform_pass): Add missing argument to |
| execute_function_dump. |
| (execute_one_pass): Don't dump function if it will be dumped after ipa |
| transform. |
| |
| 2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70293 |
| * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2): |
| Block third alternative for AVX-512VL target, |
| |
| 2016-03-17 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/70188 |
| * config/pa/constraints.md: Revert 2015-02-13 change. Use |
| define_constraint for "Q" and "T" constraints. |
| |
| 2016-03-16 Alan Modra <amodra@gmail.com> |
| |
| PR rtl-optimization/69195 |
| PR rtl-optimization/47992 |
| * ira.c (indirect_jump_optimize): Ignore artificial defs. |
| Add comments. |
| |
| 2016-03-15 Bernd Schmidt <bschmidt@redhat.com> |
| |
| Backport from mainline |
| 2016-03-04 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/69941 |
| * postreload.c (reload_combine_recognize_pattern): Ensure all uses of |
| the reg share its mode. |
| |
| 2016-03-14 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70131 |
| * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the |
| optimization if we have direct move. |
| (roundu32<mode>2_fprs): Likewise. |
| |
| 2016-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/62281 |
| * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define. |
| |
| 2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| PR target/70168 |
| * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): |
| Handle overlapping retval and newval. |
| |
| 2016-03-10 Alan Modra <amodra@gmail.com> |
| |
| PR rtl-optimization/69195 |
| PR rtl-optimization/47992 |
| * ira.c (recorded_label_ref): Delete. |
| (update_equiv_regs): Return void. |
| (indirect_jump_optimize): New function. |
| (ira): Call indirect_jump_optimize and delete_trivially_dead_insns |
| before regstat_compute_ri. Don't rebuild_jump_labels here. |
| |
| 2016-03-07 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/69666 |
| PR middle-end/69920 |
| * tree-sra.c (sra_modify_assign): Do not attempt to create |
| default_def replacements for unscalarizable regions. Do not |
| remove loads of uninitialized aggregates to SSA_NAMEs. |
| |
| 2016-03-07 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| Backport from mainline |
| 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/65932 |
| PR target/67714 |
| * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract |
| the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx. |
| |
| 2016-03-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70059 |
| * config/i386/sse.md (vec_set_lo_<mode><mask_name>, |
| <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting |
| fixes. |
| (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands. |
| |
| 2016-03-03 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| Backport from mainline |
| 2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * targhooks.c (default_target_option_pragma_parse): Do not warn if |
| called on behalf of "#pragma GCC pop_options". |
| |
| 2016-03-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/70007 |
| * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory |
| references present in REG_EQUAL notes attached to non-SET patterns. |
| |
| 2016-02-27 Jeff Law <law@redhat.com> |
| |
| Revert |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| Backport from mainline |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69740 |
| * cfghooks.c (remove_edge): Request loop fixups if we delete |
| an edge that might turn an irreducible loop into a natural |
| loop. |
| |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| Backport from mainline |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69740 |
| * cfghooks.c (remove_edge): Request loop fixups if we delete |
| an edge that might turn an irreducible loop into a natural |
| loop. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md: Add missing commutative operand markers |
| to the patterns which qualify for one. |
| * config/s390/vx-builtins.md: Likewise. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md (VI, VI_QHS): Add single element vector |
| types to mode iterators. |
| (vec_double): ... and mode attribute. |
| * config/s390/vx-builtins.md (non_vec_int): Likewise. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"): |
| Change the predicate of op2 from nonimmediate to general and let |
| reload fix it if necessary. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vecintrin.h (vec_sub_u128): Define missing macro. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_vcond): Use the compare operand |
| mode. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype. |
| * config/s390/s390.c (s390_expand_vec_movstr): New function. |
| * config/s390/s390.md ("movstr<P:mode>"): Call |
| s390_expand_vec_movstr. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md: Add missing output modifier for operand 1 |
| to print it as address properly. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*. |
| * config/s390/2964.md: New file. |
| * config/s390/s390.c (s390_get_sched_attrmask): Use the right set |
| of insn grouping attributes depending on the CPU level. |
| (s390_get_unit_mask): New function. |
| (s390_sched_score): Remove the OOO from the scheduling macros. |
| Add loop to calculate a score for the instruction mix. |
| (s390_sched_reorder): Likewise plus improve debug output. |
| (s390_sched_variable_issue): Rename macros as above. Calculate |
| the unit distances after actually scheduling an insn. Improve |
| debug output. |
| (s390_sched_init): Clear last_scheduled_unit_distance array. |
| * config/s390/s390.md: Include 2964.md. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_register_info_set_ranges): Remove |
| superfluous loops. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_emit_call): Add missing 64 bit check. |
| |
| 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/69625 |
| * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New |
| defines. |
| (s390_register_info_gprtofpr): Use new macros above. |
| (s390_register_info_stdarg_fpr): Adjust max_fpr to better match |
| its name. |
| (s390_register_info_stdarg_gpr): Adjust max_gpr to better match |
| its name. Adjust restore and save gpr ranges. |
| (s390_register_info_set_ranges): New function. |
| (s390_register_info): Use new macros above. Call |
| s390_register_info_set_ranges. |
| (s390_optimize_register_info): Likewise. |
| (s390_hard_regno_rename_ok): Use new macros. |
| (s390_hard_regno_scratch_ok): Likewise. |
| (s390_emit_epilogue): Likewise. |
| (s390_can_use_return_insn): Likewise. |
| (s390_optimize_prologue): Likewise. |
| * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants. |
| |
| 2016-02-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format |
| declaration name with %qs and print it in both error messages. Also |
| fix indentation. |
| |
| 2016-02-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| PR other/69006 |
| * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove |
| trailing blank line from error message. |
| |
| 2016-02-25 Robin Dapp <rdapp@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-12-18 Robin Dapp <rdapp@linux.vnet.ibm.com> |
| |
| * config/s390/predicates.md: Change and rename |
| constm1_operand to all_ones_operand |
| * config/s390/s390.c (s390_expand_vcond): Use all_ones_operand |
| * config/s390/vector.md: Likewise |
| |
| 2016-02-25 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-02-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69776 |
| * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype. |
| * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to |
| indicate whether we can use TBAA to disambiguate against stores. |
| Use alias-set zero if not. |
| (visit_reference_op_store): Do not use TBAA when looking up |
| redundant stores. |
| * tree-ssa-pre.c (compute_avail): Use TBAA here. |
| (eliminate_dom_walker::before_dom_children): But not when looking |
| up redundant stores. |
| |
| 2016-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69776 |
| * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias |
| sets from caller. |
| (indirect_refs_may_alias_p): Likewise. |
| (refs_may_alias_p_1): Pass alias sets as from ao_ref. |
| * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set |
| according to tbaa_p. |
| * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag. |
| (optimize_stmt): For redundant store discovery do not allow tbaa. |
| |
| 2016-02-24 Martin Jambor <mjambor@suse.cz> |
| |
| revert: |
| 2016-02-23 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/69666 |
| * tree-sra.c (sra_modify_assign): Do not attempt to create |
| default_def replacements for unscalarizable regions. |
| |
| 2016-02-24 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-02-17 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/69609 |
| * bb-reorder.c (struct bbro_basic_block_data): Add priority member. |
| (find_traces_1_round): When ending a trace update cached priority |
| of successors. |
| (bb_to_key): Use cached priority when available. |
| (copy_bb): Initialize cached priority. |
| (reorder_basic_blocks_software_trace_cache): Likewise. |
| |
| 2016-02-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69719 |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Properly use absolute of the difference of the two offsets to |
| compare or adjust the segment length. |
| |
| 2016-02-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69719 |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Adjust previous fix by ensuring that dr_a1 is left of dr_a2. |
| |
| 2016-02-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69783 |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Add trivially correct cases. |
| |
| 2016-02-23 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/69666 |
| * tree-sra.c (sra_modify_assign): Do not attempt to create |
| default_def replacements for unscalarizable regions. |
| |
| 2016-02-18 Bernd Schmidt <bschmidt@redhat.com> |
| |
| Backport from mainline |
| 2016-02-15 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/69648 |
| * lra-constraints.c (update_ebb_live_info): Don't remove sets of |
| pic_offset_table_rtx. |
| |
| 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output |
| correct instruction. |
| |
| 2016-02-16 Bernd Schmidt <bschmidt@redhat.com> |
| |
| Backport from mainline |
| 2016-02-15 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/69752 |
| * ira.c (update_equiv_regs): When looking for more than a single SET, |
| also take other side effects into account. |
| |
| Backport from mainline |
| 2016-02-08 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/68730 |
| * lra-remat.c (insn_to_cand_activation): New static variable. |
| (lra_remat): Allocate and free it. |
| (create_cand): New arg activation. Initialize a field in |
| insn_to_cand_activation if it is nonnull. |
| (create_cands): Pass the activation insn to create_cand when making |
| a candidate involving an output reload. Reorganize code a little. |
| (do_remat): Keep track of active status of candidates in a separate |
| bitmap. |
| |
| Backport from mainline |
| 2016-02-16 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR tree-optimization/69714 |
| * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change. |
| Return NULL if we have irrelevant high bytes on BIG_ENDIAN. |
| |
| 2016-02-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from trunk: |
| 2016-02-04 Jim Wilson <jim.wilson@linaro.org> |
| |
| PR target/65932 |
| PR target/67714 |
| * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and |
| HImode. |
| |
| 2016-02-16 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| PR lto/67709 |
| 2016-02-16 Tom de Vries <tom@codesourcery.com> |
| |
| * omp-low.c (simd_clone_create): Remove call to |
| symtab->call_cgraph_insertion_hooks. |
| |
| 2016-02-16 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * omp-low.c (simd_clone_create): Set in_other_partition |
| for created clones. |
| |
| 2016-02-15 John David Anglin <danglin@gcc.gnu.org> |
| |
| Backport from mainline |
| * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New. |
| |
| 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/67260 |
| * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with |
| fixed R1_REG scratch reg. |
| |
| 2016-02-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/64682 |
| PR rtl-optimization/69567 |
| PR rtl-optimization/69737 |
| * combine.c (distribute_notes) <REG_DEAD>: If the register is set |
| in I2 as well, just lose it. |
| |
| 2016-02-11 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-01-18 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69308 |
| * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND. |
| |
| 2016-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69574 |
| * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead |
| of asserting return chrec_dont_know. |
| |
| 2016-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69579 |
| * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): |
| Do not propagate through abnormal PHI results. |
| |
| 2016-02-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69606 |
| * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive |
| info on the result before moving a stmt. |
| |
| 2016-02-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69715 |
| * tree-ssa.c (execute_update_addresses_taken): Mark non-decl |
| LHS on calls as non-rewritable. |
| |
| 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/69713 |
| * config/sh/sh.md (casesi_worker_0): Add T_REG use. |
| |
| 2016-02-10 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69546 |
| * wide-int.cc (wi::divmod_internal): For unsigned division |
| where both operands fit into uhwi, if o1 is 1 and o0 has |
| msb set, if divident_prec is larger than bits per hwi, |
| clear another quotient word and return 2 instead of 1. |
| Similarly for remainder with msb in HWI set, if dividend_prec |
| is larger than bits per hwi. |
| |
| 2016-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69399 |
| * wide-int.h (wi::lrshift): For larger precisions, only |
| use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT. |
| |
| 2016-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69432 |
| * config/i386/i386.c: Include dojump.h. |
| (expand_small_movmem_or_setmem, |
| expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling |
| fixes. |
| (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early |
| if dynamic_check != -1. |
| |
| 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69187 |
| PR target/65624 |
| * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase |
| args array size by one to avoid buffer overflow. |
| |
| 2016-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/67653 |
| * gimplify.c (gimplify_asm_expr): Warn if it is too late to |
| attempt to mark memory input operand addressable and |
| call prepare_gimple_addressable in that case. Don't adjust |
| input_location for diagnostics, use error_at instead. |
| |
| 2016-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/65779 |
| * shrink-wrap.c: Include valtrack.h. |
| (move_insn_for_shrink_wrap): Add DEBUG argument. If |
| MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs |
| in between insn and where it will be moved to. Call |
| dead_debug_insert_temp. |
| (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init |
| first and dead_debug_local_finish at the end. |
| For uses and defs bitmap, handle all regs in between REGNO and |
| END_REGNO, not just the first one. |
| |
| PR rtl-optimization/68955 |
| PR rtl-optimization/64557 |
| * dse.c (record_store, check_mem_read_rtx): Don't call get_addr |
| here. Fix up formatting. |
| * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P. |
| |
| 2016-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/68269 |
| * combine.c (expand_field_assignment): Punt if compute_mode is |
| unsupported scalar mode. |
| |
| 2016-01-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69214 |
| * tree-vrp.c (simplify_cond_using_ranges): Don't propagate |
| innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI. |
| Formatting fix. |
| |
| 2016-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/68960 |
| * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy |
| it and DECL_ALIGN too. |
| |
| 2016-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/69055 |
| * ubsan.c (ubsan_instrument_float_cast): Call |
| initialize_sanitizer_builtins. |
| |
| PR target/69015 |
| * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump). |
| |
| 2015-12-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/67376 |
| * fold-const.c (size_low_cst): Removed. |
| (fold_comparison): For POINTER_PLUS_EXPR where base is ADDR_EXPR |
| call get_inner_reference and handle INDIRECT_REF base of it. Use |
| offset_int for computation of the bitpos. |
| (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Formatting |
| fixes for X +- Y CMP X and C - X CMP X folding. Add X CMP X +- Y |
| and X CMP C - X folding. |
| |
| 2016-02-09 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR middle-end/65702 |
| * varasm.c (make_decl_rtl): Mark invalid register vars as |
| DECL_EXTERNAL. |
| |
| 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/64682 |
| PR rtl-optimization/69567 |
| * combine.c (distribute_notes) <REG_DEAD>: Place the death note |
| before I2 only if the register is both used and set in I2. |
| |
| 2016-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-02-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69644 |
| * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): |
| Force oldval into register if it does not satisfy reg_or_short_operand |
| predicate. Fix up formatting. |
| |
| 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/69118 |
| * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"): |
| Fix target. |
| |
| 2016-02-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/67032 |
| * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves. |
| |
| 2016-02-02 Alan Modra <amodra@gmail.com> |
| |
| PR target/69548 |
| * config/rs6000/predicates.md (quad_int_reg_operand): Don't |
| allow subregs. |
| |
| 2016-02-01 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2016-01-26 H.J. Lu <hongjiu.lu@intel.com> |
| PR target/68986 |
| * config/i386/i386.c (ix86_compute_frame_layout): Move stack |
| alignment adjustment to ... |
| (ix86_update_stack_boundary): Here. Don't over-align stack nor |
| change stack_alignment_needed for __tls_get_addr. |
| (ix86_finalize_stack_realign_flags): Use stack_alignment_needed |
| if __tls_get_addr is called. |
| |
| 2016-02-01 Richard Henderson <rth@redhat.com> |
| |
| Backport from mainline. |
| 2016-01-28 Richard Henderson <rth@redhat.com> |
| |
| PR target/69305 |
| * config/aarch64/aarch64-modes.def (CC_Cmode): New |
| * config/aarch64/aarch64-protos.h: Update. |
| * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New. |
| (aarch64_select_cc_mode): Add check for use of CC_Cmode. |
| (aarch64_get_condition_code_1): Handle CC_Cmode. |
| * config/aarch64/aarch64.md (addti3): Use adddi3_compareC. |
| (*add<mode>3_compareC_cconly_imm): New. |
| (*add<mode>3_compareC_cconly): New. |
| (*add<mode>3_compareC_imm): New. |
| (add<mode>3_compareC): New. |
| (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand |
| to be first. Use aarch64_carry_operation. |
| (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove. |
| (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove. |
| (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove. |
| (subti3): Use subdi3_compare1. |
| (*sub<mode>3_compare0): Rename from sub<mode>3_compare0. |
| (sub<mode>3_compare1): New. |
| (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New. |
| (*sub<mode>3_carryin): Use aarch64_borrow_operation. |
| (*subsi3_carryin_uxtw): Likewise. |
| (*ngc<mode>, *ngcsi_uxtw): Likewise. |
| (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New. |
| * config/aarch64/iterators.md (DWI): New. |
| * config/aarch64/predicates.md (aarch64_carry_operation): New. |
| (aarch64_borrow_operation): New. |
| |
| 2016-01-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69459 |
| * config/i386/constraints.md (C): Only accept constant zero operand. |
| (BC): New constraint. |
| * config/i386/sse.md (*mov<mode>_internal): Use BC constraint |
| instead of C constraint. |
| * doc/md.texi (Machine Constraints): Update description |
| of C constraint. |
| |
| 2016-01-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69551 |
| * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For |
| SSE1, copy target into the temporary reg first before recursing |
| on it. |
| |
| 2016-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69542 |
| * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider |
| non-debug insns. |
| |
| 2016-01-28 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/69447 |
| * lra-remat.c (subreg_regs): New. |
| (dump_candidates_and_remat_bb_data): Dump it. |
| (operand_to_remat): Reject if operand in subreg_regs. |
| (set_bb_regs): Collect subreg_regs. |
| (lra_remat): Init and free subreg_regs. Compute |
| calculate_local_reg_remat_bb_data before create_cands. |
| |
| 2016-01-28 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/69355 |
| * tree-sra.c (analyze_access_subtree): Correct hole detection when |
| total_scalarization fails. |
| |
| 2016-01-26 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69110 |
| * tree-data-ref.c (initialize_data_dependence_relation): Handle |
| DR_NUM_DIMENSIONS == 0. |
| |
| 2016-01-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode. |
| |
| 2016-01-23 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69426 |
| * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of |
| removed clobber. |
| |
| 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69403 |
| * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to |
| define_insn_and_split. Ensure operands[1] and operands[0] do not |
| get assigned the same register. |
| |
| 2016-01-21 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backported from mainline |
| 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER |
| reg note to the GPR -> FPR save instructions. |
| |
| 2016-01-21 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/67781 |
| * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg |
| and cmpnop in two steps: first the ones not accessed in original |
| gimple expression in a endian independent way and then the ones not |
| accessed in the final result in an endian-specific way. |
| |
| 2016-01-20 Marek Polacek <polacek@redhat.com> |
| |
| PR c/68513 |
| * match.pd ((x & ~m) | (y & m)): Only perform on GIMPLE. |
| |
| 2016-01-19 Sergei Trofimovich <siarheit@google.com> |
| |
| Backport from mainline |
| PR other/60465 |
| * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64 |
| for local symbolic operands. |
| * config/ia64/predicates.md (local_symbolic_operand64): New |
| predicate. |
| |
| 2016-01-19 Jeff Law <law@redhat.com> |
| |
| Backport from mainline |
| 2016-01-12 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/pr67755 |
| * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field |
| "need_profile_correction". |
| (thread_block_1): Initialize new field to false by default. If we |
| have multiple thread paths through a common joiner to different |
| final targets, then set new field to true. |
| (compute_path_counts): Only do count adjustment when it's really |
| needed. |
| |
| 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69135 |
| * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds" |
| attribute to unconditional. Remove %? from output template. |
| |
| 2016-01-18 Alexander Fomin <alexander.fomin@intel.com> |
| |
| Backport from mainline |
| 2015-10-09 Alexander Fomin <alexander.fomin@intel.com> |
| |
| PR target/67895 |
| * config/i386/sse.md (define_insn "sse_cvtsi2ss<round_name>"): |
| Adjust embedded rounding/SAE specifier position. |
| (define_insn "sse_cvtsi2ssq<round_name>"): Likewise. |
| (define_insn "cvtusi2<ssescalarmodesuffix>32<round_name>"): Likewise. |
| (define_insn "cvtusi2<ssescalarmodesuffix>64<round_name>"): Likewise. |
| (define_insn "sse2_cvtsi2sdq<round_name>"): Likewise. |
| (define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"): |
| Likewise. |
| (define_insn "avx512dq_ranges<mode><round_saeonly_name>"): Likewise. |
| |
| 2016-01-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-01-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69140 |
| * config/i386/i386.c (ix86_frame_pointer_required): Enable |
| frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned. |
| |
| 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline: |
| 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/68799 |
| * gimple-ssa-strength-reduction.c (create_phi_basis): Directly |
| look up phi candidates in the statement-candidate map. |
| (phi_add_costs): Likewise. |
| (record_phi_increments): Likewise. |
| (phi_incr_cost): Likewise. |
| (ncd_with_phi): Likewise. |
| (all_phi_incrs_profitable): Likewise. |
| |
| 2016-01-17 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| Backport from mainline |
| 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org> |
| Jim Wilson <jim.wilson@linaro.org> |
| |
| PR target/69194 |
| * config/arm/arm-builtins.c (arm_expand_neon_args): Call |
| copy_to_mode_reg instead of force_reg. |
| |
| 2016-01-15 Alexander Fomin <alexander.fomin@intel.com> |
| |
| Backport from mainline |
| 2016-01-13 Alexander Fomin <alexander.fomin@intel.com> |
| |
| PR target/69228 |
| * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"): |
| Change first operand predicate from register_or_constm1_operand |
| to register_operand. |
| (define_expand "avx512pf_gatherpf<mode>df"): Likewise. |
| (define_expand "avx512pf_scatterpf<mode>sf"): Likewise. |
| (define_expand "avx512pf_scatterpf<mode>df"): Likewise. |
| (define_insn "*avx512pf_gatherpf<mode>sf"): Remove. |
| (define_insn "*avx512pf_gatherpf<mode>df"): Likewise. |
| (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise. |
| (define_insn "*avx512pf_scatterpf<mode>df"): Likewise. |
| * config/i386/i386.c (ix86_expand_builtin): Remove first operand |
| comparison with constm1_rtx from vec_prefetch_gen part. |
| |
| 2016-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69013 |
| * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): |
| Exchange assert for a test. |
| |
| 2016-01-12 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2016-01-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69198 |
| * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure |
| aligned_mem is properly set for AVX512-VL floating point masked |
| stores. |
| |
| 2015-12-04 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * config/i386/sse.md (<avx512>_store<mode>_mask): Fix |
| operand checked for alignment. |
| |
| 2016-01-12 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport from mainline r222186. |
| 2015-04-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65689 |
| * genpreds.c (struct constraint_data): Add maybe_allows_reg and |
| maybe_allows_mem bitfields. |
| (maybe_allows_none_start, maybe_allows_none_end, |
| maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start, |
| maybe_allows_mem_end): New variables. |
| (compute_maybe_allows): New function. |
| (add_constraint): Use it to initialize maybe_allows_reg and |
| maybe_allows_mem fields. |
| (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/ |
| is_address constraints such that those that allow neither mem nor |
| reg come first, then those that only allow reg but not mem, then |
| those that only allow mem but not reg, then the rest. |
| (write_allows_reg_mem_function): New function. |
| (write_tm_preds_h): Call it. |
| * stmt.c (parse_output_constraint, parse_input_constraint): Use |
| the generated insn_extra_constraint_allows_reg_mem function |
| instead of always setting *allows_reg = true; *allows_mem = true; |
| for unknown extra constraints. |
| |
| 2016-01-11 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_emit_move_sequence): Handle floating point |
| reloads for other unsupported memory operands. |
| |
| 2016-01-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/66616 |
| * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature |
| flag. |
| |
| 2016-01-11 Yury Gribov <y.gribov@samsung.com> |
| |
| Backport from mainline |
| 2016-01-11 Yury Gribov <y.gribov@samsung.com> |
| |
| PR 67425 |
| * common.opt (frandom-seed): Fix parameter name. |
| * doc/invoke.texi (frandom-seed): Ditto and describe parameter. |
| |
| 2016-01-08 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2015-12-15 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/68851 |
| * cgraph.c (collect_callers_of_node_1): Do not collect thunks. |
| * cgraph.h (cgraph_node): Change comment of collect_callers. |
| |
| 2016-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/68648 |
| * config/arm/arm.md (*andsi_iorsi3_notsi): Try to simplify |
| the complement of operands[3] during splitting. |
| |
| 2015-12-31 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/sse.md (define_insn "vec_dup<mode>"): Separate EVEX |
| alternative. |
| |
| 2015-12-30 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/sse.md (define_insn "vec_extract_hi_<mode>_maskm"): |
| Remove "prefix_extra". |
| (define_insn "vec_extract_hi_<mode>_mask"): New. |
| (define_insn "vec_extract_hi_<mode>"): Remove masking. |
| |
| 2015-12-25 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-12-25 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/rs6000/freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64 |
| defines. Use FBSD_DYNAMIC_LINKER instead. |
| Rename and simplify LINK_OS_FREEBSD_SPEC_DEF32/64 to |
| LINK_OS_FREEBSD_SPEC_DEF. |
| |
| 2015-12-22 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| PR target/68872 |
| * config/rs6000/rs6000.h (ASM_CPU_SPEC): For -mcpu=powerpc64le, |
| pass %(asm_cpu_power8). |
| |
| 2015-12-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/68910 |
| * emit-rtl.c (set_unique_reg_note) <REG_EQUAL>: Add bypass for USEs. |
| * config/sparc/sparc.md (anddi3): Enable only in 64-bit mode. |
| (iordi3): Likewise. |
| (xordi3): Likewise. |
| (one_cmpldi2): Likewise. |
| (*anddi3_sp32): Delete. |
| (*and_not_di_sp32): Likewise. |
| (*iordi3_sp32): Likewise. |
| (*or_not_di_sp32): Likewise. |
| (*xordi3_sp32): Likewise. |
| (*xor_not_di_sp32): Likewise. |
| (32-bit DImode logical operations splitter): Likewise. |
| (*one_cmpldi2_sp32): Likewise. |
| |
| 2015-13-18 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/68729 |
| * config/pa/pa.c (pa_emit_move_sequence): Reorganize handling of |
| floating-point reloads. Only reload operands that are not valid |
| floating-point memory operands. |
| |
| 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backported from mainline |
| 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/predicates.md (const_mask_operand): New predicate. |
| * config/s390/s390-builtins.def: Set a smaller bitmask for a |
| few builtins. |
| * config/s390/vector.md: Change predicate from immediate_operand |
| to either const_int_operand or const_mask_operand. Add special |
| insn conditions on patterns which have to exclude certain values. |
| * config/s390/vx-builtins.md: Likewise. |
| |
| 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backported from mainline |
| 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md ("*vec_set<mode>"): Change shift count |
| mode from DI to SI. |
| |
| 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backported from mainline |
| 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-builtin-types.def: New builtin types added. |
| * config/s390/s390-builtins.def: Add s390_vec_splat_* definitions. |
| * config/s390/s390.c (s390_expand_builtin): Always truncate |
| constants to the mode in the pattern. |
| * config/s390/vecintrin.h: Let the vec_splat_* macros point to the |
| respective builtin __builtin_s390_vec_splat_*. |
| |
| 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backported from mainline |
| 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-builtin-types.def: Sort builtin types. |
| |
| 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backported from mainline |
| 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-c.c (s390_get_vstring_flags): Invert the |
| condition for the RT flag. |
| |
| 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/constraints.md: Use private backport of |
| const_vec_duplicate_p s390_const_vec_duplicate_p. |
| * config/s390/s390-protos.h: Add prototype for |
| s390_const_vec_duplicate_p. |
| * config/s390/s390.c (s390_const_vec_duplicate_p): New function. |
| (s390_contiguous_bitmask_vector_p): Use s390_const_vec_duplicate_p. |
| (print_operand): Likewise. |
| |
| 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backported from mainline |
| 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/constraints.md ("jKK"): New constraint. |
| * config/s390/s390.c (tm-constrs.h): Include for |
| satisfies_constraint_*. |
| (s390_legitimate_constant_p): Allow jKK constants. Use |
| satisfies_constraint_* also for the others. |
| (legitimate_reload_vector_constant_p): Likewise. |
| (print_operand): Allow h output modifier on vectors. |
| * config/s390/vector.md ("mov<mode>"): Add vrepi. |
| |
| 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backported from mainline |
| |
| 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md ("*vec_splats<mode>"): Fix constraint |
| letter I->K. |
| |
| 2015-12-18 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2015-12-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/68835 |
| * tree.c (get_int_cst_ext_nunits): Return |
| cst.get_precision () / HOST_BITS_PER_WIDE_INT + 1 |
| for all unsigned wi::neg_p (cst) constants. |
| (build_new_int_cst): If cst.get_precision is not a multiple |
| of HOST_BITS_PER_WIDE_INT, zero extend -1 to the precision |
| % HOST_BITS_PER_WIDE_INT. |
| |
| 2015-12-16 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/68779 |
| * config/pa/pa.md (atomic_loaddi): Honor -mdisable-fpregs. |
| (atomic_loaddi_1): Likewise. |
| (atomic_storedi): Likewise. |
| (atomic_storedi_1): Likewise. |
| (atomic_loaddf): Likewise. |
| (atomic_loaddf_1): Likewise. |
| (atomic_storedf): Likewise. |
| (atomic_storedf_1): Likewise. |
| Move all atomic patterns to end of file. |
| |
| 2015-12-16 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-12-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/68184 |
| * cgraphunit.c (cgraph_node::analyze): Set can_throw_external. |
| |
| 2015-12-16 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-12-04 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/68636 |
| * builtins.c (get_pointer_alignment_1): Take care of byte to |
| bit alignment computation overflow. |
| |
| 2015-11-30 Richard Biener <rguenther@suse.de> |
| |
| PR c/68162 |
| * dwarf2out.c (gen_type_die_with_usage): Keep variant types |
| of arrays. |
| |
| 2015-12-14 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/66616 |
| * ipa-cp.c (propagate_constants_accross_call): Move thuk check... |
| (call_passes_through_thunk_p): ...here. |
| (find_more_scalar_values_for_callers_subset): Perform thunk checks |
| like propagate_constants_accross_call does. |
| |
| 2015-12-14 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport from mainline. |
| 2015-12-09 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR rtl-optimization/67609 |
| * config/aarch64/aarch64-protos.h |
| (aarch64_cannot_change_mode_class): Bring back. |
| * config/aarch64/aarch64.c |
| (aarch64_cannot_change_mode_class): Likewise. |
| * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise. |
| * config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use |
| zero_extract rather than truncate. |
| (aarch64_movdi_<mode>high): Likewise. |
| |
| 2015-12-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2015-12-11 Martin Liska <mliska@suse.cz> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/67484 |
| * config/i386/i386.c (ix86_valid_target_attribute_tree): |
| Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and |
| opts->x_ix86_tune_string. |
| |
| 2015-12-13 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/67355 |
| * var-tracking.c (reverse_op): Don't add dummy zero to reverse |
| ops that simplify back to the original value. |
| * alias.c (refs_newer_value_p): Cut off recursion for |
| expressions containing the original value. |
| |
| 2015-12-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/68376 |
| PR rtl-optimization/68670 |
| * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0 |
| or > -1 conditions regardless of negate, and disallow |
| all other conditions. |
| |
| 2015-12-10 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-12-09 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE. |
| |
| 2015-12-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2015-12-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/68701 |
| * config/i386/i386.c (ix86_option_override_internal): Enable |
| -maccumulate-outgoing-args when %ebp is fixed due to stack |
| realignment requirements. |
| |
| 2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| Backport from mainline r231224. |
| 2015-12-03 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * cfgexpand.c (expand_gimple_stmt_1): Return statement with |
| DECL as return value is allowed to have NULL bounds. |
| |
| 2015-12-10 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2015-04-30 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/65948 |
| * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent |
| to itself. |
| |
| 2015-12-09 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/68729 |
| * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is |
| consistent with modes of the input and output operands when doing |
| reloads to and from floating point registers. Do reload for all |
| address forms. |
| |
| 2015-12-09 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2015-12-09 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/68790 |
| * ipa-icf.c (sem_function::param_used_p): Return true |
| if ipa_node_params_sum equals to NULL. |
| |
| 2015-12-07 Jakub Jelinek <jakub@redhat.com> |
| |
| Backport from mainline |
| 2015-12-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/68680 |
| * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for |
| BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca |
| by name. |
| |
| PR tree-optimization/68671 |
| * tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic |
| blocks starting with the successor of first bb we've modified |
| and ending with last_bb call reset_flow_sensitive_info_in_bb. |
| |
| 2015-12-04 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-12-01 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/rs6000/freebsd64.h (ELFv2_ABI_CHECK): Add new macro. |
| (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set |
| rs6000_current_abi to ABI_AIX or ABI_ELFv2. |
| |
| 2015-12-04 Richard Biener <rguenther@suse.de> |
| |
| * BASE-VER: Set to 5.3.1. |
| |
| 2015-12-04 Release Manager |
| |
| * GCC 5.3.0 released. |
| |
| 2015-11-28 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586. |
| Remove support for FreeBSD 5 and earlier. |
| |
| 2015-11-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/68552 |
| * optabs.c (expand_vec_perm_1): Move vec_shr handling from here... |
| (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab |
| or whether v0 == v1. |
| |
| 2015-11-26 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| Backport from mainline |
| 2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR rtl-optimization/67037 |
| * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary. |
| |
| 2015-11-26 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backport from mainline |
| 2015-11-25 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize |
| both the symbol and the "dot" symbol for function descriptors. Fix |
| inversion for rename of symbols with dollar sign. |
| |
| 2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| Backport from mainline r230938. |
| 2015-11-26 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/68416 |
| * config/i386/i386.h (enum reg_class): Add |
| bounds registers to ALL_REGS. |
| |
| 2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/67226 |
| * calls.c (store_one_arg): Take into account |
| crtl->args.pretend_args_size when checking for overlap between |
| arg->value and argblock + arg->locate.offset during sibcall |
| optimization. |
| |
| 2015-11-25 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/67954 |
| * lra-constraints.c (curr_insn_transform): Add check on scratch |
| pseudo when change class to NO_REGS. Add an assert. |
| |
| 2015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport form mainline |
| 2015-11-24 David Edelsohn <dje.gcc@gmail.com> |
| Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec. |
| (Fv2): New mode attribute to be used when ISA 2.07 instructions |
| are used on SF values, and ISA 2.06 instructions on DF values. |
| (add<mode>3_fpr): Use <Fv2> instead of <Fv>. |
| (sub<mode>3_fpr): Use <Fv2> instead of <Fv>. |
| (mul<mode>3_fpr): Use <Fv2> instead of <Fv>. |
| (div<mode>3_fpr): Use <Fv2> instead of <Fv>. |
| (sqrt<mode>2): Use <Fv2> instead of <Fv>. |
| (fre<Fs>): Use <Fv2> instead of <Fv>. |
| (rsqrt<mode>2): Use <Fv2> instead of <Fv>. |
| (cmp<mode>_fpr): Use <Fv2> instead of <Fv>. |
| (xsrdpi<mode>): Add support for the lround function. |
| (lround<mode>di2): Likewise. |
| (fma<mode>4_fpr): Use <Fv2> instead of <Fv>. |
| (fms<mode>4_fpr): Use <Fv2> instead of <Fv>. |
| (nfma<mode>4_fpr): Use <Fv2> instead of <Fv>. |
| (nfms<mode>4_fpr): Use <Fv2> instead of <Fv>. |
| |
| 2015-11-24 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-11-18 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the |
| commit from r125920 for FreeBSD. |
| |
| 2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| Backport from mainline r230796. |
| 2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR c/68337 |
| * gimple-fold.c: Include ipa-chkp.h. |
| (gimple_fold_builtin_memory_op): Don't fold call if we |
| are going to instrument it and it may copy pointers. |
| |
| 2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2015-11-24 Bernd Schmidt <bschmidt@redhat.com> |
| Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/68194 |
| PR rtl-optimization/68328 |
| PR rtl-optimization/68185 |
| * ree.c (combine_reaching_defs): Reject copy_needed case if |
| copies_list is not empty. |
| |
| 2015-11-24 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/68221 |
| * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly |
| use mem_ref_offset. |
| |
| 2015-11-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/68483 |
| * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR |
| is valid vec_shr pattern, don't lower it even if can_vec_perm_p |
| returns false. |
| * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX |
| whenever first is nelt or above. Don't mask expected with |
| 2 * nelt - 1. |
| |
| 2015-11-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com> |
| Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/67808 |
| * config/rs6000/rs6000.md (extenddftf2): In the expander, only |
| allow registers, but provide insns for the combiner to create for |
| loads from memory. Separate VSX code from non-VSX code. For |
| non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename |
| externaldftf2_internal to externaldftf2_fprs. Reorder constraints |
| so that registers come before memory operations. Drop support from |
| converting DFmode to TFmode, if the DFmode value is in a GPR |
| register. |
| (extenddftf2_fprs): Likewise. |
| (extenddftf2_internal): Likewise. |
| (extenddftf2_vsx): Likewise. |
| (extendsftf2): In the expander, only allow registers, but provide |
| insns for the combiner to create for stores and loads. |
| |
| 2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/68363 |
| * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments |
| that are not INSN_P. |
| |
| 2015-11-23 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2015-06-22 Jan Hubicka <hubicka@ucw.cz> |
| Martin Liska <mliska@suse.cz> |
| |
| PR ipa/65908 |
| * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove |
| construction of arg_types. |
| (sem_function::sem_function): Likewise. |
| (sem_function::~sem_function): Remove destruction of arg_types. |
| (sem_function::compatible_parm_types_p): New function. |
| (sem_function::equals_wpa): Reorg matching of return values |
| and parameter types. |
| (sem_function::equals_private): Reorg mathcing of argument types. |
| (sem_function::parse_tree_args): Remove. |
| (sem_function::param_used_p): New function. |
| * ipa-icf.h (init_wpa): Do not call it. |
| (parse_tree_args): Remove. |
| (compatible_parm_types_p): Declare. |
| (result_type): Remove. |
| (arg_types): Remove. |
| (param_used_p): Declare. |
| |
| 2015-11-23 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-10-29 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/56956 |
| * fold-const.c (fold_cond_expr_with_comparison): Do not fold |
| unsigned conditonal negation to ABS_EXPR. |
| |
| 2015-11-22 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| Backport from mainline |
| 2015-09-14 Manuel López-Ibáñe<manu@gcc.gnu.org> |
| |
| PR fortran/67460 |
| * diagnostic.c (diagnostic_initialize): Do not set |
| some_warnings_are_errors. |
| (diagnostic_finish): Use DK_WERROR count instead. |
| (diagnostic_report_diagnostic): Do not set |
| some_warnings_are_errors. |
| * diagnostic.h (struct diagnostic_context): Remove |
| some_warnings_are_errors. |
| |
| 2015-11-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/66432 |
| * tree-inline.c (copy_debug_stmt): If |
| gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL |
| in decl_debug_args, don't call remap_gimple_op_r on it. |
| |
| 2015-11-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/68339 |
| * omp-low.c (expand_simd_clones): Call node->get_body () before |
| allocating stuff in GC. |
| |
| 2015-11-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/md.texi (Standard Names): Move entry for addptr3 around, |
| add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes |
| glitch in entries for cbranch4 and jump. |
| |
| 2015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| * config/s390/s390.md ("bswaphi2"): New pattern. |
| |
| 2015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| * config/s390/s390.md (GPR1_REGNUM): New constant. |
| ("*trunc<BFP:mode><DFP_ALL:mode>2") |
| ("*trunc<DFP_ALL:mode><BFP:mode>2") |
| ("trunc<BFP:mode><DFP_ALL:mode>2") |
| ("trunc<DFP_ALL:mode><BFP:mode>2") |
| ("*extend<BFP:mode><DFP_ALL:mode>2") |
| ("*extend<DFP_ALL:mode><BFP:mode>2") |
| ("extend<BFP:mode><DFP_ALL:mode>2") |
| ("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1. |
| |
| 2015-11-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR lto/61313 |
| * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified |
| by the user. |
| * configure: Regenerate. |
| |
| 2015-11-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/68408 |
| * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine. |
| (DTORS_SECTION_ASM_OP): Likewise. |
| |
| 2015-11-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/68376 |
| * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if |
| encountering x <= 0 ? ~x : x or x > 0 ? ~x : x. |
| |
| PR target/67770 |
| * config/i386/i386.md (simple_return): Disable if |
| ix86_static_chain_on_stack is true. |
| |
| 2015-11-18 Richard Henderson <rth@redhat.com> |
| |
| Backport from mainline |
| PR rtl-opt/67609 |
| * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten |
| sse check to the exact conditions of PR 67609. |
| |
| * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow |
| narrowing subregs on SSE and MMX registers. |
| * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that |
| appear to be sub-words of multi-register pseudos must be rejected. |
| * doc/tm.texi: Regenerate. |
| |
| 2015-11-18 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-11-07 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/68057 |
| PR ipa/68220 |
| * ipa-polymorphic-call.c |
| (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering |
| issue when offset is out of range. |
| (contains_type_p): Fix out of range check, clear dynamic flag. |
| |
| 2015-10-23 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/pr67600 |
| * ipa-polymorphic-call.c |
| (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse |
| instance offset with offset of outer type. |
| |
| 2015-10-12 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/67783 |
| * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add |
| code that analyzes IVs on each stmt but in a cheaper way avoiding |
| quadratic behavior. |
| |
| 2015-10-11 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/67056 |
| * ipa-polymorphic-call.c (possible_placement_new): If cur_offset |
| is negative we don't know the type. |
| (check_stmt_for_type_change): Skip constructors of non-polymorphic |
| types as those won't help devirutalization. |
| |
| 2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR c/66098 |
| PR c/66711 |
| * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into |
| account when deciding what was the command-line status. |
| |
| 2015-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/68143 |
| * config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of |
| offset from dstbase and use it appropriately in |
| adjust_automodify_address. |
| (arm_block_set_aligned_vect): Likewise. |
| |
| 2015-11-18 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-10-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/68067 |
| * fold-const.c (negate_expr_p): We cannot negate plus or minus |
| if overflow is not wrapping. Likewise multiplication unless |
| one operand is constant and not power of two. |
| (fold_negate_expr): Adjust accordingly. |
| |
| 2015-10-26 Richard Biener <rguenther@suse.de> |
| Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| PR middle-end/67443 |
| * alias.c (ao_ref_from_mem): Remove promoted subreg handling. |
| Properly prune ref->ref for accesses outside of ref. |
| |
| 2015-10-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/68017 |
| * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards. |
| |
| 2015-09-23 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/67662 |
| * fold-const.c (fold_binary_loc): Do not reassociate two vars with |
| undefined overflow unless they will cancel out. |
| |
| 2015-11-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/68157 |
| * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of |
| pow_stmt or mul_stmt from stmt's uid. |
| (reassociate_bb): Set uid of mul_stmt from stmt's uid. |
| |
| 2015-11-16 Charles Baylis <charles.baylis@linaro.org> |
| |
| Backport from mainline r227407 |
| PR ipa/67280 |
| * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external |
| in new callgraph edge. |
| |
| 2015-11-16 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-11-16 Oleg Endo <olegendo@gcc.gnu.org> |
| Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/68277 |
| * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and |
| operands[2]. |
| (*addsi3): Add another insn_and_split variant for reload. |
| |
| 2015-11-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/67265 |
| * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete |
| assertion on the CFA register. |
| |
| 2015-11-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/67265 |
| * ira.c (ira_setup_eliminable_regset): Do not necessarily create the |
| frame pointer for stack checking if non-call exceptions aren't used. |
| * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise. |
| |
| 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/68129 |
| * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. |
| * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE): |
| Delete VOIDmode case. Assert that mode is not VOIDmode. |
| * config/aarch64/predicates.md (const0_operand): Remove const_double |
| match. |
| |
| 2015-11-10 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Partial backport from trunk r228751. |
| PR tree-optimization/68238 |
| 2015-10-13 Richard Biener <rguenther@suse.de> |
| |
| * tree-vect-loop.c (vect_estimate_min_profitable_iters): Use |
| LOOP_VINFO_COMP_ALIAS_DDRS to estimate alias versioning cost. |
| |
| 2015-11-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/57845 |
| * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do |
| not promote the mode for aggregate types. |
| |
| 2015-11-09 Mike Stump <mikestump@comcast.net> |
| |
| PR debug/66728 |
| * dwarf2out.c (get_full_len): Return a value based upon the actual |
| precision needed for the value. |
| (add_const_value_attribute): Use a maximal wide-int for |
| CONST_WIDE_INTs, not VOIDmode. |
| (output_die): Don't ever output NULL with printf. |
| |
| * rtl.h (get_precision of rtx_mode_t): Ensure we never process |
| BLKmode nor VOIDmode values. |
| |
| 2015-11-06 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/68106 |
| * lra-remat.c (input_regno_present_p): Process hard regs |
| explicitly present in machine description insns. |
| (call_used_input_regno_present_p): Ditto. |
| (calculate_gen_cands): Ditto. |
| (do_remat): Ditto. |
| |
| 2015-11-02 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/rs6000/freebsd64.h (ASM_SPEC32): Adapt spec to handle PIE |
| executables. |
| |
| 2015-11-02 Steve Ellcey <sellcey@imgtec.com> |
| |
| Backport from mainline |
| 2015-10-23 Steve Ellcey <sellcey@imgtec.com> |
| Andrew Pinski <apinski@cavium.com> |
| |
| PR rtl-optimization/67736 |
| * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead |
| of gen_lowpart. |
| |
| 2015-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/68102 |
| * config/aarch64/aarch64.md (*movsi_aarch64): Check that |
| operands[0] is a reg before taking its REGNO in split condition. |
| (*movdi_aarch64): Likewise. |
| |
| 2015-10-27 Caroline Tice <cmtice@google.com. |
| |
| (from Richard Biener) |
| * tree.c (int_cst_hasher::hash): Replace XOR with more efficient |
| call to interative_hash_host_wide_int. |
| |
| 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR middle-end/67989 |
| * optabs.c (expand_atomic_compare_and_swap): Handle case when |
| ptarget_oval or ptarget_bool are const0_rtx. |
| |
| 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/67929 |
| * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite. |
| * config/arm/constraints.md (Dp): Update callsite. |
| * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise. |
| |
| 2015-10-27 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-sra.c (replace_removed_params_ssa_names): Change type of |
| parameter stmt to gimple. |
| |
| 2015-10-26 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2015-10-09 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/67794 |
| * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish |
| between types of statements but accept original definitions as a |
| parameter. |
| (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to |
| iterate over definitions. |
| |
| 2015-10-25 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR middle-end/68079 |
| * dojump.c (do_compare_and_jump): Canonicalize both function and |
| method types. |
| |
| 2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/68015 |
| * config/s390/s390.md (mov<mode>cc): Emit compare only if we don't |
| already have a comparison result. |
| |
| 2015-10-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2015-10-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/68018 |
| * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack |
| for 64-bit MS_ABI targets also when default incoming stack boundary |
| is overriden. |
| |
| 2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| Backport from mainline r229024 |
| 2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| PR target/66912 |
| * varasm.c (default_binds_local_p_2): Turn on extern_protected_data. |
| |
| 2015-10-19 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com> |
| |
| * wide-int.h (struct binary_traits): Fix partial specialization syntax. |
| (struct int_traits): Likewise. |
| |
| 2015-10-16 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR middle-end/66311 |
| * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value |
| is zero- rather than sign-extended. |
| |
| 2015-10-15 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-10-14 Peter Bergner <bergner@vnet.ibm.com> |
| Torvald Riegel <triegel@redhat.com> |
| |
| PR target/67281 |
| * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New. |
| (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend, |
| trechkpt, treclaim, tsr, ttest): Rename define_insns from this... |
| (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend, |
| *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier. |
| (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend, |
| trechkpt, treclaim, tsr, ttest): New define_expands. |
| * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define |
| __TM_FENCE__ for htm. |
| * doc/extend.texi: Update documentation for htm builtins. |
| |
| 2015-10-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/67967 |
| * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add |
| REG_CFA_EXPRESSION to aligned SSE stores. |
| |
| 2015-10-12 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/67940 |
| * config/i386/i386.c (ix86_compute_frame_layout): Correct |
| stack alignment adjustment. |
| (ix86_expand_prologue): Likewise. |
| |
| 2015-10-12 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2015-10-08 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_compute_frame_layout): Round up the |
| SSE register save area to 16 bytes only if the incoming stack |
| boundary is no less than 16 bytes. |
| |
| Backport from mainline |
| 2015-10-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/66697 |
| * config/i386/i386.c (ix86_option_override_internal): Always use |
| 8-byte minimum stack boundary in 64-bit mode. |
| (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY. |
| (ix86_emit_save_reg_using_mov): Support unaligned SSE store. |
| Add a REG_CFA_EXPRESSION note if needed. |
| (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load. |
| (ix86_handle_force_align_arg_pointer_attribute): New. |
| (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check. |
| (ix86_attribute_table): Set ix86_force_align_arg_pointer_string |
| with ix86_handle_force_align_arg_pointer_attribute. |
| * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD. |
| |
| 2015-10-12 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2015-10-07 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/67850 |
| * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ... |
| (ix86_set_current_function): This. |
| (TARGET_EXPAND_TO_RTL_HOOK): Removed. |
| |
| 2015-10-12 Alexander Fomin <alexander.fomin@intel.com> |
| Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/67849 |
| * config/i386/sse.md (define_split vec_select/V8FI): Restrict |
| split for upper-bank registers when target does not support |
| AVX512VL. |
| (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict |
| split when target does not support AVX512VL. |
| |
| 2015-10-12 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-07-21 Mike Frysinger <vapier@gentoo.org> |
| Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * configure.ac: Add check for new options in isl-0.15. |
| * config.in, configure: Rebuilt. |
| * graphite-blocking.c: Include <isl/constraint.h> |
| * graphite-interchange.c, graphite-poly.c: Likewise. |
| * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise. |
| * graphite.c: Likewise. |
| * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and |
| <isl/union_set.h>. |
| * graphite-dependences.c: Include <isl/constraint.h>. |
| (max_number_of_out_dimensions): Returns isl_stat. |
| (extend_schedule_1): Likewise |
| (extend_schedule): Corresponding changes. |
| * graphite-optimize-isl.c: Include <isl/constraint.h> and |
| <isl/union_set.h>. |
| (getSingleMap): Change return type of isl_stat. |
| (optimize_isl): Conditionally use |
| isl_options_set_schedule_serialize_sccs. |
| * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks |
| if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. |
| |
| 2015-10-10 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/58315 |
| * tree-inline.c (reset_debug_binding): New. |
| (reset_debug_bindings): Likewise. |
| (expand_call_inline): Call it. |
| |
| 2015-10-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backport from mainline |
| 2015-09-17 Richard Henderson <rth@redhat.com> |
| |
| PR libstdc++/65913 |
| * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake |
| pointers that encode the alignment of the object. |
| |
| 2015-10-06 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-09-15 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/67563 |
| * gimple-fold.c (gimplify_and_update_call_from_tree): Do not |
| transfer EH info from old to new stmt. |
| (replace_call_with_value): Likewise. |
| (replace_call_with_call_and_fold): Likewise. |
| (gimple_fold_builtin_memory_op): Likewise. |
| (gimple_fold_builtin_memset): Likewise. |
| (gimple_fold_builtin_stpcpy): Likewise. |
| (gimple_fold_call): Likewise. |
| |
| 2015-09-24 Richard Biener <rguenther@suse.de> |
| |
| PR lto/67699 |
| * lto-cgraph.c (compute_ltrans_boundary): Do not stream |
| abstract origins. |
| |
| 2015-10-06 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New. |
| (expand_vec_perm_even_odd_1): Handle V64QImode. |
| (ix86_expand_vec_perm_const_1): Try expansion with |
| expand_vec_perm_even_odd_trunc as well. |
| * config/i386/sse.md (VI124_AVX512F): Rename to ... |
| (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend |
| to V54QI. |
| (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ... |
| (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend |
| to V32HI and V16SI. |
| (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name. |
| (define_expand "vec_pack_trunc_<mode>"): Update iterator name. |
| (define_expand "vec_unpacks_lo_<mode>"): Ditto. |
| (define_expand "vec_unpacks_hi_<mode>"): Ditto. |
| (define_expand "vec_unpacku_lo_<mode>"): Ditto. |
| (define_expand "vec_unpacku_hi_<mode>"): Ditto. |
| |
| 2015-10-05 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2015-10-05 Marek Polacek <polacek@redhat.com> |
| |
| PR tree-optimization/67821 |
| * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert. |
| |
| 2015-10-03 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-09-29 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/67716 |
| * config/sh/sh.c (sh_override_options_after_change): New. |
| (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define. |
| (sh_option_override): Move align_loops, align_jumps and |
| align_functions handling into sh_override_options_after_change. |
| |
| 2015-10-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_const_operand_ok): Add missing |
| brackets. |
| |
| 2015-10-01 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2015-10-01 Marek Polacek <polacek@redhat.com> |
| |
| PR tree-optimization/67769 |
| * tree-ssa-phiopt.c (conditional_replacement): Call |
| reset_flow_sensitive_info_in_bb. |
| (minmax_replacement): Likewise. |
| (abs_replacement): Likewise. |
| |
| 2015-10-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris. |
| Check for ld -type pie on Solaris 11.x and 12. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define. |
| (STARTFILE_SPEC): Use it. |
| (ENDFILE_CRTEND_SPEC): Define. |
| (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC. |
| (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC, |
| ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC. |
| (LINK_PIE_SPEC): Define. |
| * config/i386/sol2.h (ENDFILE_SPEC): Remove. |
| (ENDFILE_ARCH_SPEC): Define. |
| * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define. |
| |
| 2015-10-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (gcc_cv_solaris_crts): New test. |
| * configure. Regenerate. |
| * config.in: Regenerate. |
| * config/sol2.h (STARTFILE_SPEC): Simplify, provide |
| HAVE_SOLARIS_CRTS variant. |
| |
| 2015-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2015-06-09 Shiva Chen <shiva0217@gmail.com> |
| |
| * sync.md (atomic_load<mode>): Add conditional code for lda/ldr |
| (atomic_store<mode>): Likewise. |
| |
| 2015-09-30 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2015-08-07 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR rtl-optimization/67029 |
| * ira-color.c: Include "recog.h" before including "ira-int.h". |
| * target-globals.c: Likewise. |
| * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an |
| adds an alternative_mask argument and use it instead of |
| preferred_alternatives. |
| * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ... |
| * ira-int.h (ira_implicitly_set_insn_hard_regs): Here. |
| * sched-deps.c: Include "ira-int.h" after including "ira.h". |
| (sched_analyze_insn): Update call to |
| ira_implicitly_set_insn_hard_regs. |
| * sel-sched.c: Include "ira-int.h" after including "ira.h". |
| (implicit_clobber_conflict_p): Update call to |
| ira_implicitly_set_insn_hard_regs. |
| |
| 2015-09-30 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2015-09-30 Marek Polacek <polacek@redhat.com> |
| |
| PR tree-optimization/67690 |
| * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call |
| reset_flow_sensitive_info_in_bb. |
| * tree-ssa-tail-merge.c: Include "stringpool.h" and "tree-ssanames.h". |
| (replace_block_by): Call reset_flow_sensitive_info_in_bb. |
| * tree-ssanames.c: Include "gimple-iterator.h". |
| (reset_flow_sensitive_info_in_bb): New function. |
| * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare. |
| |
| 2015-09-29 Vladimir Makarov <vmakarov@redhat.com> |
| |
| Backport from mainline |
| 2015-07-21 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR ipa/66424. |
| * lra-remat.c (operand_to_remat): Prevent using insns with input |
| subregs processed separately by IRA. |
| |
| 2015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if |
| the vector element is bigger than 64 bit. |
| |
| 2015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>") |
| ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS. |
| |
| 2015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c: Add V1TImode to constant pool modes. |
| |
| 2015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vx-builtins.md |
| ("vec_scatter_element<mode>_<non_vec_int>") |
| ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode |
| attribute with bhfgq. |
| |
| 2015-09-29 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64.md (prefetch): |
| Change the predicate of operand 0 to register_operand. |
| |
| 2015-09-28 Daniel Hellstrom <daniel@gaisler.com> |
| |
| * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon. |
| |
| 2015-09-28 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-09-27 Oleg Endo <olegendo@gcc.gnu.org> |
| Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/67391 |
| * config/sh/sh-protos.h (sh_lra_p): Declare. |
| * config/sh/sh.c (sh_lra_p): Make non-static. |
| * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and |
| arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case. |
| Expand into addsi3_scr if operands[2] if needed. |
| (*addsi3_compact): Rename to *addsi3_compact_lra. Use |
| arith_reg_operand for operands[1]. Allow it only when LRA is enabled. |
| (addsi3_scr, *addsi3): New insn_and_split patterns. |
| |
| 2015-09-28 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-08-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66917 |
| * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned |
| field. |
| (DR_VECT_AUX): New macro. |
| (set_dr_misalignment): Adjust. |
| (dr_misalignment): Likewise. |
| * tree-vect-data-refs.c (vect_compute_data_ref_alignment): |
| Compute whether the base is at least element aligned. |
| * tree-vect-stmts.c (ensure_base_align): Adjust. |
| (vectorizable_store): If the base is not element aligned |
| preserve alignment of the original access if misalignment is unknown. |
| (vectorizable_load): Likewise. |
| |
| 2015-09-16 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/67442 |
| * fold-const.c (extract_muldiv_1): Properly extend multiplication |
| result before builting a tree via wide_int_to_tree. |
| |
| 2015-09-28 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/driver-sparc.c: map LEON to leon3 |
| |
| 2015-09-28 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE |
| and make it inverse to change default |
| * config/sparc/sync.md: Only use supervisor ASI for CASA when in |
| supervisor mode |
| * doc/invoke.texi: Document change of default |
| |
| 2015-09-28 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return |
| true on %f0 for a target without FPU. |
| * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target |
| without FPU. |
| (untyped_return): Do not load %f0 for a target without FPU. |
| |
| 2015-09-25 Tobias Burnus <burnus@net-b.de> |
| |
| * doc/invoke.texi (-fsanitize): Minor wording tweak. |
| |
| 2015-09-25 Tobias Burnus <burnus@net-b.de> |
| |
| * doc/invoke.texi (-fsanitize): Update URLs. |
| |
| 2015-09-24 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define. |
| * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop): |
| Declare. |
| * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes. |
| (pa_expand_compare_and_swap_loop): New. |
| (pa_maybe_emit_compare_and_swap_exchange_loop): New. |
| * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi, |
| atomic_storesf, atomic_loaddf, atomic_storedf): New expanders. |
| (atomic_loaddf_1, atomic_storedf_1): New insn patterns. |
| (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1): |
| Revise. |
| |
| 2015-09-24 Alan Modra <amodra@gmail.com> |
| |
| Apply from mainline |
| 2015-09-02 Alan Modra <amodra@gmail.com> |
| * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define. |
| * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise. |
| (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target. |
| |
| 2015-09-23 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-09-23 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/67391 |
| * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for overlapping |
| regs when matching the pattern. |
| |
| 2015-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/67439 |
| * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from |
| predicate. Set predicable_short_it attr to "no". |
| |
| 2015-09-23 Matthew Wahab <matthew.wahab@arm.com> |
| |
| Backport from mainline |
| 2015-08-14 Matthew Wahab <matthew.wahab@arm.com> |
| |
| PR target/67143 |
| * config/aarch64/atomics.md (atomic_<optab><mode>): Replace |
| 'lconst_atomic' with 'const_atomic'. |
| (atomic_fetch_<optab><mode>): Likewise. |
| (atomic_<optab>_fetch<mode>): Likewise. |
| * config/aarch64/iterators.md (lconst-atomic): Move below |
| 'const_atomic'. |
| (const_atomic): New. |
| |
| 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| Backport from mainline |
| 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/nios2/nios2.c (nios2_legitimize_address): When handling |
| 'reg + reloc' cases, allow first operand to be non-REG, and use |
| force_reg() to enforce address pattern. |
| |
| 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * gcc/config/i386/i386.md (define_insn "kunpckhi"): Fix |
| operand in pattern. |
| (define_insn "kunpcksi"): Ditto. |
| (define_insn "kunpckdi"): Ditto. |
| |
| 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * gcc/config/i386/i386.md (define_split not/xor SWI1248x): Use |
| iterator instead of fixed modes. |
| |
| 2015-09-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/67619 |
| * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy |
| the address to a register. |
| |
| 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/67657 |
| * config/sh/sh.c (sh_remove_overlapping_post_inc, |
| sh_peephole_emit_move_insn): Add new functions. |
| * config/sh/sh-protos.h (sh_remove_overlapping_post_inc, |
| sh_peephole_emit_move_insn): Declere them. |
| * config/sh/sh.md: Use them in various peephole2 patterns. |
| |
| 2015-09-21 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-07-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66793 |
| * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen): |
| Properly split the block after stmts ending it. |
| |
| 2015-08-05 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/67055 |
| * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle |
| NULL gimple_block. |
| |
| 2015-08-05 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/67121 |
| * tree-if-conv.c (combine_blocks): Clear range-info produced |
| by stmts no longer executed conditionally. |
| |
| 2015-09-16 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/67271 |
| * fold-const.c (native_encode_expr): Bail out on bogus offsets. |
| |
| 2015-07-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66952 |
| * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For |
| blocks we end up executing unconditionally reset all SSA |
| info such as range and alignment. |
| * tree-ssanames.h (reset_flow_sensitive_info): Declare. |
| * tree-ssanames.c (reset_flow_sensitive_info): New function. |
| |
| 2015-09-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/67470 |
| * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI |
| structure for PHI hoisting by inserting a forwarder block |
| if appropriate. |
| |
| 2015-09-21 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/67573 |
| * config/sh/sh.md (call_pcrel): Add early clobber to scratch |
| operand. |
| (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise. |
| |
| 2015-09-20 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-09-14 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/67061 |
| * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop. |
| Handle call insns. |
| |
| 2015-09-19 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment |
| of TARGET_ELF32. |
| |
| 2015-09-18 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR middle-end/67401 |
| * optabs.c (expand_atomic_compare_and_swap): Move result of emitting |
| sync_compare_and_swap_optab libcall to target_oval. |
| |
| 2015-09-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/66790 |
| * df-problems.c (LIVE): Amend documentation. |
| |
| 2015-09-17 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline: |
| 2015-08-18 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/67222 |
| * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN |
| if the call isn't valid. |
| * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using |
| gimple_call_builtin_p. |
| (call_may_clobber_ref_p_1): Likewise. |
| (stmt_kills_ref_p): Likewise. |
| |
| 2015-09-12 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH |
| CONSTANT_P operands. |
| |
| 2015-09-10 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-09-10 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/67506 |
| * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add |
| missing simplify_gen_subreg. |
| |
| 2015-09-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on |
| Solaris 12+. |
| |
| 2015-09-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/67523 |
| * gimplify.c (gimplify_omp_for): If inner stmt is not found |
| for combined loop, assert seen_error () and return GS_ERROR. |
| |
| PR middle-end/67521 |
| * gimplify.c (gimplify_omp_for): Don't call omp_add_variable |
| if decl is already in outer->variables. |
| |
| PR middle-end/67517 |
| * gimplify.c (gimplify_scan_omp_clauses): Instead of |
| asserting that decl is not specified in octx->variables, |
| break out of the loop if it is. |
| |
| PR c++/67514 |
| * gimplify.c (gimplify_omp_for): For loop SIMD construct, if |
| iterator is not explicitly determined, but is defined inside |
| of the combined workshare region, handle it like if it has |
| DECL_EXPR in OMP_FOR_PRE_BODY. |
| |
| 2015-09-09 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline: |
| 2015-09-09 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/67512 |
| * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison |
| for comparisons. |
| |
| 2015-09-09 Alan Modra <amodra@gmail.com> |
| |
| PR target/67378 |
| * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find |
| reload replacement for PRE_MODIFY address reg. |
| |
| 2015-09-07 Ilya Verbin <ilya.verbin@intel.com> |
| |
| * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all |
| non-alphanumeric characters in the symbol name. |
| |
| 2015-09-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/67452 |
| * tree-ssa-live.c: Include cfgloop.h. |
| (remove_unused_locals): Clear loop->simduid if simduid is about |
| to be removed from cfun->local_decls. |
| |
| 2015-09-03 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/66705 |
| * tree-ssa-structalias.c (ctor_for_analysis): New function. |
| (create_variable_info_for_1): Use ctor_for_analysis instead |
| of get_constructor. |
| (create_variable_info_for): Likewise. |
| |
| 2015-09-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2015-08-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/67317 |
| * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern. |
| (addqi3_cc): Ditto. |
| (UNSPEC_ADD_CARRY): Remove. |
| (addqi3_cconly_overflow): New expander. |
| (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow. |
| Adjust for changed add<mode>3_carry. |
| (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry. |
| (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry. |
| (<plusminus_insn><mode>3_carry): Remove expander. |
| (*<plusminus_insn><mode>3_carry): Split insn pattern to |
| add<mode>3_carry and sub<mode>3_carry. |
| (plusminus_carry_mnemonic): Remove code attribute. |
| (add<mode>3_carry): Canonicalize insn pattern. |
| (*addsi3_carry_zext): Ditto. |
| (sub<mode>3_carry): Ditto. |
| (*subsi3_carry_zext): Ditto. |
| (adcx<mode>3): Remove insn pattern. |
| (addcarry<mode>): New insn pattern. |
| (subborrow<mode>): Ditto. |
| * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use |
| gen_addqi3_cconly_overflow instead of gen_addqi3_cc. |
| (ix86_expand_builtin) <case IX86_BUILTIN_SBB32, |
| case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32, |
| case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi, |
| CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi. |
| Rewrite expander to not clobber carry flag chains. |
| |
| 2015-09-02 Alan Modra <amodra@gmail.com> |
| |
| PR target/67417 |
| * config/rs6000/predicates.md (current_file_function_operand): Don't |
| return true for weak symbols. |
| * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise. |
| |
| 2015-08-31 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2015-08-27 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/67005 |
| * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing |
| an entry into an irreducible region. |
| |
| 2015-08-27 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline: |
| 2015-08-27 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift |
| instead of a rotate. |
| |
| 2015-08-26 Renlin Li <renlin.li@arm.com> |
| |
| Backport from mainline |
| 2015-08-24 Renlin Li <renlin.li@arm.com> |
| |
| * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare. |
| * config/arm/arm.c (arm_valid_symbolic_address_p): Define. |
| * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p. |
| * config/arm/constraints.md ("j"): Add check for high code. |
| |
| 2015-08-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390-builtins.def: Fix value range of vec_load_bndry. |
| |
| 2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from mainline: |
| 2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/67211 |
| * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set |
| -mefficient-unaligned-vsx on ISA 2.7. |
| |
| * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert |
| option to a masked option. |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework |
| logic for -mefficient-unaligned-vsx so that it is set via an arch |
| ISA option, instead of being set if -mtune=power8 is set. Move |
| -mefficient-unaligned-vsx and -mallow-movmisalign handling to be |
| near other default option handling. |
| |
| 2015-08-20 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.c (avr_insert_attributes): In diagnostic essage: |
| Multiply argument avr_n_flash by 64 to match unit of "KiB". |
| (avr_pgm_check_var_decl): Same. |
| |
| 2015-08-18 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline: |
| 2015-08-08 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/67028 |
| * combine.c (simplify_comparison): Fix comment. Rearrange code. |
| Add test to see if a const_int fits in the new mode. |
| |
| 2015-08-17 Jason Merrill <jason@redhat.com> |
| |
| PR c++/65734 |
| * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT. |
| (finalize_type_size): Respect TYPE_USER_ALIGN. |
| (layout_type) [ARRAY_TYPE]: Likewise. |
| |
| 2015-08-17 Yvan Roux <yvan.roux@linaro.org> |
| |
| Backport from mainline: |
| 2015-08-12 Yvan Roux <yvan.roux@linaro.org> |
| |
| PR target/67127 |
| * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking |
| to ARM core registers. |
| |
| 2015-08-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2015-07-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/66648 |
| * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop |
| execution guard when min_size is less than size_needed. |
| |
| 2015-08-11 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/66828 |
| * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc |
| from int64_t to uint64_t. |
| |
| 2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/67002 |
| * config/sh/sh.c (sh_recog_treg_set_expr): Return false when |
| currently_expanding_to_rtl is set. |
| |
| 2015-08-07 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/i386.md (define_attr "isa"): Addd avx512vl and |
| noavx512vl. |
| (define_attr "enabled"): Handle avx521vl and noavx512vl. |
| * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split |
| AVX-512 alternative out of SSE. |
| (define_insn "*vec_concatv2df"): Ditto. |
| |
| 2015-08-05 Matthew Wahab <matthew.wahab@arm.com> |
| |
| Backport from trunk: |
| 2015-06-29 Matthew Wahab <matthew.wahab@arm.com> |
| |
| PR target/65697 |
| * config/arm/arm.c (arm_split_compare_and_swap): For ARMv8, |
| replace an initial acquire barrier with final barrier. |
| |
| 2015-08-05 Matthew Wahab <matthew.wahab@arm.com> |
| |
| Backport from trunk: |
| 2015-06-29 Matthew Wahab <matthew.wahab@arm.com> |
| |
| PR target/65697 |
| * config/arm/arm.c (arm_split_atomic_op): For ARMv8, replace an |
| initial acquire barrier with final barrier. |
| |
| 2015-08-05 Matthew Wahab <matthew.wahab@arm.com> |
| |
| Backport from trunk. |
| 2015-06-01 Matthew Wahab <matthew.wahab@arm.com> |
| |
| PR target/65697 |
| * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check |
| for __sync memory models, emit initial loads and final barriers as |
| appropriate. |
| |
| 2015-08-05 Matthew Wahab <matthew.wahab@arm.com> |
| |
| Backport from trunk. |
| 2015-06-01 Matthew Wahab <matthew.wahab@arm.com> |
| |
| PR target/65697 |
| * config/aarch64/aarch64.c (aarch64_emit_post_barrier): New. |
| (aarch64_split_atomic_op): Check for __sync memory models, emit |
| appropriate initial loads and final barriers. |
| |
| 2015-08-05 Matthew Wahab <matthew.wahab@arm.com> |
| |
| Backport from trunk |
| 2015-05-12 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR target/65697 |
| * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros. |
| (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}. |
| * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed) |
| (is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel) |
| (is_mm_seq_cst, is_mm_sync): New accessor functions. |
| * builtins.c (expand_builtin_sync_operation) |
| (expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST. |
| (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE. |
| (get_memmodel, expand_builtin_atomic_compare_exchange) |
| (expand_builtin_atomic_load, expand_builtin_atomic_store) |
| (expand_builtin_atomic_clear): Use new accessor routines. |
| (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST. |
| * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST. |
| (maybe_emit_sync_lock_test_and_set): Use new accessors and |
| MEMMODEL_SYNC_ACQUIRE. |
| (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE. |
| (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load) |
| (expand_atomic_store): Use new accessors. |
| * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases. |
| * tsan.c (instrument_builtin_call): Update check for memory model beyond |
| final enum to use MEMMODEL_LAST. |
| * c-family/c-common.c: Use new accessor for memmodel_base. |
| * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new |
| accessors. |
| * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>) |
| (arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>) |
| (mem_thread_fence, *dmb): Likewise. |
| * config/alpha/alpha.c (alpha_split_compare_and_swap) |
| (alpha_split_compare_and_swap_12): Likewise. |
| * config/arm/arm.c (arm_expand_compare_and_swap) |
| (arm_split_compare_and_swap, arm_split_atomic_op): Likewise. |
| * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>) |
| (atomic_loaddi): Likewise. |
| * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check): |
| Likewise. |
| * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise. |
| * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and |
| use new accessors. |
| * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>) |
| (atomic_store<mode>, atomic_compare_and_swap<mode>) |
| (atomic_exchange<mode>): Use new accessors. |
| * config/mips/mips.c (mips_process_sync_loop): Likewise. |
| * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise. |
| * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier) |
| (rs6000_post_atomic_barrier): Add new cases. |
| (rs6000_expand_atomic_compare_and_swap): Use new accessors. |
| * config/rs6000/sync.md (mem_thread_fence): Add new cases. |
| (atomic_load<mode>): Add new cases and use new accessors. |
| (store_quadpti): Add new cases. |
| * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new |
| accessors. |
| * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors. |
| * doc/extend.texi: Update docs to indicate 16 bits are used for memory |
| model, not 8. |
| |
| 2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| Backport from mainline: |
| 2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| PR target/66731 |
| * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL. |
| (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math. |
| |
| 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| PR target/66731 |
| * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math. |
| |
| 2015-08-03 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline: |
| 2015-08-03 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/htm.md (tabort.): Restrict the source operand to |
| using a base register. |
| |
| 2015-08-03 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/67060 |
| * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber. |
| Adjust splits to match new pattern. |
| |
| 2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| Backport form mainline r226496. |
| 2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| PR target/66731 |
| * config/arm/vfp.md (negmuldf3_vfp): Add new pattern. |
| (negmulsf3_vfp): Likewise. |
| (muldf3negdf_vfp): Disable for -frounding-math. |
| (mulsf3negsf_vfp): Likewise. |
| * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL, |
| fix MULT cost with -frounding-math. |
| |
| 2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport form mainline |
| 2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/67049 |
| * config/sh/sh.md (GOTaddr2picreg): Fix typo. |
| |
| 2015-07-31 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR debug/66691 |
| * lra-int.h (lra_substitute_pseudo): Add a parameter. |
| (lra_substitute_pseudo_within_insn): Ditto. |
| * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg |
| of constant. |
| (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it |
| to lra_substitute_pseudo. |
| * lra-lives.c (process_bb_lives): Add an argument to |
| lra_substitute_pseudo_within_insn call. |
| * lra-constraints.c (inherit_reload_reg, split_reg): Add an |
| argument to lra_substitute_pseudo and |
| lra_substitute_pseudo_within_insn calls. |
| (remove_inheritance_pseudos, undo_optional_reloads): Ditto. |
| |
| 2015-07-27 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2015-07-27 Marek Polacek <polacek@redhat.com> |
| |
| * ipa-devirt.c (types_same_for_odr): Fix typo. |
| |
| 2015-07-25 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-07-25 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/66930 |
| * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing |
| T bit register modified_between_p check. |
| |
| 2015-07-25 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2015-07-24 Tom de Vries <tom@codesourcery.com> |
| |
| * graphite-sese-to-poly.c (is_reduction_operation_p): Limit |
| flag_associative_math to FLOAT_TYPE_P. Honour |
| TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types. |
| |
| 2015-07-25 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/65249 |
| * config/sh/sh.md (movdi): Split simple reg move to two movsi |
| when the destination is R0. |
| |
| 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| Backport from mainline r226159. |
| 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static, |
| -shared, -symbolic, -rdynamic. |
| |
| 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| Backport from mainline r226158. |
| 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| PR target/65711 |
| * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move |
| -dynamic-linker within %{!static %{!shared, and -rdynamic within |
| %{!static. |
| |
| 2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| Backport from mainline r226155. |
| 2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR ipa/66566 |
| * ipa-inline-analysis.c (estimate_calls_size_and_time): Check |
| edge summary is available. |
| |
| 2015-07-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2015-07-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/66891 |
| * calls.c (expand_call): Wrap precompute_register_parameters with |
| NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops. |
| |
| 2015-07-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/58066 |
| * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG. |
| (*tls_local_dynamic_base_64_<mode>): Ditto. |
| (*tls_local_dynamic_base_64_largepic): Ditto. |
| (tls_global_dynamic_64_<mode>): Update expander pattern. |
| (tls_local_dynamic_base_64_<mode>): Ditto. |
| |
| 2015-07-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/58066 |
| * calls.c (expand_call): Precompute register parameters before stack |
| alignment is performed. |
| |
| 2015-07-23 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline r225867. |
| 2015-07-16 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust |
| all uses. Fix two typos in its general comment. |
| (func_body_info): Rename to ipa_func_body_info. Adjust all uses. |
| |
| 2015-07-23 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline r225838. |
| 2015-07-15 Paolo Bonzini <bonzini@gnu.org> |
| Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/66760 |
| * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept |
| struct func_body_info* instead of struct ipa_node_params*, expecting |
| fbi->info to be filled in. Replace throughout. Adjust call to |
| ipa_load_from_parm_agg. |
| (set_cond_stmt_execution_predicate): Accept struct func_body_info* |
| instead of struct ipa_node_params*. Adjust calls to other functions |
| so that they pass either fbi or fbi->info. |
| (set_switch_stmt_execution_predicate): Likewise. |
| (will_be_nonconstant_predicate): Likewise. |
| (compute_bb_predicates): Likewise. |
| (estimate_function_body_sizes): Move asserts earlier. Fill in |
| struct func_body_info, replace parms_info with fbi.info. Adjust |
| calls to functions that now accept struct func_body_info. |
| * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h. |
| (struct func_body_info): Likewise. |
| (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg, |
| remove static. Adjust callers. |
| (ipa_load_from_parm_agg): Remove. |
| * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c. |
| (func_body_info): Likewise. |
| (ipa_load_from_parm_agg): Adjust prototype. |
| |
| 2015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| Backport from mainline r224643. |
| 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR middle-end/pr66581 |
| * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't |
| reuse bounds created for abnormal ssa names. |
| |
| 2015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| Backport from mainline r224602. |
| 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/66569 |
| * function.c (assign_bounds): Add arguments assign_regs, |
| assign_special, assign_bt. |
| (assign_parms): For vararg functions handle bounds in BT |
| and special slots after incoming vararg bounds. |
| |
| 2015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| Backport from mainline r224601. |
| 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR middle-end/66568 |
| * cfgexpand.c (expand_return): Handle missing bounds. |
| (expand_gimple_stmt_1): Likewise. |
| * tree-chkp.c (chkp_expand_zero_bounds): New. |
| * tree-chkp.h (chkp_expand_zero_bounds): New. |
| |
| 2015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| Backport from mainline r224600. |
| 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR middle-end/66567 |
| * ipa-chkp.c (chkp_maybe_create_clone): Require |
| functions to be instrumentable. |
| * tree-chkp.c (chkp_replace_function_pointer): Use |
| chkp_instrumentable_p instead of attribute check. |
| |
| 2015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| Backport from mainline r223215. |
| 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR middle-end/66134 |
| * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New. |
| (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy. |
| |
| 2015-07-23 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r223114. |
| 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/66048 |
| * function.c (diddle_return_value_1): Process bounds first. |
| * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1 |
| register. |
| |
| 2015-07-23 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r223216. |
| 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa-chkp.h (chkp_wrap_function): New. |
| * ipa-chkp.c (chkp_wrap_function): Remove 'static'. |
| (chkp_wrap_function_name): New. |
| (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name |
| to get wrapper name. |
| * lto-cgraph.c: Include ipa-chkp.h. |
| (input_cgraph_1): Avoid alias chain for wrappers. |
| |
| 2015-07-23 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r224074. |
| 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa-chkp.c (chkp_maybe_create_clone): Create alias |
| reference when cloning alias node. |
| |
| 2015-07-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2015-07-21 trunk r226046. |
| |
| PR target/66956 |
| * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn) |
| (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL. |
| |
| 2015-07-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66948 |
| * genmatch.c (capture_info::walk_match): Also recurse to |
| captures. Properly compute expr state from captures of |
| captures. |
| |
| 2015-07-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/66922 |
| * config/i386/i386.c (ix86_expand_pinsr): Reject insertions |
| to misaligned positions. |
| |
| 2015-07-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/66866 |
| * config/i386/i386.c (ix86_expand_pinsr): Reject non-lowpart |
| source subregs. |
| |
| 2015-07-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2015-07-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (movdi_to_sse): Use gen_lowpart |
| and gen_higpart instead of gen_rtx_SUBREG. |
| * config/i386/i386.md |
| (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto. |
| (read-modify peephole2): Use gen_lowpart instead of |
| gen_rtx_SUBREG for operand 5. |
| |
| 2015-07-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2015-07-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/66814 |
| * config/i386/predicates.md (nonimmediate_gr_operand): New predicate. |
| * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand. |
| (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of |
| {GENERAL,SSE,MMX}_REG_P where appropriate. |
| |
| 2015-07-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2015-07-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/66838 |
| * postreload.c (reload_cse_move2add): Also process |
| CALL_INSN_FUNCTION_USAGE when resetting information of |
| call-clobbered registers. |
| |
| 2015-07-16 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/66896 |
| * ipa-prop.c (update_jump_functions_after_inlining): Create properly |
| dst_ctx if it does not exist. |
| |
| 2015-07-16 Richard Biener <rguenther@suse.de> |
| |
| * BASE-VER: Set to 5.2.1. |
| |
| 2015-07-16 Release Manager |
| |
| * GCC 5.2.0 released. |
| |
| 2015-07-15 Renlin Li <renlin.li@arm.com> |
| |
| Backport from mainline. |
| 2015-07-13 Renlin Li <renlin.li@arm.com> |
| |
| PR rtl/66556 |
| * simplify-rtx.c (simplify_const_relational_operation): Add |
| side_effects_p checks. |
| |
| 2015-07-15 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport trunk r225560: |
| |
| 2015-07-08 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR libgomp/65099 |
| * config/nvptx/mkoffload.c (main): Create an offload image only in |
| 64-bit configurations. |
| |
| Backport trunk r222583: |
| |
| 2015-04-29 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR libgomp/65099 |
| * config/nvptx/mkoffload.c (target_ilp32): New variable. |
| (main): Set it depending on "-foffload-abi=[...]". |
| (compile_native, main): Use it to pass "-m32" or "-m64" to the |
| compiler. |
| |
| Backport trunk r223805: |
| |
| 2015-05-28 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * builtins.c (expand_builtin_acc_on_device): Mark parameters |
| with ATTRIBUTE_UNUSED. |
| |
| Backport trunk r223801: |
| |
| 2015-05-28 Julian Brown <julian@codesourcery.com> |
| |
| PR libgomp/65742 |
| |
| * builtins.c (expand_builtin_acc_on_device): Don't use open-coded |
| sequence for !ACCEL_COMPILER. |
| |
| 2015-07-14 Matthias Klose <doko@ubuntu.com> |
| |
| PR target/66840 |
| * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def. |
| |
| 2015-07-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/66820 |
| * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL |
| or ORT_TASK contexts. |
| * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level |
| is non-zero. |
| |
| Backported from mainline |
| 2015-07-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/66633 |
| * tree-nested.c (get_static_chain): Or in a flag into |
| info->static_chain_added. |
| (get_frame_field, get_nonlocal_debug_decl): Likewise. |
| (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert |
| 2015-07-01 changes. |
| (convert_tramp_reference_stmt): If a frame_decl or chain_decl |
| is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body, |
| add it to clauses. |
| |
| 2015-07-10 Vladimir Makarov <vmakarov@redhat.com> |
| |
| Backport from mainline |
| 2015-07-09 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/66782 |
| * lra-int.h (struct lra_insn_recog_data): Add comment about |
| clobbered hard regs for arg_hard_regs. |
| * lra.c (lra_set_insn_recog_data): Add clobbered hard regs. |
| * lra-lives.c (process_bb_lives): Process clobbered hard regs. |
| Add condition for processing used hard regs. |
| * lra-constraints.c (update_ebb_live_info, inherit_in_ebb): |
| Process clobbered hard regs. |
| |
| 2015-07-10 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-07-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66823 |
| * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix |
| inverted predicate. |
| |
| 2015-07-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/43341 |
| * toplev.c (compile_file): Reset maximum_field_alignment after parsing. |
| |
| 2015-07-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66794 |
| * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths): |
| Free post-dominators. |
| |
| 2015-07-10 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport form mainline |
| 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/66780 |
| * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03 |
| change for target/65249. |
| |
| 2015-07-09 Iain Sandoe <iain@codesourcery.com> |
| |
| PR target/66523 |
| * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label |
| names from preservation. |
| |
| 2015-07-06 Alan Lawrence <alan.lawrence@arm.com> |
| |
| Backport from mainline r225465 |
| 2015-07-06 Alan Lawrence <alan.lawrence@arm.com> |
| |
| PR target/65956 |
| * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer |
| alignment attribute, exploring one level down for records and arrays. |
| |
| 2015-07-06 Alan Lawrence <alan.lawrence@arm.com> |
| |
| Backport from mainline r225461 |
| 2015-07-06 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state. |
| |
| 2015-07-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline r224725 |
| 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/65914 |
| * config/rs6000/predicates.md (altivec_register_operand): Permit |
| virtual stack registers. |
| (vsx_register_operand): Likewise. |
| (vfloat_operand): Likewise. |
| (vint_operand): Likewise. |
| (vlogical_operand): Likewise. |
| |
| 2015-07-04 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/66114 |
| * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead |
| of register_operand. Remove constraint. |
| |
| 2015-07-03 Jack Howarth <howarth.at.gcc@gmail.com> |
| |
| PR target/66509 |
| * configure.ac: Fix filds and fildq test for 64-bit. |
| * configure: Regenerated. |
| |
| 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport from mainline. |
| 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR tree-optimization/66119 |
| * toplev.c (process_options): Don't set up default values for |
| the sra_max_scalarization_size_{speed,size} parameters. |
| * tree-sra (analyze_all_variable_accesses): If no values |
| have been set for the sra_max_scalarization_size_{speed,size} |
| parameters, call get_move_ratio to get target defaults. |
| |
| 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| PR target/37072 |
| * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387 |
| is not actually the default on FreeBSD. |
| |
| 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-builtins.def: Fix vpopct instruction comments. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-builtin-types.def: Add flag to indicate the |
| options under which the function type is needed. |
| * config/s390/s390-builtins.def: Add flag to indicate the options |
| under which the builtin is enabled. |
| * config/s390/s390-builtins.h: Add flags parameter to macro |
| definitions. |
| (bflags_for_builtin): New function. |
| (flags_for_builtin): Renamed to ... |
| (opflags_for_builtin): ... this. |
| * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename |
| flags_for_builtin to bflags_for_builtin and |
| flags_overloaded_builtin_var to opflags_overloaded_builtin_var. |
| * config/s390/s390.c: Add initialization of bflags_builtin and |
| opflags_builtin arrays. |
| Remove code for flags_builtin. |
| (s390_init_builtins): Only create builtin function types if one of |
| their flags is active. |
| Only create builtins if all of their flags are active. |
| (s390_expand_builtin): Rename flags_for_builtin to |
| opflags_for_builtin. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vecintrin.h: Remove internal builtins. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_secondary_reload): Fix check for |
| GENERAL_REGS register class. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_support_vector_misalignment): Call |
| default implementation for !TARGET_VX. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_legitimate_constant_p): Add |
| TARGET_VX check. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_vector_abi): New variable definition. |
| (s390_check_type_for_vector_abi): New function. |
| (TARGET_ASM_FILE_END): New macro definition. |
| (s390_asm_file_end): New function. |
| (s390_function_arg): Call s390_check_type_for_vector_abi. |
| (s390_gimplify_va_arg): Likewise. |
| * configure: Regenerate. |
| * configure.ac: Check for .gnu_attribute Binutils feature. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_vector_bool_type_p): New function. |
| (s390_invalid_binary_op): New function. |
| (TARGET_INVALID_BINARY_OP): Define macro. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to |
| c_target_objs and cxx_target_objs. Add t-s390 to tmake_file. |
| * config/s390/s390-builtin-types.def: New file. |
| * config/s390/s390-builtins.def: New file. |
| * config/s390/s390-builtins.h: New file. |
| * config/s390/s390-c.c: New file. |
| * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH, |
| CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY. |
| * config/s390/s390-protos.h (s390_expand_vec_compare_cc) |
| (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add |
| prototypes. |
| * config/s390/s390.c (s390-builtins.h, s390-builtins.def): |
| Include. |
| (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types) |
| (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New |
| variable definitions. |
| (s390_const_operand_ok): New function. |
| (s390_expand_builtin): Rewrite. |
| (s390_init_builtins): New function. |
| (s390_handle_vectorbool_attribute): New function. |
| (s390_attribute_table): Add s390_vector_bool attribute. |
| (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU. |
| (s390_branch_condition_mask): Generate masks for new modes. |
| (s390_expand_vec_compare_cc): New function. |
| (s390_mangle_type): Add mangling for vector bool types. |
| (enum s390_builtin): Remove. |
| (s390_atomic_assign_expand_fenv): Rename constants for sfpc and |
| efpc builtins. |
| * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call |
| s390_cpu_cpp_builtins. |
| (REGISTER_TARGET_PRAGMAS): New macro. |
| * config/s390/s390.md: Define more UNSPEC_VEC_* constants. |
| (insn_cmp mode attribute): Add new CC modes. |
| (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc. |
| (lcbb): New pattern definition. |
| * config/s390/s390intrin.h: Include vecintrin.h. |
| * config/s390/t-s390: New file. |
| * config/s390/vecintrin.h: New file. |
| * config/s390/vector.md: Include vx-builtins.md. |
| * config/s390/vx-builtins.md: New file.S/390 zvector builtin |
| support. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and |
| CCVFHE. |
| * config/s390/s390.c (s390_match_ccmode_set): Handle new modes. |
| (s390_select_ccmode): Likewise. |
| (s390_canonicalize_comparison): Swap operands if necessary. |
| (s390_expand_vec_compare_scalar): Expand DFmode compare using |
| single element vector instructions. |
| (s390_emit_compare): Call s390_expand_vec_compare_scalar. |
| (s390_branch_condition_mask): Generate CC masks for the new modes. |
| * config/s390/s390.md (v0, vf, vd): New mode attributes. |
| (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes. |
| (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13) |
| (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13) |
| (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13) |
| (*extend<DSF:mode><BFP:mode>2): New insn definition. |
| (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2) |
| (extend<DSF:mode><BFP:mode>2): Turn into expander. |
| (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3) |
| (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2) |
| (sqrt<mode>2): Add vector instruction. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New |
| constraints. |
| * config/s390/predicates.md (const0_operand, constm1_operand) |
| (constable_operand): Accept vector operands. |
| * config/s390/s390-modes.def: Add supported vector modes. |
| * config/s390/s390-protos.h (s390_cannot_change_mode_class) |
| (s390_function_arg_vector, s390_contiguous_bitmask_vector_p) |
| (s390_bytemask_vector_p, s390_expand_vec_strlen) |
| (s390_expand_vec_compare, s390_expand_vcond) |
| (s390_expand_vec_init): Add prototypes. |
| * config/s390/s390.c (VEC_ARG_NUM_REG): New macro. |
| (s390_vector_mode_supported_p): New function. |
| (s390_contiguous_bitmask_p): Mask out the irrelevant bits. |
| (s390_contiguous_bitmask_vector_p): New function. |
| (s390_bytemask_vector_p): New function. |
| (s390_split_ok_p): Vector regs don't work either. |
| (regclass_map): Add VEC_REGS. |
| (s390_legitimate_constant_p): Handle vector constants. |
| (s390_cannot_force_const_mem): Handle CONST_VECTOR. |
| (legitimate_reload_vector_constant_p): New function. |
| (s390_preferred_reload_class): Handle CONST_VECTOR. |
| (s390_reload_symref_address): Likewise. |
| (s390_secondary_reload): Vector memory instructions only support |
| short displacements. Rename reload*_nonoffmem* to reload*_la*. |
| (s390_emit_ccraw_jump): New function. |
| (s390_expand_vec_strlen): New function. |
| (s390_expand_vec_compare): New function. |
| (s390_expand_vcond): New function. |
| (s390_expand_vec_init): New function. |
| (s390_dwarf_frame_reg_mode): New function. |
| (print_operand): Handle addresses with 'O' and 'R' constraints. |
| (NR_C_MODES, constant_modes): Add vector modes. |
| (s390_output_pool_entry): Handle vector constants. |
| (s390_hard_regno_mode_ok): Handle vector registers. |
| (s390_class_max_nregs): Likewise. |
| (s390_cannot_change_mode_class): New function. |
| (s390_invalid_arg_for_unprototyped_fn): New function. |
| (s390_function_arg_vector): New function. |
| (s390_function_arg_float): Remove size variable. |
| (s390_pass_by_reference): Handle vector arguments. |
| (s390_function_arg_advance): Likewise. |
| (s390_function_arg): Likewise. |
| (s390_return_in_memory): Vector values are returned in a VR if |
| possible. |
| (s390_function_and_libcall_value): Handle vector arguments. |
| (s390_gimplify_va_arg): Likewise. |
| (s390_call_saved_register_used): Consider the arguments named. |
| (s390_conditional_register_usage): Disable v16-v31 for non-vec |
| targets. |
| (s390_preferred_simd_mode): New function. |
| (s390_support_vector_misalignment): New function. |
| (s390_vector_alignment): New function. |
| (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE) |
| (TARGET_VECTOR_MODE_SUPPORTED_P) |
| (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN) |
| (TARGET_VECTORIZE_PREFERRED_SIMD_MODE) |
| (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT) |
| (TARGET_VECTOR_ALIGNMENT): Define target macro. |
| * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro. |
| (FIRST_PSEUDO_REGISTER): Increase value. |
| (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P) |
| (VECTOR_REG_P): Define macros. |
| (FIXED_REGISTERS, CALL_USED_REGISTERS) |
| (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER) |
| (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES) |
| (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES): |
| Add vector registers. |
| (CANNOT_CHANGE_MODE_CLASS): Call C function. |
| (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS. |
| (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without |
| memory. |
| (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO) |
| (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro. |
| * config/s390/s390.md (UNSPEC_VEC_*): New constants. |
| (VR*_REGNUM): New constants. |
| (ALL): New mode iterator. |
| (INTALL): Remove mode iterator. |
| Include vector.md. |
| (movti): Implement TImode moves for VRs. |
| Disable TImode splitter for VR targets. |
| Implement splitting TImode GPR<->VR moves. |
| (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL. |
| (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to |
| reload<mode>_la_in, reload<mode>_la_out. |
| (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp) |
| (*mov<mode>_64, *mov<mode>_31): Add vector instructions. |
| (TD/TF mode splitter): Enable for GPRs only (formerly !FP). |
| (mov<mode> SF SD): Prefer lder, lde for loading. |
| Add lrl and strl instructions. |
| Add vector instructions. |
| (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>. |
| Call s390_expand_vec_strlen on z13. |
| (*cc_to_int): Change predicate to nonimmediate_operand. |
| (addti3): Rename to *addti3. New expander. |
| (subti3): Rename to *subti3. New expander. |
| * config/s390/vector.md: New file. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * common/config/s390/s390-common.c (processor_flags_table): Add |
| z13. |
| * config.gcc: Add z13. |
| * config/s390/s390-opts.h (enum processor_type): Add |
| PROCESSOR_2964_Z13. |
| * config/s390/s390.c (s390_adjust_priority): Check for |
| PROCESSOR_2964_Z13. |
| (s390_reorg): Likewise. |
| (s390_sched_reorder): Likewise. |
| (s390_sched_variable_issue): Likewise. |
| (s390_loop_unroll_adjust): Likewise. |
| (s390_option_override): Likewise. Default to -mvx when available. |
| * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX. |
| (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX) |
| (TARGET_VX_ABI): Define macros. |
| macros. |
| (TARGET_DEFAULT): Add MASK_OPT_VX. |
| * config/s390/s390.md ("cpu" attribute): Add z13. |
| ("cpu_facility" attribute): Add vec. |
| * config/s390/s390.opt (processor_type): Add z13. |
| (mvx): New options. |
| * doc/invoke.texi: Add z13 option for -march. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * optabs.c (expand_vec_perm): Don't re-use SEL as target operand. |
| |
| 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of |
| alternative_mask to uint64_t. |
| |
| 2015-07-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2015-06-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * genattrtab.c (insn_alternatives): Change type from int * |
| to uint64_t *. |
| (check_attr_test): Shift ((uint64_t) 1) instead of 1 up. |
| (get_attr_value): Change type of num_alt to uint64_t. |
| (compute_alternative_mask): Change return type from |
| int to uint64_t, shift ((uint64_t) 1) instead of 1 up. |
| (make_alternative_compare, mk_attr_alt): Change argument type |
| from int to uint64_t. |
| (simplify_test_exp): Change type of i from int to uint64_t. |
| Shift ((uint64_t) 1) instead of 1 up. |
| (main): Adjust oballocvec first argument from int to uint64_t. |
| Shift ((uint64_t) 1) instead of 1 up. |
| |
| 2015-07-01 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org> |
| PR target/64833 |
| * config/sh/sh.md (casesi_worker_1): Set length to 8 when |
| flag_pic is set. |
| |
| 2015-07-01 David Malcolm <dmalcolm@redhat.com> |
| |
| Backport from mainline r225207 |
| 2015-06-30 David Malcolm <dmalcolm@redhat.com> |
| |
| * typed-splay-tree.h: New file. |
| |
| 2015-07-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/66633 |
| * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain |
| to true if the function is nested and if not optimizing. |
| (convert_local_omp_clauses): Initialize need_frame to true if the |
| function contains nested functions and if not optimizing. |
| |
| 2015-06-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/66702 |
| * omp-low.c (simd_clone_adjust): Handle addressable linear |
| or uniform parameters or non-gimple type uniform parameters. |
| |
| 2015-06-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/leon.md (leon_load): Enable for all LEON variants if |
| -mfix-ut699 is not specified. |
| (leon3_load): Rename into... |
| (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699 |
| is specified. |
| |
| 2015-06-30 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| Backport from mainline: |
| 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| PR target/66136 |
| * config/aarch64/geniterators.sh: Rewrite in awk. |
| |
| 2015-06-27 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport from mainline r224672. |
| 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/vax/vax.md: Adjust sign/zero extend patterns to |
| handle SUBREGs in operands[1]. |
| |
| 2015-06-27 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/65979 |
| PR target/66611 |
| * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if |
| the replacement insn will work. |
| |
| 2015-06-26 Martin Jambor <mjambor@suse.cz> |
| |
| PR debug/66301 |
| * tree-ssa-pre.c (before_dom_children): Check that dump_file is not |
| NULL instead of calling dump_enabled_p. |
| |
| 2015-06-26 Uros Bizjak <ubizjak@gmail.com> |
| Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/66412 |
| * config/i386/i386.md (various splitters): Use shallow_copy_rtx |
| before doing PUT_MODE or PUT_CODE on operands to avoid |
| in-place RTX modification. |
| |
| 2015-06-25 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build |
| pie executables. |
| (FBSD_ENDFILE_SPEC): Likewise. |
| * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from |
| config/freebsd-spec.h. |
| (ENDFILE_SPEC): Likewise. |
| |
| 2015-06-25 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline |
| 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/66563 |
| * config/sh/sh.md (GOTaddr2picreg): Add a new operand for |
| an additional element of the unspec vector. Modify indices |
| of operands. |
| (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg. |
| * config/sh/sh.c (prepare_move_operands): Pass incremented |
| const_int to gen_GOTaddr2picreg. |
| (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg. |
| |
| 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| Backport from mainline. |
| 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| PR target/63408 |
| * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable |
| for negative numbers. |
| |
| 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/66200 |
| * config/aarch64/aarch64.c (TARGET_RELAXED_ORDERING): Define. |
| |
| 2015-06-24 Renlin Li <renlin.li@arm.com> |
| |
| Backport from mainline |
| 2015-06-24 Renlin Li <renlin.li@arm.com> |
| |
| * varasm.c (emit_local): Use unsigned int for align variable. |
| |
| 2015-06-23 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-06-09 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/66413 |
| * tree-inline.c (insert_init_debug_bind): Unshare value. |
| |
| 2015-06-23 Ludovic Courtès <ludo@gnu.org> |
| |
| PR 65711 |
| * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move |
| '-dynamic-linker' within %{!shared: ...}. |
| |
| 2015-06-22 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR bootstrap/63740 |
| * lra-lives.c (process_bb_lives): Check insn copying the same |
| reload pseudo and don't create a copy for it. |
| |
| 2015-06-22 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-06-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66422 |
| * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split |
| block after inserted gcc_unreachable. |
| |
| 2015-06-21 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2015-06-20 Marek Polacek <polacek@redhat.com> |
| |
| * common.opt (fsanitize-undefined-trap-on-error): Add Driver. |
| |
| 2015-06-18 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-06-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66375 |
| * tree-scalar-evolution.c (follow_ssa_edge_binary): First |
| add to the evolution before following SSA edges. |
| |
| 2015-06-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| Backport from mainline r224414. |
| 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| * common/config/i386/i386-common.c |
| (OPTION_MASK_ISA_MWAITX_SET): New. |
| (ix86_handle_option): Handle mwaitx. |
| * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h, |
| (x86_64-*-*): Likewise. |
| * config/i386/mwaitxintrin.h: New header. |
| * config/i386/cpuid.h (bit_MWAITX): Define. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Detect |
| MWAITX support. |
| * config/i386/i386.opt (mwaitx): New. |
| * config/i386/i386-builtin-types.def |
| (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type. |
| * config/i386/i386-c.c: Define __MWAITX__ if needed. |
| * config/i386/i386.c (ix86_target_string): Define -mmwaitx option. |
| (PTA_MWAITX): New. |
| (ix86_option_override_internal): Handle new option. |
| (processor_alias_table): Added PTA_MWAITX. |
| (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx. |
| (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX. |
| (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and |
| IX86_BUILTIN_MONITORX built-ins. |
| * config/i386/i386.h (TARGET_MWAITX): New. |
| * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and |
| UNSPEC_MONITORX. |
| (mwaitx): New pattern. |
| (monitorx_<mode>): New pattern. |
| * config/i386/x86intrin.h: Include mwaitxintrin.h. |
| * doc/extend.texi: Document monitorx and mwaitx builtins. |
| * doc/invoke.texi: Document -mmwaitx option. |
| |
| 2015-06-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/66429 |
| * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun |
| instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops |
| and has_force_vectorize_loops flags from cfun into |
| child_cfun. |
| (expand_omp_simd): For broken loop, set cfun->has_simduid_loops |
| if simduid is non-NULL. |
| * tree-pass.h (make_pass_simduid_cleanup): New prototype. |
| * passes.def (pass_simduid_cleanup): Add new pass after loop |
| passes. |
| * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary |
| indirection from htab argument's type. |
| (shrink_simd_arrays): New function. |
| (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller. |
| Don't call adjust_simduid_builtins if there are no loops. |
| (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables. |
| (pass_simduid_cleanup::execute): New method. |
| (make_pass_simduid_cleanup): New function. |
| |
| 2015-06-17 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r223929. |
| 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/65527 |
| * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add |
| redirection for instrumented calls. |
| * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds. |
| (append_compiler_options): Append -fcheck-pointer-bounds. |
| * tree-chkp.h (chkp_copy_call_skip_bounds): New. |
| (chkp_redirect_edge): New. |
| * tree-chkp.c (chkp_copy_call_skip_bounds): New. |
| (chkp_redirect_edge): New. |
| |
| 2015-06-17 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r224063. |
| 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa.c (symbol_table::remove_unreachable_nodes): Don't |
| remove instumentation thunks calling reachable functions. |
| * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP. |
| * lto/lto-partition.c (privatize_symbol_name_1): New. |
| (privatize_symbol_name): Privatize both decl and orig_decl |
| names for instrumented functions. |
| * cgraph.c (cgraph_node::verify_node): Add transparent |
| transparent alias chain check for instrumented node. |
| |
| 2015-06-16 Jim Wilson <jim.wilson@linaro.org> |
| |
| Backport from mainline |
| 2015-06-02 Jim Wilson <jim.wilson@linaro.org> |
| |
| PR target/66258 |
| * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change |
| !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT. |
| (aarch64_secondary_reload): Likewise |
| (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY |
| to !TARGET_FLOAT. |
| (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs): |
| Likewise. |
| |
| 2015-06-16 Richard Biener <rguenther@suse.de> |
| |
| Revert |
| 2015-06-01 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-05-26 Michael Matz <matz@suse.de> |
| |
| PR middle-end/66251 |
| * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set |
| STMT_VINFO_VEC_STMT, also with SLP. |
| |
| 2015-05-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66251 |
| * tree-vect-stmts.c (vectorizable_conversion): Properly |
| set STMT_VINFO_VEC_STMT even for the SLP case. |
| |
| 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| Backport from mainline: |
| 2015-06-11 David Edelsohn <dje.gcc@gmail.com> |
| |
| * dbxout.c (xcoff_debug_hooks): Provide a function for |
| register_main_translation_unit hook. |
| |
| 2015-06-11 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus |
| CONST_INT for goto. |
| |
| 2015-06-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR bootstrap/66252 |
| * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment. |
| * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order. |
| (*addx_extend_sp32): Fix pasto. |
| (*subx_extend): Rename into... |
| (*subx_extend_sp32): ...this. |
| (*adddi3_extend_sp32): Add earlyclobber. |
| (*subdi3_insn_sp32): Likewise. |
| (*subdi3_extend_sp32): Likewise. |
| (*and_not_di_sp32): Likewise. |
| (*or_not_di_sp32): Likewise. |
| (*xor_not_di_sp32): Likewise. |
| (*negdi2_sp32): Likewise. |
| (*one_cmpldi2_sp32): Likewise. |
| |
| 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * debug.h (struct gcc_debug_hooks): Add a |
| register_main_translation_unit hook. |
| * debug.c (do_nothing_debug_hooks): Provide a function for this |
| new hook. |
| * dbxout.c (dbx_debug_hooks): Likewise. |
| * sdbout.c (sdb_debug_hooks): Likewise. |
| * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. |
| * dwarf2out.c (main_translation_unit): New global variable. |
| (dwarf2out_register_main_translation_unit): New function |
| implementing the new hook. |
| (dwarf2_debug_hooks): Assign |
| dwarf2out_register_main_translation_unit to this new hook. |
| (dwarf2out_init): Associate any main translation unit to |
| comp_unit_die (). |
| |
| 2015-06-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/66473 |
| * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode |
| to prepare mask operand for AVX512 modes. |
| |
| 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline: |
| 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/66474 |
| * doc/md.texi (Machine Constraints): Document that on the PowerPC |
| if you use a constraint that targets a VSX register, you must use |
| %x<n> in the template. |
| |
| 2015-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/66470 |
| * config/i386/i386.c (ix86_split_long_move): For collisions |
| involving direct tls segment refs, move the UNSPEC_TP possibly |
| wrapped in ZERO_EXTEND out of the address for lea, to each of |
| the memory loads. |
| |
| 2015-06-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2015-06-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/66275 |
| * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi |
| to determine current function ABI. |
| (ix86_function_value_regno_p): Ditto. |
| |
| 2015-06-08 Tom de Vries <tom@codesourcery.com> |
| |
| backport from mainline: |
| 2015-06-08 Tom de Vries <tom@codesourcery.com> |
| |
| PR rtl-optimization/66444 |
| * postreload.c (reload_combine): Use get_call_reg_set_usage instead of |
| call_used_regs. |
| |
| 2015-06-08 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| * config/i386/sse.md (sse3_mwait): Swap the operand constriants. |
| |
| 2015-06-06 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR bootstrap/66319 |
| * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin |
| defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++. |
| Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or |
| later. |
| * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise. |
| Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901, |
| _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520, |
| _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++ |
| and non iso if unix2003. |
| |
| 2015-06-03 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-06-02 Richard Biener <rguenther@suse.de> |
| |
| PR debug/65549 |
| * dwarf2out.c (lookup_context_die): New function. |
| (resolve_addr): Avoid forcing a full DIE for the |
| target of a DW_TAG_GNU_call_site during late compilation. |
| Instead create a stub DIE without a type if we have a |
| context DIE present. |
| |
| 2015-06-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66280 |
| * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern |
| def-use walking. |
| |
| 2015-05-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66272 |
| Revert parts of |
| 2014-08-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/62031 |
| * tree-data-ref.c (dr_analyze_indices): Do not set |
| DR_UNCONSTRAINED_BASE. |
| (dr_may_alias_p): All indirect accesses have to go the |
| formerly DR_UNCONSTRAINED_BASE path. |
| * tree-data-ref.h (struct indices): Remove |
| unconstrained_base member. |
| (DR_UNCONSTRAINED_BASE): Remove. |
| |
| 2015-05-21 Richard Biener <rguenther@suse.de> |
| |
| PR c++/66211 |
| * match.pd: Guard pattern optimzing (int)(float)int |
| conversions to apply only on GIMPLE. |
| |
| 2015-05-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66123 |
| * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found |
| a taken edge. |
| |
| 2015-06-02 Renlin Li <renlin.li@arm.com> |
| |
| Backport from mainline |
| 2015-04-30 Renlin Li <renlin.li@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec. |
| * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR. |
| |
| 2015-06-02 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2015-06-02 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/66345 |
| * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if |
| get_maxval_strlen does not produce an INTEGER_CST. |
| |
| 2015-06-02 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental |
| 2014-08-11 change. |
| |
| 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| PR target/66215 |
| * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs |
| with -mhotpatch=. |
| |
| 2015-06-01 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-05-26 Michael Matz <matz@suse.de> |
| |
| PR middle-end/66251 |
| * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set |
| STMT_VINFO_VEC_STMT, also with SLP. |
| |
| 2015-05-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66251 |
| * tree-vect-stmts.c (vectorizable_conversion): Properly |
| set STMT_VINFO_VEC_STMT even for the SLP case. |
| |
| 2015-05-28 Mike Frysinger <vapier@gentoo.org> |
| |
| * config/nios2/linux.h (CPP_SPEC): Define. |
| |
| 2015-05-28 Mike Frysinger <vapier@gentoo.org> |
| |
| * config/microblaze/linux.h (CPP_SPEC): Define. |
| |
| 2015-05-28 Mike Frysinger <vapier@gentoo.org> |
| |
| * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when |
| -pthread is specified. |
| |
| 2015-05-27 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/66148 |
| * config/pa/pa.c (pa_emit_move_sequence): Correct placement of |
| REG_EQUAL note when doing insert. |
| |
| 2015-05-27 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2015-05-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66101 |
| * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for |
| fixup if we turn a loop exit edge to a fallthru edge. |
| |
| 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/65979 |
| * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and |
| take into account the case that operands[1] and operands[2] |
| are the same register. |
| |
| 2015-05-22 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2015-05-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/66233 |
| * match.pd (ocvt (icvt@1 @0)): Don't handle vector types. |
| Simplify. |
| |
| 2015-05-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/66199 |
| * tree.h (OMP_TEAMS_COMBINED): Define. |
| * gimplify.c (enum gimplify_omp_var_data): Add |
| GOVD_LINEAR_LASTPRIVATE_NO_OUTER. |
| (enum omp_region_type): Add ORT_COMBINED_TEAMS. |
| (omp_notice_variable): Accept both ORT_TEAMS |
| and ORT_COMBINED_TEAMS. Don't recurse if |
| GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either |
| GOVD_LINEAR is set, or GOVD_LASTPRIVATE without |
| GOVD_FIRSTPRIVATE. |
| (omp_no_lastprivate): New function. |
| (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE |
| and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't |
| notice_outer and set appropriate bits, otherwise make |
| sure default(none) combined constructs won't complain. |
| (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR |
| outer special casing, for OMP_CLAUSE_LASTPRIVATE if |
| omp_no_lastprivate either remove the clause or turn it |
| into OMP_CLAUSE_PRIVATE. |
| (gimplify_omp_for): Fix up handling of implicit |
| lastprivate or linear iterators. |
| (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use |
| ORT_COMBINED_TEAMS. |
| * omp-low.c (lower_omp_for_lastprivate): For combined |
| for simd use fd.loop.n2 from the for rather than simd. |
| |
| 2015-05-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/66133 |
| * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion, |
| make sure it is never noreturn, even when the task body does not |
| return. |
| (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE |
| right before GIMPLE_OMP_RETURN. |
| (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont |
| for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to |
| GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit. |
| |
| 2015-05-21 Sandra Loosemore <sandra@codesourcery.com> |
| |
| Backport from mainline r223418: |
| * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all |
| to build a biarch toolchain again. |
| |
| 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| Backport from mainline r223471 |
| 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR middle-end/66221 |
| * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use |
| build_distinct_type_copy to copy bounds. |
| |
| 2015-05-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/66174 |
| * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and |
| QImode inner modes for TARGET_AVX512BW. Force mask operand |
| to a register for AVX512F modes. |
| |
| 2015-04-16 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR target/66047 |
| * i386.c (ix86_function_sseregparm): Only return -1 if local function |
| with implied regparm is called from -mno-sse function. |
| (init_cumulative_args): Output error if ix86_function_sseregparm |
| return -1 and SSE register would be needed. |
| (function_arg_advance_32): Likewise. |
| (function_arg_32): Likewise. |
| * i386.h (ix86_args): Add decl field. |
| |
| 2015-04-16 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR target/66047 |
| * i386.c (ix86_function_sseregparm): Only return -1 if local function |
| with implied regparm is called from -mno-sse function. |
| (init_cumulative_args): Output error if ix86_function_sseregparm |
| return -1 and SSE register would be needed. |
| (function_arg_advance_32): Likewise. |
| (function_arg_32): Likewise. |
| * i386.h (ix86_args): Add decl field. |
| * gcc.target/i386/pr66047.c: New testcase. |
| |
| 2015-04-16 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65873 |
| * ipa-inline.c (can_inline_edge_p): Allow early inlining of always |
| inlines across optimization boundary; be tolerant about COMDAT; |
| allow inlining across -fstrict-aliasing boundary. |
| |
| 2015-05-16 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/30967 |
| * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider |
| destination mode for the cost of scc patterns. |
| |
| 2015-05-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/66140 |
| * config/alpha/alpha.c (get_aligned_mem): Also look for reload |
| replacements in memory addresses. |
| (get_unaligned_address): Ditto. |
| |
| 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/65955 |
| * config/arm/arm.md (movcond_addsi): Check that operands[2] is a |
| REG before taking its REGNO. |
| |
| 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int |
| and zEC12_simple_fp. |
| * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12 |
| to 1. |
| |
| 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH): |
| Increase to 128. |
| (aarch64_rewrite_selected_cpu): Do not chop off extensions starting |
| at '.'. Assert that there's enough space for everything. |
| |
| 2015-05-12 Yvan Roux <yvan.roux@linaro.org> |
| |
| Backport from mainline. |
| 2015-05-05 Yvan Roux <yvan.roux@linaro.org> |
| |
| * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define. |
| (LINK_SPEC): Include CA53_ERR_843419_SPEC. |
| * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define. |
| (LINK_SPEC): Include CA53_ERR_843419_SPEC. |
| * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option. |
| * configure: Regenerate. |
| * configure.ac: Add --enable-fix-cortex-a53-843419 option. |
| * doc/install.texi (aarch64*-*-*): Document new |
| --enable-fix-cortex-a53-843419 option. |
| * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419 |
| and -mno-fix-cortex-a53-843419 options. |
| |
| 2015-05-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn) |
| when looking for memory references. |
| |
| 2015-05-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65780 |
| * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to |
| default_binds_local_p_2. |
| * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise. |
| * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise. |
| |
| 2015-05-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/66015 |
| * config/alpha/alpha.c (alpha_override_options_after_change): New. |
| (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New. |
| (alpha_override_options): Move align_loops, align_jumps and |
| align_functions handling into alpha_override_options_after_change. |
| |
| 2015-05-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/65990 |
| * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out |
| if rep_8byte stringop strategy was specified for 32-bit target. |
| |
| 2015-05-06 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/66015 |
| * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops, |
| align_jumps, align_functions into aarch64_override_options_after_change. |
| |
| 2015-05-05 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline. |
| 2015-04-27 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/64579 |
| * config/rs6000/htm.md: Remove all define_expands. |
| (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC, |
| UNSPECV_HTM_TABORTWCI): Remove. |
| (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New. |
| (tabort_internal, tbegin_internal, tcheck_internal, tend_internal, |
| trechkpt_internal, treclaim_internal, tsr_internal): Rename from this... |
| (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this. |
| (tabortdc_internal, tabortdci_internal, tabortwc_internal, |
| tabortwci_internal): Remove define_insns. |
| (tabort<wd>c, tabort<wd>ci): New define_insns. |
| (tabort): Use gpc_reg_operand. |
| (tcheck): Remove operand. |
| (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro. |
| * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as |
| expected value. |
| * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove. |
| (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR. |
| (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin, |
| tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend, |
| tsr, ttest): Pass in the RS6000_BTC_CR attribute. |
| (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr, |
| get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute. |
| (tcheck): Remove builtin argument. |
| * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64 |
| not TARGET_64BIT. |
| (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the |
| tabortdc and tabortdci builtins when not in 64-bit mode. |
| Modify code to handle the loss of the HTM define_expands. |
| Emit code to copy the CR register to TARGET. |
| (htm_init_builtins): Modify code to handle the loss of the HTM |
| define_expands. |
| * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete. |
| (RS6000_BTC_64BIT): Likewise. |
| (RS6000_BTC_CR): New macro. |
| * doc/extend.texi: Update documentation for htm builtins. |
| |
| 2015-05-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65984 |
| * ubsan.c: Include tree-cfg.h. |
| (instrument_bool_enum_load): Use stmt_ends_bb_p instead of |
| stmt_could_throw_p test, rename can_throw variable to ends_bb. |
| |
| * Makefile.in (PATCHLEVEL_c): New variable. |
| (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0, |
| expand the same way as if DEVPHASE_c was non-empty. |
| |
| 2015-05-04 Kai Tietz <ktietz@redhat.com> |
| |
| Backmerge from trunk. |
| |
| PR lto/65559 |
| * lto-wrapper.c (run_gcc): Open filename |
| in binary-mode. |
| |
| 2015-04-30 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| PR c++/65801 |
| * doc/invoke.texi ([-Wnarrowing]): Update. |
| |
| 2015-04-30 Alan Modra <amodra@gmail.com> |
| |
| PR target/65408 |
| PR target/58744 |
| PR middle-end/36043 |
| * calls.c (load_register_parameters): Don't load past end of |
| mem unless suitably aligned. |
| |
| 2015-04-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65875 |
| * tree-vrp.c (update_value_range): If in is_new case setting |
| old_vr to VR_VARYING, also set new_vr to it. Remove |
| old_vr->type == VR_VARYING test. |
| (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of |
| SSA_PROP_INTERESTING if update_value_range returned true, |
| but new range is VR_VARYING. |
| |
| 2015-04-27 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2015-04-27 trunk r222459. |
| |
| PR target/65296 |
| PR target/65895 |
| * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file. |
| Add hint how to use own spec file. |
| |
| 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/65849 |
| * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that |
| save to independent variables use the Save attribute. This will |
| allow these options to be modified with the #pragma/attribute |
| target support. |
| (-mallow-movmisalign): Likewise. |
| (-mallow-df-permute): Likewise. |
| (-msched-groups): Likewise. |
| (-malways-hint): Likewise. |
| (-malign-branch-targets): Likewise. |
| (-mvectorize-builtins): Likewise. |
| (-msave-toc-indirect): Likewise. |
| |
| * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that |
| can be set via the #pragma/attribute target support. |
| (rs6000_opt_vars): Likewise. |
| (rs6000_inner_target_options): If VSX was set, also set |
| -mno-avoid-indexed-addresses. |
| |
| 2015-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline r222385 |
| 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove |
| asterisk from name so this can be generated directly. |
| (*altivec_stvx_<mode>_internal): Likewise. |
| * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert |
| that this is never called during or after reload/lra. |
| (rs6000_frame_related): Remove split_reg |
| argument and logic that references it. |
| (emit_frame_save): Remove last parameter from call to |
| rs6000_frame_related. |
| (rs6000_emit_prologue): Remove last parameter from eight calls to |
| rs6000_frame_related. Force generation of stvx instruction for |
| Altivec register saves. Remove split_reg handling, which is no |
| longer needed. |
| (rs6000_emit_epilogue): Force generation of lvx instruction for |
| Altivec register restores. |
| |
| 2015-04-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>): |
| Mark operand1 commutative. |
| |
| 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline r222362 |
| 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change |
| TARGET_CRYPTO to TARGET_P8_VECTOR> |
| (crypto_vpermxor_<mode>): Likewise. |
| * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define. |
| (BU_CRYPTO_3A): Likewise. |
| (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2. |
| (BU_CRYPTO_OVERLOAD_3A): New #define. |
| (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A. |
| (VPMSUMH): Likewise. |
| (VPMSUMW): Likewise. |
| (VPMSUMD): Likewise. |
| (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A. |
| (VPERMXOR_V4SI): Likewise. |
| (VPERMXOR_V8HI): Likewise. |
| (VPERMXOR_V16QI): Likewise. |
| (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to |
| BU_CRYPTO_OVERLOAD_2A. |
| (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to |
| BU_CRYPTO_OVERLOAD_3A. |
| * config/rs6000/rs6000.opt (mcrypto): Change description of |
| option. |
| |
| Backport from mainline r222362 |
| 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.opt (mcrypto): Change option description to |
| match category changes in ISA 2.07B. |
| |
| 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline r222351 |
| 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary |
| adjustments. |
| (insn_is_swappable_p): Return 1 for a convert from double to |
| single precision when all of its uses are splats of BE element |
| zero. |
| |
| 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline r222349 |
| 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/65456 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): For |
| VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and |
| TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line |
| option. |
| (rs6000_builtin_mask_for_load): Return 0 for targets with |
| efficient unaligned VSX accesses so that the vectorizer will use |
| direct unaligned loads. |
| (rs6000_builtin_support_vector_misalignment): Always return true |
| for targets with efficient unaligned VSX accesses. |
| (rs6000_builtin_vectorization_cost): Cost of unaligned loads and |
| stores on targets with efficient unaligned VSX accesses is almost |
| always the same as the cost of an aligned load or store, so model |
| it that way. |
| * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for |
| unaligned vectors if we have efficient unaligned VSX accesses. |
| * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New |
| undocumented option. |
| |
| 2015-04-23 Vladimir Makarov <vmakarov@redhat.com> |
| |
| Backport from trunk r222223. |
| |
| 2015-04-19 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/65805 |
| * lra-eliminations.c (lra_eliminate_regs_1): Add new assert. |
| Don't use difference of offset and previous offset if |
| update_sp_offset is non-zero. |
| (eliminate_regs_in_insn): Ditto. |
| * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in |
| lra_eliminate_regs_1 call. |
| * lra-constraints.c (get_equiv_with_elimination): Ditto. |
| |
| 2015-04-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from trunk r222179. |
| |
| 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com> |
| |
| PR target/65296 |
| * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust |
| to new AVR-LibC file layout (bug #44574). |
| (*avrlibc_devicelib): Same. |
| * config/avr/avr-mcus.def: Adjust comments. |
| * config/avr/avr.opt (nodevicelib): Adjust help. |
| |
| 2015-04-22 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 5.1.1. |
| |
| 2015-04-22 Release Manager |
| |
| * GCC 5.1.0 released. |
| |
| 2015-04-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/65807 |
| * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry. |
| |
| 2015-04-18 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/plugins.texi: Rewrite first introductory paragraph. |
| |
| 2015-04-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/65780 |
| * config/i386/i386.c (ix86_binds_local_p): Define only if |
| TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false. |
| |
| 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65787 |
| * config/rs6000/rs6000.c (rtx_is_swappable_p): Remove previous |
| fix; ensure that a subsequent SH_NONE operand does not overwrite |
| an existing *special value. |
| |
| 2015-04-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/65780 |
| * output.h (default_binds_local_p_3): New. |
| * varasm.c (default_binds_local_p_3): Make it public. Take an |
| argument to indicate if common symbol may be local. If common |
| symbol may be local, treat non-external variable as defined |
| locally. |
| (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3. |
| (default_binds_local_p_1): Pass false to default_binds_local_p_3. |
| * config/i386/i386.c (ix86_binds_local_p): New. |
| (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with |
| ix86_binds_local_p. |
| |
| 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/65787 |
| * config/rs6000/rs6000.c (rtx_is_swappable_p): Handle case where |
| vec_extract operation is wrapped in a PARALLEL with a CLOBBER. |
| (adjust_extract): Likewise. |
| |
| 2015-04-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/65771 |
| * dwarf2out.c (loc_list_from_tree): Return NULL |
| for DEBUG_EXPR_DECL. |
| |
| 2015-04-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/65765 |
| * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP |
| and GIMPLE_PREDICT use break instead of return true. For |
| GIMPLE_EH_DISPATCH, compare dispatch region. |
| |
| 2015-04-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/65761 |
| * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use |
| get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)). |
| |
| 2015-04-13 Jan Hubicka <hubicka@ucw.cz> |
| Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Add Martin Jambor and |
| Michael Matz. |
| |
| 2015-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 5.0.1. |
| * DEV-PHASE: Set to prerelease. |
| |
| PR tree-optimization/65747 |
| * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand |
| rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT. |
| |
| 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/invoke.texi (-Wmemset-transposed-args): Break a long |
| sentence. Improve grammar. |
| |
| 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov. |
| |
| 2015-04-11 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65743 |
| * ipa-inline-transform.c (speculation_removed): Remove static var. |
| (check_speculations): New function. |
| (clone_inlined_nodes): Do not check spculations. |
| (inline_call): Call check_speculations. |
| * ipa-prop.c (ipa_make_edge_direct_to_target): Do not |
| consider non-invariants. |
| |
| 2015-04-11 Jan Hubicka <hubicka@ucw.cz> |
| Martin Liska <mliska@suse.cz> |
| |
| PR ipa/65722 |
| * ipa-icf.c (sem_item::compare_cgraph_references): function and |
| variable can not match. |
| (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables. |
| (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch. |
| |
| 2015-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65735 |
| * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths): |
| Remove visited_phis argument, add visited_bbs, avoid recursing into the |
| same bb rather than just into the same phi node. |
| (thread_through_normal_block): Adjust caller. |
| |
| 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Add Ira Rosen. |
| |
| 2015-04-11 Benno Schulenberg <bensberg@justemail.net> |
| |
| * gcov.c (find_source): Fix miswording in error message. |
| * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise. |
| (ix86_expand_sse_comi_round): Fix typo in error message. |
| |
| 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Add Laurynas Biveinis. |
| |
| 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Update Joe Buck's entry. |
| |
| 2015-04-10 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/65710 |
| * lra-assigns.c (spill_for): Update smallest_bad_spills_num. |
| Print bad_spills_num and insn_pseudos_num. |
| |
| 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/65694 |
| * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND |
| when creating +1 values for SImode. |
| |
| 2015-04-10 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/65729 |
| * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the |
| assert. |
| |
| 2015-04-10 Jakub Jelinek <jakub@redhat.com> |
| Iain Sandoe <iain@codesourcery.com> |
| |
| PR target/65351 |
| * configure: Regenerate. |
| |
| 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/65671 |
| * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled. |
| |
| 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Add John Marino. |
| |
| 2015-04-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65709 |
| * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of |
| TREE_TYPE (TREE_TYPE (t)). |
| |
| 2015-04-09 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/65710 |
| * lra-int.h (lra_bad_spill_regno_start): New. |
| * lra.c (lra_bad_spill_regno_start): New. |
| (lra): Set up lra_bad_spill_regno_start. Set up |
| lra_constraint_new_regno_start unconditionally. |
| * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for |
| spill preferences. |
| |
| 2015-04-09 Marek Polacek <polacek@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/65554 |
| * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment. |
| (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead |
| of STRIP_NOPS. |
| |
| 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/65693 |
| * combine.c (is_parallel_of_n_reg_sets): Move outside of |
| #ifndef HAVE_cc0. |
| |
| 2015-04-09 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/65296 |
| * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a |
| device specs file if "device-specs%s" didn't resolve to a path. |
| |
| 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/65676 |
| * config/i386/i386.c (fixup_modeless_constant): New. |
| (ix86_expand_args_builtin): Fixup modeless constant operand. |
| (ix86_expand_round_builtin): Ditto. |
| (ix86_expand_special_args_builtin): Ditto. |
| (ix86_expand_builtin): Ditto. |
| |
| 2015-04-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65693 |
| * config/i386/i386.md (*udivmod<mode>4_pow2): Allow |
| any pow2 integer in between 2 and 0x80000000U inclusive. |
| |
| 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/65693 |
| * combine.c (is_parallel_of_n_reg_sets): Change first argument |
| from an rtx_insn * to an rtx. |
| (try_combine): Adjust both callers. Use it once more. |
| |
| 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * tree-chkp.c (chkp_find_const_bounds_var): Remove. |
| (chkp_make_static_const_bounds): Search existing |
| symbol by assembler name. Use make_decl_one_only. |
| (chkp_get_zero_bounds_var): Remove node search which |
| is now performed in chkp_make_static_const_bounds. |
| (chkp_get_none_bounds_var): Likewise. |
| |
| 2015-04-08 Michael Witten <mfwitten@gmail.com> |
| |
| * doc/extend.texi (Attribute Syntax): Add a trailing semicolon |
| to an example. |
| |
| 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * tree.h (CONVERT_EXPR_P): Commentary typo fix. |
| |
| 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/extend.texi (__sync Builtins): Fix grammar. |
| |
| 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * doc/cfg.texi (GIMPLE statement iterators): Fix typo. |
| |
| 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * varasm.c (emit_local): Move definition of align. |
| |
| 2015-04-08 Julian Brown <julian@codesourcery.com> |
| |
| * config/nvptx/mkoffload.c (process): Support variable mapping. |
| |
| 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org> |
| |
| * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to |
| alpha_links **. |
| (alpha_write_one_linkage): Correct typo. |
| |
| 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa-comdats.c (propagate_comdat_group): Walk through thunks. |
| |
| 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (bootstrap-lto-noplugin): Rewrite. |
| |
| 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * tree-chkp.h (chkp_insert_retbnd_call): New. |
| * tree-chkp.c (chkp_insert_retbnd_call): New. |
| * ipa-split.c (insert_bndret_call_after): Remove. |
| (split_function): Use chkp_insert_retbnd_call. |
| * cgraphunit.c (cgraph_node::expand_thunk): Build returned |
| bounds for instrumented functions. |
| |
| 2015-04-07 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65540 |
| * calls.c (initialize_argument_information): When producing tail |
| call also turn SSA_NAMES passed by references to original PARM_DECLs |
| |
| 2015-04-07 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/65648 |
| * lra-remat.c (do_remat): Process input and non-input insn |
| registers separately. |
| |
| 2015-04-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/65678 |
| * valtrack.c (debug_lowpart_subreg): New function. |
| (dead_debug_insert_temp): Use it. |
| |
| PR middle-end/65680 |
| * expr.c (get_inner_reference): Handle bit_offset that doesn't fit |
| into signed HOST_WIDE_INT the same as negative bit_offset. |
| |
| 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa-comdats.c (ipa_comdats): Visit all thunks |
| to set proper comdat group. |
| |
| 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/65489 |
| * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction |
| on constants for NEON VSTRUCT modes. |
| |
| 2015-04-07 Jakub Jelinek <jakub@redhat.com> |
| Iain Sandoe <iain@codesourcery.com> |
| |
| PR target/65351 |
| * configure: Regenerate. |
| |
| 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/65614 |
| * config/rs6000/rs6000.c (struct processor_costs): Add cost field |
| for SF->DF conversions to make FLOAT_EXTEND more expensive, so |
| that LFD is used to load double constants instead of LFS. Add |
| defaults for all costs structures. Add comments for missing |
| initialization fields. |
| (size32_cost): Likewise. |
| (size64_cost): Likewise. |
| (rs64a_cost): Likewise. |
| (mpccore_cost): Likewise. |
| (ppc403_cost): Likewise. |
| (ppc405_cost): Likewise. |
| (ppc440_cost): Likewise. |
| (ppc476_cost): Likewise. |
| (ppc601_cost): Likewise. |
| (ppc603_cost): Likewise. |
| (ppc604_cost): Likewise. |
| (ppc604e_cost): Likewise. |
| (ppc620_cost): Likewise. |
| (ppc630_cost): Likewise. |
| (ppccell_cost): Likewise. |
| (ppc750_cost): Likewise. |
| (ppc7450_cost): Likewise. |
| (ppc8540_cost): Likewise. |
| (ppce300c2c3_cost): Likewise. |
| (ppce500mc_cost): Likewise. |
| (ppce500mc64_cost): Likewise. |
| (ppce5500_cost): Likewise. |
| (ppce6500_cost): Likewise. |
| (titan_cost): Likewise. |
| (power4_cost): Likewise. |
| (power6_cost): Likewise. |
| (power7_cost): Likewise. |
| (power8_cost): Likewise. |
| (ppca2_cost): Likewise. |
| (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field. |
| |
| * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP |
| instead of XXLOR to copy SFmode to clear out dirty bits created |
| when SFmode denormals are generated. |
| (mov<mode>_hardfloat, FMOVE32 case): Likewise. |
| (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction. |
| |
| 2015-04-06 Evandro Menezes <e.menezes@samsung.com> |
| |
| * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option. |
| * config/aarch64/aarch64-cores.def (exynos-m1): New core. |
| * config/aarch64/aarch64-tune.md: Regenerate. |
| |
| 2015-04-06 Evandro Menezes <e.menezes@samsung.com> |
| |
| * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option. |
| * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1". |
| * config/arm/arm-cores.def (exynos-m1): New core. |
| * config/arm/arm-tune.md: Regenerate. |
| * config/arm/arm-tables.opt: Add entry for "exynos-m1". |
| * config/arm/bpabi.h: Likewise. |
| |
| 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa-cp (set_single_call_flag): Remove too |
| restrictive assert. |
| |
| 2015-04-06 Ilya Verbin <ilya.verbin@intel.com> |
| |
| * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call |
| GOMP_offload_unregister from the destructor. |
| |
| 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor |
| flags for instrumentation thunk. |
| (chkp_produce_thunks): Likewise. |
| |
| 2015-04-05 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/65665 |
| * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP |
| has computed data structure. |
| (sem_item_optimizer::update_hash_by_addr_refs): Likewise. |
| |
| 2015-04-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| * invoke.texi (inline-unit-growth): Increase growth to 20% |
| * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise. |
| |
| 2015-04-04 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/65647 |
| * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its |
| value checking. |
| (lra_rematerialization_iter): New. |
| * lra.c (lra): Initialize lra_rematerialization_iter. |
| Stop updating lra_constraint_new_regno_start after switching of |
| inheritance and rematerialization. |
| * lra-remat.c (lra_rematerialization_iter): New. |
| (lra_remat): Add printing pass iteration. Do rematerialization |
| only first LRA_MAX_REMATERIALIZATION_PASSES iterations. |
| |
| 2015-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64909 |
| PR tree-optimization/65660 |
| * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust |
| to take a cost vector for scalar iteration cost. |
| (vect_get_single_scalar_iteration_cost): Likewise. |
| * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): |
| Compute the scalar iteration cost into a cost vector. |
| (vect_get_known_peeling_cost): Use the scalar cost vector to |
| account for the cost of the peeled iterations. |
| (vect_estimate_min_profitable_iters): Likewise. |
| * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): |
| Likewise. |
| |
| 2015-04-04 Alan Modra <amodra@gmail.com> |
| |
| PR target/65576 |
| PR target/65240 |
| * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude |
| 0.0 constant unless TARGET_VSX. |
| * config/rs6000/rs6000.md (extenddftf2_internal): Remove last |
| alternative. |
| |
| 2015-04-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65654 |
| * ipa-inline-transform.c (inline_call): Skip sanity check to work |
| around the ICE |
| |
| 2015-04-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65655 |
| * ipa-inline-analysis.c (edge_set_predicate): Do not redirect |
| speculative indirect edges to avoid ordering issue. |
| |
| 2015-04-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65076 |
| * ipa-inline.c (edge_badness): Add combined size to the denominator. |
| |
| 2015-04-03 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set |
| TYPE_ARTIFICIAL on the .omp_data* types. |
| |
| 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * cgraphunit.c (cgraph_node::expand_thunk): Don't expand |
| instrumentation thunks. |
| |
| 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * config/i386/i386.c (ix86_expand_call): Avoid nested |
| PARALLEL in returned call value. |
| |
| 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * lto-cgraph.c (input_cgraph_1): Always link instrumented |
| assembler name with original one. |
| |
| 2015-04-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_register_priority): Use AX_REG. |
| |
| 2015-04-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| Revert parts of r216820. |
| * config/i386/i386.md (movqi_internal): Correct type calculation |
| for alternatives 3 and 5. |
| |
| 2015-04-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR preprocessor/61977 |
| * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't |
| predefine __vector/__bool/__pixel macros nor context sensitive |
| macros for CLK_ASM. |
| * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly. |
| |
| 2015-04-02 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_output_move_double): Directly handle register |
| indexed memory operand. Simplify handling of scaled register indexed |
| memory operands. |
| |
| 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR driver/65444 |
| * config/i386/linux-common.h (MPX_SPEC): New. |
| (CHKP_SPEC): Add MPX_SPEC. |
| * doc/invoke.texi (-fcheck-pointer-boudns): Document |
| possible issues with '-z bndplt' support in linker. |
| |
| 2015-04-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New. |
| (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC. |
| (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC. |
| * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC. |
| (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC. |
| |
| 2015-04-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sync.md (UNSPEC_MOVA): Remove. |
| (atomic_load<mode>): Change operand 0 predicate to |
| nonimmediate_operand and fix up the destination when needed. |
| Use UNSPEC_LDA. |
| (atomic_loaddi_fpu): Use UNSPEC_LDA. |
| (atomic_store<mode>): Change operand 1 predicate to |
| nonimmendate_operand and move the source to register when needed. |
| Use UNSPEC_STA. |
| (atomic_store<mode>_1): Use UNSPEC_STA. |
| (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand. |
| Fix moves from memory operand. Use UNSPEC_STA. |
| |
| 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * expmed.c (strict_volatile_bitfield_p): Check that the access will |
| not cross a MODESIZE boundary. |
| (store_bit_field, extract_bit_field): Added assertions in the |
| strict volatile bitfields code path. |
| |
| 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com> |
| |
| PR target/65624 |
| * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): |
| Increase args array size by one to avoid buffer overflow. |
| |
| 2015-03-31 Jan Hubicka <hubicka@ucw.cz> |
| |
| * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream |
| split_part. |
| * ipa-inline.c (edge_badness): Add wrapper penalty. |
| (sum_callers): Move up. |
| (inline_small_functions): Set single_caller. |
| * ipa-inline.h (inline_summary): Add single_caller. |
| * ipa-split.c (split_function): Set split_part. |
| (cgraph_node::create_clone): Do not shadow decl; copy split_part. |
| * cgraph.h (cgraph_node): Add split_part. |
| |
| 2015-03-31 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/58945 |
| * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword): |
| Do not split operands 0 and operands 2 to halfmode. |
| (atomic_compare_and_swap<mode>): Update for |
| atomic_compare_and_swap<dwi>_doubleword changes. |
| |
| 2015-03-31 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree.c (need_assembler_name_p): Artificial types have no ODR names. |
| * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when |
| no caching is done. |
| |
| 2015-03-31 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/65557 |
| * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP |
| has already filled up function summary. |
| (sem_item_optimizer::update_hash_by_addr_refs): Likewise. |
| |
| 2015-03-31 Richard Biener <rguenther@suse.de> |
| |
| * tree-sra.c (create_access_replacement): Drop under-/over-alignment |
| of types. |
| |
| 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching |
| nested functions. |
| (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw. |
| (s390_asm_output_function_label): Adapt to new signature of |
| s390_function_num_hotpatch_hw |
| Optimise the code generating assembler output. |
| Add comments to assembler file. |
| |
| 2015-03-31 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/65626 |
| * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block |
| of the noreturn call so it is last and cleanup_control_flow_bb |
| can do the CFG part. |
| |
| 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/65531 |
| * ipa-chkp.c (chkp_maybe_create_clone): Don't set |
| same_comdat_group for external symbols. |
| * symtab.c (symtab_node::verify_symtab_nodes): Avoid |
| infinite same_comdat_group traversal loop. |
| |
| 2015-03-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR plugins/61176 |
| * Makefile.in (install-plugin): Add all gcc/*.{h,def} files |
| automatically to $headers. |
| |
| 2015-03-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/65610 |
| * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare. |
| * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New |
| function. |
| (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store): |
| Use it. |
| * ipa-prop.c (param_type_may_change_p): Likewise. |
| * tree-ssa-live.c: Include ipa-utils.h and its dependencies. |
| (remove_unused_scope_block_p): Add in_ctor_dtor_block |
| argument. Before inlining, preserve |
| inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block |
| with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust |
| recursive calls. |
| (remove_unused_locals): Adjust remove_unused_scope_block_p caller. |
| |
| 2015-03-27 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65076 |
| * ipa-inline.c (edge_badness): Base denominator on callee's |
| grwoth squared. |
| |
| 2015-03-27 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/65478 |
| * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New. |
| (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise. |
| * ipa-prop.h (ipa_node_params): New flags node_within_scc and |
| node_calling_single_call. |
| * ipa-cp.c (count_callers): New function. |
| (set_single_call_flag): Likewise. |
| (initialize_node_lattices): Count callers and set single_flag_call if |
| necessary. |
| (incorporate_penalties): New function. |
| (good_cloning_opportunity_p): Use it, dump new flags. |
| (propagate_constants_topo): Set node_within_scc flag if appropriate. |
| * doc/invoke.texi (ipa-cp-recursion-penalty, |
| ipa-cp-single-call-pentalty): Document. |
| |
| 2015-03-27 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65588 |
| * symtab.c (symtab_node::get_partitioning_class): Register vars |
| are duplicated. |
| * varpool.c (symbol_table::output_variables) Do not assemble unefined |
| decls for non-symbols. |
| |
| 2015-03-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/65248 |
| * output.h (default_binds_local_p_2): New. |
| * varasm.c (default_binds_local_p_2): Renamed to ... |
| (default_binds_local_p_3): This. Don't return true on protected |
| data symbol if protected data may be external. |
| (default_binds_local_p): Use default_binds_local_p_3. |
| (default_binds_local_p_1): Likewise. |
| (default_binds_local_p_2): New. |
| * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to |
| default_binds_local_p_2 if TARGET_MACHO is undefined. |
| |
| 2015-03-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65593 |
| * config/i386/i386.c (legitimize_pic_address): If base |
| is SYMBOL_REF or LABEL_REF using %rip addressing, force |
| it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register. |
| |
| 2015-03-27 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR target/65531 |
| * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of |
| comdat groups. |
| |
| 2015-03-27 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65600 |
| * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case |
| of optimized out indirect call. |
| (redirect_to_unreachable): Always build symbol table node for |
| BUILT_IN_UNREACHABLE |
| |
| 2015-03-27 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/65407 |
| * ira-costs.c (record_reg_classes): Process all constraint string |
| containing 0-9. |
| |
| 2015-03-27 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not |
| memory_operand. |
| |
| PR target/65052 |
| * config/c6x/constraints.md (S3): New constraint. |
| * config/c6x/c6x.md (real_jump): Use it. |
| |
| 2015-03-26 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/65595 |
| * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only |
| do redirection if the call is not optimized out. |
| |
| 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/65495 |
| * c-family/c.opt (fcheck-pointer-bounds): List supported languages. |
| (fchkp-check-incomplete-type): Add LTO. |
| (fchkp-zero-input-bounds-for-main): Likewise. |
| (fchkp-first-field-has-own-bounds): Likewise. |
| (fchkp-narrow-bounds): Likewise. |
| (fchkp-narrow-to-innermost-array): Likewise. |
| (fchkp-use-static-bounds): Likewise. |
| (fchkp-use-static-const-bounds): Likewise. |
| (fchkp-treat-zero-dynamic-size-as-infinite): Likewise. |
| |
| 2015-03-27 Marek Polacek <polacek@redhat.com> |
| |
| * gimple-iterator.h (gsi_prev_nondebug): Fix typo. |
| |
| 2015-03-27 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/65583 |
| * ubsan.c (ubsan_create_edge): New function. |
| (instrument_bool_enum_load): Call it. |
| (instrument_nonnull_arg): Likewise. |
| (instrument_nonnull_return): Likewise. |
| (instrument_object_size): Likewise. |
| |
| 2015-03-26 Jan Hubicka <hubicka@ucw.cz> |
| |
| * lto-streamer.h (class lto_location_cache): Turn loc_cache into |
| auto_vec. |
| |
| 2015-03-26 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/65536 |
| * lto-streamer.h (class lto_location_cache): New. |
| (struct data_in): Add location_cache. |
| (lto_input_location): Update prototype. |
| (stream_input_location_now): New. |
| * streamer-hooks.h (struct streamer_hooks): Make input_location to take |
| pointer to location. |
| (stream_input_location): Update. |
| * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h |
| (warn_odr): Apply location cache before warning. |
| (lto_input_location): Update prototype. |
| * gimple-streamer-in.c (input_phi, input_gimple_stmt): |
| Use stream_input_location_now. |
| * lto-streamer-in.c (lto_location_cache::current_cache): New static |
| variable. |
| (lto_location_cache::cmp_loc): New function. |
| (lto_location_cache::apply_location_cache): New function. |
| (lto_location_cache::accept_location_cache): New function. |
| (lto_location_cache::revert_location_cache): New function. |
| (lto_location_cache::input_location): New function. |
| (lto_input_location): Do location caching. |
| (stream_input_location_now): New function. |
| (input_eh_region, input_struct_function_base): Use |
| stream_input_location_now. |
| (lto_data_in_create): use new. |
| (lto_data_in_delete): Use delete. |
| * tree-streamer-in.c (unpack_ts_block_value_fields, |
| unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields, |
| lto_input_ts_exp_tree_pointers): Update for cached location api. |
| |
| 2015-03-26 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65076 |
| * passes.def: Add pass_nothrow. |
| * ipa-pure-const.c: (pass_data_nothrow): New. |
| (pass_nothrow): New. |
| (pass_nothrow::execute): New. |
| (make_pass_nothrow): New. |
| * tree-pass.h (make_pass_nothrow): Declare. |
| |
| 2015-03-26 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for |
| edge to change by speculation resolution or redirection. |
| (edge_set_predicate): Likewise. |
| (inline_summary_t::duplicate): Likewise. |
| (remap_edge_summaries): Likewise. |
| |
| 2015-03-26 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline.c (check_maybe_up, check_maybe_down, check_match): |
| New macros. |
| (can_inline_edge_p): Relax option matching for always inline functions. |
| |
| 2015-03-26 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/65561 |
| * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm): |
| Check operand 4 and operand 0 for equality. |
| (avx512f_vextract<shuffletype>32x4_1_maskm): |
| Check operand 6 and operand 0 for equality. |
| (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0 |
| for equality. |
| (vec_extract_hi_<mode>_maskm): Ditto. |
| |
| 2015-03-26 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring |
| dead calls back to live. |
| (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency |
| cross check to ... |
| (cgraph_node::verify_node): ... here; verify only callee edges, |
| not caller. |
| * cif-code.def (CILK_SPAWN): New code. |
| |
| 2015-03-26 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline-analysis.c (redirect_to_unreachable): New function. |
| (edge_set_predicate): Use it to mark unreachable edges. |
| (inline_summary_t::duplicate): Remove unnecesary code. |
| (remap_edge_summaries): Likewise. |
| (dump_inline_summary): Report contains_cilk_spawn. |
| (compute_inline_parameters): Compute contains_cilk_spawn. |
| (inline_read_section, inline_write_summary): Stream |
| contains_cilk_spawn. |
| * ipa-inline.c (can_inline_edge_p): Do not touch |
| DECL_STRUCT_FUNCTION that may not be available; |
| use CIF_CILK_SPAWN for cilk; fix optimization attribute checks; |
| remove check for callee_fun->can_throw_non_call_exceptions and |
| replace it by optimization attribute check; check for flag_exceptions. |
| * ipa-inline-transform.c (inline_call): Maintain |
| DECL_FUNCTION_PERSONALITY |
| * ipa-inline.h (inline_summary): Add contains_cilk_spawn. |
| |
| 2015-03-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65551 |
| * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use |
| TYPE_PRECISION only for INTEGRAL_TYPE_P types. |
| |
| 2015-03-26 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/65555 |
| * tree-cfg.c (verify_gimple_call): Do not require a call to |
| have no LHS if it wasn't recognized as control altering yet. |
| |
| 2015-03-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/64715 |
| * passes.def: Add another instance of pass_object_sizes before ccp1. |
| * tree-object-size.c (pass_object_sizes::execute): In |
| first_pass_instance, only handle __bos (, 1) and __bos (, 3) |
| calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the |
| __bos result and the computed constant. Remove redundant |
| checks, obsoleted by gimple_call_builtin_p test. |
| |
| * var-tracking.c (variable_tracking_main_1): Don't track |
| variables for targetm.no_register_allocation targets. |
| |
| 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove. |
| * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian. |
| |
| 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/65569 |
| * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use |
| XXLXOR to create 0.0. On pre-VSX systems make sure the constant |
| 0.0 is correctly setup. |
| (extenddftf2_internal): Likewise. |
| |
| 2015-03-25 Sebastian Pop <s.pop@samsung.com> |
| |
| PR tree-optimization/65177 |
| * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread. |
| (bb_in_bbs): New. |
| (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all |
| edges not adjacent on the path to the original code. |
| |
| 2015-03-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR bootstrap/65537 |
| * doc/install.texi (Building a native compiler): Document new |
| bootstrap-lto-noplugin configuration. Mention that bootstrap-lto |
| configuration assumes that the host supports the linker plugin. |
| |
| 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/65508 |
| * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static |
| chain for generated call. |
| |
| 2015-03-25 Richard Biener <rguenther@suse.de> |
| |
| * passes.c (pass_manager::execute_early_local_passes): Guard |
| execution of pass_chkp_instrumentation_passes with |
| flag_check_pointer_bounds. |
| (pass_chkp_instrumentation_passes::gate): Likewise. |
| |
| 2015-03-25 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/65538 |
| * symbol-summary.h (function_summary::~function_summary): |
| Relese memory for allocated summaries. |
| (function_summary::release): New function. |
| |
| 2015-03-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/65515 |
| * lto-streamer-out.c (DFS::worklist): New struct. |
| (DFS::worklist_vec): New data member. |
| (DFS::next_dfs_num): Remove. |
| (DFS::DFS): Rewritten using worklist instead of recursion, |
| using most of code from DFS::DFS_write_tree. |
| (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't |
| pass it to DFS_write_tree calls. |
| (DFS::DFS_write_tree): Remove SINGLE_P argument, after |
| quick initial checks push it into worklist_vec and return. |
| |
| 2015-03-25 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/65519 |
| * genmatch.c (expr::gen_transform): Re-write to avoid |
| using gimple_build. |
| |
| 2015-03-25 Bin Cheng <bin.cheng@arm.com> |
| |
| * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New. |
| |
| 2015-03-25 Bin Cheng <bin.cheng@arm.com> |
| |
| * config/arm/arm.opt (print_tune_info): New option. |
| * config/arm/arm.c (arm_print_tune_info): New function. |
| (arm_file_start): Call arm_print_tune_info. |
| * config/arm/arm-protos.h (struct tune_params): Add comment. |
| * doc/invoke.texi (@item -mprint-tune-info): New item. |
| (-mtune): mention it in ARM Option Summary. |
| |
| 2015-03-25 DJ Delorie <dj@redhat.com> |
| |
| * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to |
| correct clause. |
| |
| 2015-03-24 Jan Hubicka <hubicka@ucw.cz> |
| Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf-gimple.h (return_with_result): Add missing colon to dump. |
| * ipa-icf.c (sem_function::get_hash): Hash new declaration properties. |
| (sem_item::add_type): New function. |
| (sem_function::hash_stmt): Add TREE_TYPE of gimple_op. |
| (sem_function::compare_polymorphic_p): Do not consider indirect calls. |
| (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash. |
| (sem_function::equals_wpa): Fix typo. |
| * ipa-icf.h (sem_item::add_type): New function. |
| (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol |
| order. |
| |
| 2015-03-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65533 |
| * tree-vect-slp.c (vect_build_slp_tree): Before re-trying |
| with swapped operands, call vect_free_slp_tree on |
| SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN |
| vector. |
| |
| 2015-03-24 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/65517 |
| * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops |
| for fixup if necessary. |
| |
| 2015-03-23 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Function Attributes): Add @cindex entries |
| for all attributes and regularize their format. Delete text |
| about long-obsolete 68HC11 and 68HC12 targets. Move misplaced |
| information about "eightbit_data", "tiny_data", and "model" |
| variable attributes to the Variable Attributes section. Fix |
| some obvious typos and copy-editing issues. |
| (Variable Attributes, Type Attributes): Likewise add/fix |
| @cindex entries for all attributes. |
| |
| 2015-03-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65523 |
| * tree-chkp.c (chkp_build_returned_bound): Ignore |
| ERF_RETURNS_ARG calls if they have fewer than needed arguments. |
| |
| 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/65505 |
| * config/sh/predicates.md (simple_mem_operand, |
| displacement_mem_operand): Add test for reg. |
| (short_displacement_mem_operand): Test for displacement_mem_operand |
| before invoking sh_disp_addr_displacement. |
| * config/sh/constraints.md (Sdd, Sra): Simplify. |
| * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): |
| Remove redundant displacement_mem_operand tests. |
| |
| 2015-03-23 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/65296 |
| * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify |
| the same -mmcu=MCU more than once. |
| |
| 2015-03-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/65522 |
| * ipa-devirt.c: Remove duplicate demangle.h include. |
| |
| PR target/65504 |
| * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER |
| on the pseudo. |
| (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set |
| REG_POINTER on *destptr after adjusting it for prologue size. |
| |
| PR ipa/65521 |
| * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash |
| ultimate_alias_target ()->order ints instead of |
| ultimate_alias_target () pointers. |
| |
| 2015-03-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/65518 |
| * tree-vect-stmts.c (vectorizable_load): Reject single-element |
| interleaving cases we generate absymal code for. |
| |
| 2015-03-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/65494 |
| * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate |
| matches here. |
| (vect_analyze_slp_instance): But do that here, always and once. |
| |
| 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * expmed.c (synth_mult): Fix comment about multiplying by T-1 and |
| adding T or multiplying by T+1 and subracting T. |
| |
| 2015-03-22 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/64317 |
| * Makefile.in (OBJS): Add gcse-common.c |
| * gcse.c: Include gcse-common.h |
| (struct modify_pair_s): Move structure definition to gcse-common.h |
| (compute_transp): Move function to gcse-common.c. |
| (canon_list_insert): Similarly. |
| (record_last_mem_set_info): Break out some code and put it into |
| gcse-common.c. Call into the new common code. |
| (compute_local_properties): Pass additional arguments to compute_transp. |
| * postreload-gcse.c: Include gcse-common.h and df.h |
| (modify_mem_list_set, blocks_with_calls): New variables. |
| (modify_mem_list, canon_modify_mem_list, transp): Likewise. |
| (get_bb_avail_insn): Pass in the expression index too. |
| (alloc_mem): Allocate memory for the new bitmaps and lists. |
| (free_mem): Free memory for the new bitmaps and lists. |
| (insert_expr_in_table): Record a bitmap index for each entry we |
| add to the table. |
| (record_last_mem_set_info): Call into common code in gcse-common.c. |
| (get_bb_avail_insn): If no available insn was found in the requested |
| BB. If BB has a single predecessor, see if the expression is |
| transparent in BB and available in that single predecessor. |
| (compute_expr_transp): New wrapper for compute_transp. |
| (eliminate_partially_redundant_load): Pass expression's bitmap_index |
| to get_bb_avail_insn. Compute next_pred_bb_end a bit later. |
| (gcse_after_reload_main): If there are elements in the hash table, |
| then compute transparency for all the elements in the hash table. |
| * gcse-common.h: New file. |
| * gcse-common.c: New file. |
| |
| 2015-03-22 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/cpp.texi (Search Path): Hyphenate "command-line" when used |
| as an adjective. |
| (System Headers): Likewise. |
| (Ifdef): Likewise. |
| (Traditional macros): Likewise. |
| (Invocation): Likewise. |
| (Option Index): Likewise. |
| * doc/cppopts.texi (-M): Likewise. |
| (-finput-charset): Likewise. |
| (--help): Likewise. |
| * doc.invoke.texi (AVR Options): Likewise. |
| (V850 Options): Likewise. |
| |
| 2015-03-22 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65475 |
| * ipa-devirt.c: Include demangle.h |
| (odr_type_d): Add field rtti_broken. |
| (odr_subtypes_equivalent_p): Do not require name to match. |
| (compare_virtual_tables): Fix typo; if type already has ODR violation, |
| bypass the tests; be ready for function referneces in vtables that are |
| not DECL_VIRTUAL; make warnings to be OPT_Wodr. |
| (warn_odr): Give up for nameless types. |
| (warn_types_mismatch): Report mismatch in mangled names; |
| report mismatch in anonymous namespaces; look into component types to |
| give useful error; report when mismatch is dragged in from other ODR |
| type. |
| (odr_types_equivalent_p): Match types for being polymorphic; avoid |
| duplicated diagnostics. |
| (add_type_duplicate): Reorder checks so more informative ones come |
| first; fix typo; do not output "the extra base is defined here" when |
| we did not warn. |
| (BINFO_N_BASE_BINFOS): Relax sanity check. |
| |
| 2015-03-22 Martin Liska <mliska@suse.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (def_builtin): Set deferred_isa_values for |
| masks that can potentially include a builtin. |
| (ix86_add_new_builtins): Introduce fast filter for isa values |
| that cannot trigger builtin inclusion. |
| |
| 2015-03-22 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function. |
| (sem_item::update_hash_by_local_refs): Likewise. |
| (sem_variable::get_hash): Empty line is fixed. |
| (sem_item_optimizer::execute): Include adding of hash references. |
| (sem_item_optimizer::update_hash_by_addr_refs): New function. |
| (sem_item_optimizer::build_hash_based_classes): Use local hash. |
| * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function. |
| (sem_item::update_hash_by_local_refs): Likewise. |
| |
| 2015-03-20 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65502 |
| * ipa-comdats.c (enqueue_references): Walk through thunks. |
| (ipa_comdats): Likewise. |
| (set_comdat_group_1): New function. |
| |
| 2015-03-20 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65475 |
| * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over |
| non-polymorphic |
| |
| 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com> |
| Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Update entry for Danny Smith. |
| |
| 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com> |
| Sandra Loosemore <sandra@codesourcery.com> |
| |
| * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust |
| function parameter declaration. |
| * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value): |
| Update arguments to nios2_adjust_call_address(). |
| (sibcall_internal): Rename from *sibcall. |
| (sibcall_value_internal): Rename from *sibcall_value. |
| * config/nios2/nios2.c (nios2_emit_add_constant): New function. |
| (nios2_large_got_address): Add target temp reg parameter. |
| (nios2_got_address): Adjust call to nios2_large_got_address, add |
| force_reg around it. |
| (nios2_load_pic_address): Add target temp reg parameter, replace call |
| to nios2_got_address with corresponding code. |
| (nios2_legitimize_constant_address): Update call to |
| nios2_load_pic_address. |
| (nios2_adjust_call_address): Add temp reg parameter, update PIC case |
| to use temp reg for PIC loading purposes. |
| (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK. |
| (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. |
| (TARGET_ASM_OUTPUT_MI_THUNK): Likewise. |
| |
| 2015-03-21 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (-fno-diagnostics-show-caret): Fix |
| usage of "the @option{...}". |
| (-Wopenmp-simd): Likewise. |
| (-fsanitize-recover): Likewise. |
| (-fsanitize-undefined-trap-on-error): Likewise. |
| (-flto): Likewise. |
| (tracer-dynamic-coverage-feedback): Likewise. |
| (reorder-block-duplicate-feedback): Likewise. |
| (loop-unroll-jam-size): Likewise. |
| (-B): Likewise. |
| (-I-): Likewise. |
| (-mabs=legacy): Likewise. |
| (-mupper-regs-df): Likewise. |
| (-mupper-regs-sf): Likewise. |
| (-mpointers-to-nested-functions): Likewise. |
| |
| 2015-03-21 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Cilk Plus Builtins): Add markup. |
| |
| 2015-03-21 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add |
| additional index entries and cross-references. |
| (-fchkp-check-incomplete-type): Likewise. |
| (-fchkp-first-field-has-own-bounds): Likewise. |
| (-fchkp-narrow-to-innermost-array): Likewise. |
| (-fchkp-use-fast-string-functions): Likewise. |
| (-fchkp-use-nochk-string-functions): Likewise. |
| (-fchkp-use-static-const-bounds): Likewise. |
| (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise. |
| (-fchkp-instrument-marked-only): Likewise. |
| (-fchkp-use-wrappers): Likewise. |
| (-static-libmpx): Likewise. |
| (-static-libmpxwrappers): Likewise. |
| * doc/extend.texi (bnd_legacy): Likewise. |
| (bnd_instrument): Likewise. |
| (bnd_variable_size): Likewise. |
| (Pointer Bounds Checker builtins): Likewise. |
| |
| 2015-03-21 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/65458 |
| * cgraph.c (cgraph_node::dump): Handle parallelized_function field. |
| * cgraph.h (cgraph_node): Add parallelized_function field. |
| * lto-cgraph.c (lto_output_node): Write parallelized_function field. |
| (input_overwrite_node): Read parallelized_function field. |
| * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set |
| parallelized_function on cgraph_node for child_fn. |
| * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h. |
| Remove include of gt-tree-parloops.h. |
| (parallelized_functions): Remove static variable. |
| (parallelized_function_p): Rewrite using parallelized_function field of |
| cgraph_node. |
| (create_loop_fn): Remove adding to parallelized_functions. |
| * Makefile.in (GTFILES): Remove tree-parloops.c |
| |
| 2015-03-20 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/64366 |
| * lra.c (lra_update_insn_regno_info): Consider regs in |
| CALL_INSN_FUNCTION_USAGE memory. |
| |
| 2015-03-20 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64715 |
| * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p |
| for type comparison and gcc_checking_assert. |
| (chrec_fold_plus_poly_poly): Likewise. |
| (chrec_fold_multiply_poly_poly): Likewise. |
| (chrec_convert_1): Likewise. |
| * gimplify.c (gimplify_expr): Remove premature folding of |
| &X + CST to &MEM[&X, CST]. |
| |
| 2015-03-20 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed |
| already is final. |
| (ipa_inline): Recompute inline_failed codes. |
| * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE, |
| USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as |
| CIF_FINAL_ERROR. |
| |
| 2015-03-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/60851 |
| * recog.c (constrain_operands): Accept a pseudo register before reload |
| for LRA enabled targets. |
| |
| 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/65240 |
| * config/rs6000/predicates.md (easy_fp_constant): Remove special |
| -ffast-math handling that kept non-0 constants live in the RTL |
| until reload. Remove logic testing the number of instructions it |
| took to create a constant in a GPR that was never used, due to a |
| test for soft-float earlier. |
| (memory_fp_constant): Delete, no longer used. |
| |
| * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove |
| alternatives for loading non-0 constants into GPRs for hard |
| floating point that is no longer needed due to changes in |
| easy_fp_constant. Add support for loading 0.0 into GPRs. |
| (mov<mode>_hardfloat32): Likewise. |
| (mov<mode>_hardfloat64): Likewise. |
| (mov<mode>_64bit_dm): Likewise. |
| (movtd_64bit_nodm): Likewise. |
| (pre-reload move FP constant define_split): Delete define_split, |
| since it is no longer used. |
| (extenddftf2_internal): Remove GHF constraints that are not valid |
| for extenddftf2. |
| |
| 2015-03-19 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/63491 |
| * lra-constraints.c (check_and_process_move): Use src instead of |
| sreg. Remove some dead code. |
| |
| 2015-03-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65380 |
| * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols. |
| (sem_variable::merge): Likewise. |
| |
| 2015-03-19 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/65465 |
| * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset |
| all fields of cgraph_thunk_info. |
| |
| 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa-chkp.c (chkp_maybe_create_clone): Don't try to |
| clone instrumented thunks. |
| |
| 2015-03-19 Richard Biener <rguenther@suse.de> |
| |
| Revert |
| 2015-03-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/63155 |
| * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare. |
| * tree-ssa-coalesce.c: Include timevar.h. |
| (attempt_coalesce): Handle graph being NULL. |
| (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING. |
| Split out abnormal coalescing to ... |
| (perform_abnormal_coalescing): ... this function. |
| (coalesce_ssa_name): Perform abnormal coalescing without computing |
| live/conflict. |
| (verify_ssa_coalescing_worker): New function. |
| (verify_ssa_coalescing): Likewise. |
| |
| 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/65400 |
| * tsan.c (instrument_gimple): Clear tail call flag on |
| calls. |
| |
| 2015-03-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/65400 |
| * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal |
| call in the return bb. |
| (find_split_points): Add RETURN_BB argument, don't call |
| find_return_bb. |
| (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument, |
| if true append TSAN_FUNC_EXIT internal call after the call to |
| the split off function. |
| (execute_split_functions): Call find_return_bb here. |
| Don't optimize if TSAN_FUNC_EXIT is found in unexpected places. |
| Adjust find_split_points and split_function calls. |
| |
| 2015-03-18 DJ Delorie <dj@redhat.com> |
| |
| * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands. |
| (iorqi3_virt): Likewise. |
| |
| 2015-03-18 Tom de Vries <tom@codesourcery.com> |
| |
| * tree-parloops.c (parallelize_loops): Make static. |
| * tree-parloops.h (parallelize_loops): Remove extern declaration. |
| |
| 2015-03-18 Andrew Stubbs <ams@codesourcery.com> |
| |
| PR middle-end/64491 |
| Revert: |
| 2014-11-20 Andrew Stubbs <ams@codesourcery.com> |
| |
| * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop |
| condition would be removed due to undefined behaviour. |
| |
| 2015-03-18 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/65432 |
| * cgraph.c (cgraph_node::get_create): Remove unnecessary |
| xstrdup_for_dump wrapper. |
| * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of |
| sem_item::name. |
| (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name |
| with xstrdup_for_dump. |
| (sem_variable::equals): Likewise. |
| (sem_item_optimizer::read_section): Use symtab_node::name instead of |
| sem_item::name. |
| (sem_item_optimizer::parse_funcs_and_vars): Likewise. |
| (sem_item_optimizer::merge_classes): Wrap symtab_node::name and |
| symtab_node::asm_name with xstrdup_for_dump. |
| (congruence_class::dump): Use symtab_node::name instead of |
| sem_item::name. |
| * ipa-icf.h (symtab_node::name): Remove. |
| (symtab_node::asm_name): Likewise. |
| |
| 2015-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65450 |
| * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New |
| function. |
| (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use |
| it instead of duplicate_ssa_name_ptr_info. |
| |
| PR target/65222 |
| * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type. |
| |
| 2015-03-18 Richard Biener <rguenther@suse.de> |
| |
| * tree-data-ref.h (struct access_matrix): Remove. |
| (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX, |
| AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS, |
| AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise. |
| (am_vector_index_for_loop): Likewise. |
| (struct data_reference): Remove access_matrix member. |
| (DR_ACCESS_MATRIX): Remove. |
| (lambda_vector_new): Add comment. |
| (lambda_matrix_new): Use XOBNEWVEC. |
| |
| 2015-03-18 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg. |
| (pass_ch::execute): Cleanup the CFG only if we did sth. |
| * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg. |
| |
| 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * expmed.c (synth_mult): Use std::swap instead of manually |
| swapping algorithms. |
| |
| 2015-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65078 |
| * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New. |
| |
| 2015-03-16 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/65296 |
| * config/avr/avr.opt (-nodevicelib): New option. |
| * doc/invoke.texi (AVR Options): Document it. |
| * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link |
| libgcc.a, libc.a, libm.a. |
| * config/avr/specs.h: Same. |
| * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs |
| which don't (directly) depend on the device. Print more help. |
| (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a. |
| (*cpp): Don't define __AVR_DEV_LIB_NAME__. |
| * config/avr/driver-avr.c: Remove -nodevicelib from option list in |
| case of an error. |
| (avr_devicespecs_file): Use suffix "%s" instead of absolute path |
| for specs file name. |
| * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove. |
| * config/avr/avr-mcus.def: Adjust initializers and comments. |
| |
| 2015-03-16 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-sra.c (ipa_sra_preliminary_function_checks): Use |
| DECL_ONE_ONLY to check if decl is one only. |
| * ipa-split.c (consider_split): Limit splitt of one only functions. |
| |
| 2015-03-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65427 |
| * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New |
| functions. |
| (expand_vector_operations_1): Handle BLKmode vector COND_EXPR. |
| |
| 2015-03-16 Marek Polacek <polacek@redhat.com> |
| |
| * cgraph.h (add_new_static_var): Remove declaration. |
| * varpool.c (add_new_static_var): Remove function. |
| |
| 2015-03-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-low.c (expand_omp_target): Use auto_vec<tree, 11> |
| instead of vec<tree> * with vec_alloc and release for args. |
| Adjust all users. |
| |
| PR middle-end/65431 |
| * omp-low.c (delete_omp_context): Only splay_tree_delete |
| reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded |
| is_gimple_omp_oacc contexts. Don't look at ctx->outer. |
| |
| 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com> |
| |
| PR sanitizer/64820 |
| * cfgexpand.c (align_base): New function. |
| (alloc_stack_frame_space): Call it. |
| (expand_stack_vars): Align prev_frame to be sure |
| data->asan_vec elements aligned properly. |
| |
| 2015-03-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/65409 |
| * expr.c (store_field): Do not do a direct block copy if the source is |
| a PARALLEL with BLKmode. |
| |
| 2015-03-16 Tom de Vries <tom@codesourcery.com> |
| |
| PR middle-end/65414 |
| Revert: |
| 2015-03-12 Tom de Vries <tom@codesourcery.com> |
| |
| PR rtl-optimization/64895 |
| * lra-lives.c (check_pseudos_live_through_calls): Use |
| actual_call_used_reg_set instead of call_used_reg_set, if available. |
| |
| 2015-03-16 Alan Modra <amodra@gmail.com> |
| |
| PR target/63150 |
| * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg. |
| Modify Z->r bswapdi splitter to use dest in place of scratch. |
| In r->Z and Z->r bswapdi splitter rename word_high, word_low |
| to word1, word2 and rearrange logic to suit. |
| (bswapdi2_64bit): Remove early clobber on Z->r alternative. |
| (bswapdi2_ldbrx): Likewise. Remove '??' on r->r. |
| (bswapdi2_32bit): Remove early clobber on Z->r alternative. |
| Add one '?' on r->r. Modify Z->r splitter to avoid need for |
| early clobber. |
| |
| 2015-03-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65369 |
| * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>: |
| Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of |
| (vs - 1) * TYPE_SIZE_UNIT (elem_type). |
| |
| PR tree-optimization/65418 |
| * tree-ssa-reassoc.c (extract_bit_test_mask): If there |
| are casts in the first PLUS_EXPR operand, ensure tbias and |
| *totallowp are in the inner type. |
| |
| PR rtl-optimization/65401 |
| * combine.c (rtx_equal_for_field_assignment_p): Add widen_x |
| argument. If true, adjust_address_nv of x with big-endian |
| correction for the mode widening to GET_MODE (y). |
| (make_field_assignment): Don't do MEM mode widening here. |
| Use MEM_P instead of GET_CODE == MEM. |
| |
| 2015-03-13 Ilya Verbin <ilya.verbin@intel.com> |
| |
| * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for |
| the external decls. |
| |
| 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/64600 |
| * config/arm/arm.c (arm_gen_constant, AND case): Use |
| ARM_SIGN_EXTEND when constructing AND mask. |
| |
| 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * graph.c (print_graph_cfg): Make function names visible and append |
| parenthesis to it. Also make groups of basic blocks belonging to the |
| same function visible. |
| |
| 2015-03-12 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/44563 |
| * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards |
| to avoid quadratic behavior with inline expansion splitting blocks. |
| * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block |
| with the successor if the predecessor will be merged with it. |
| * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the |
| entry block with its successor. |
| |
| 2015-03-13 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/44563 |
| * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove. |
| (cleanup_tree_cfg_1): Do not call it. |
| (execute_cleanup_cfg_post_optimizing): Fixup the CFG here. |
| (fixup_noreturn_call): Mark the stmt as control altering. |
| * tree-cfg.c (execute_fixup_cfg): Do not dump the function |
| here. |
| (pass_data_fixup_cfg): Produce a dump file. |
| * tree-ssa-dom.c: Include tree-cfgcleanup.h. |
| (need_noreturn_fixup): New global. |
| (pass_dominator::execute): Fixup queued noreturn calls. |
| (optimize_stmt): Queue calls that became noreturn for fixup. |
| * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise. |
| * tree-ssa-pre.c: Include tree-cfgcleanup.h. |
| (el_to_fixup): New global. |
| (eliminate_dom_walker::before_dom_childre): Queue calls that |
| became noreturn for fixup. |
| (eliminate): Fixup queued noreturn calls. |
| * tree-ssa-propagate.c: Include tree-cfgcleanup.h. |
| (substitute_and_fold_dom_walker): New member stmts_to_fixup. |
| (substitute_and_fold_dom_walker::before_dom_children): Queue |
| alls that became noreturn for fixup. |
| (substitute_and_fold): Fixup queued noreturn calls. |
| |
| 2015-03-12 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P |
| and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they |
| are building; for methods check ODR type of class they belong to if |
| they may lead to a polymorphic call. |
| (sem_function::compare_polymorphic_p): Be bit smarter about testing |
| when function may lead to a polymorphic call. |
| (sem_function::compare_type_list): Remove. |
| (sem_variable::equals): Update use of compatible_types_p. |
| (sem_variable::parse_tree_refs): Remove. |
| (sem_item_optimizer::filter_removed_items): Do not filter out CXX |
| cdtor. |
| * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic |
| matching here. |
| (func_checker::compatible_polymorphic_types_p): Break out from ... |
| (unc_checker::compatible_types_p): ... here. |
| * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p): |
| Declare. |
| (unc_checker::compatible_types_p): Update. |
| * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections): |
| Remove. |
| |
| 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/65235 |
| * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case): |
| When first element of vec_concat is const_int, calculate its size |
| using second element. |
| |
| 2015-03-12 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/65270 |
| * fold-const.c (operand_equal_p): Fix ordering of resetting |
| OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case. |
| |
| 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_reorg): Move code to output nops after label |
| to s390_reorg (). |
| (s390_asm_output_function_label): Likewise. |
| * config/s390/s390.c (s390_asm_output_function_label): |
| Fix function label alignment with -mhtopatch. |
| * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE, |
| UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE |
| ("nop_2_byte"): New define_insn. |
| ("nop_4_byte"): Likewise. |
| ("nop_6_byte"): Likewise. |
| * doc/extend.texi (hotpatch): hotpatch attribute doc fixes. |
| * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes. |
| |
| 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/65103 |
| * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC |
| register. |
| |
| 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/65044 |
| * toplev.c (process_options): Restrict Pointer Bounds Checker |
| usage with Address Sanitizer. |
| |
| 2015-03-12 Richard Biener <rguenther@suse.de> |
| |
| * tree-cfg.c (gimple_split_block): Remove loop finding stmt |
| to split on. |
| * omp-low.c (expand_omp_taskreg): Split block before removing |
| the stmt. |
| (expand_omp_target): Likewise. |
| * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it. |
| * tree-parloops.c (create_call_for_reduction_1): Pass a proper |
| stmt to split_block. |
| |
| 2015-03-12 Tom de Vries <tom@codesourcery.com> |
| |
| PR rtl-optimization/64895 |
| * lra-lives.c (check_pseudos_live_through_calls): Use |
| actual_call_used_reg_set instead of call_used_reg_set, if available. |
| |
| 2015-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.c (cgraph_node::release_body): Free function_in_decl_state. |
| (cgraph_node::remove): Likewise. |
| (cgraph_node::get_untransformed_body): Likewise. |
| * varpool.c (varpool_node::remove): Likewise. |
| (varpool_node::get_constructor): Add sanity check. |
| |
| 2015-03-11 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (-fgnu89-inline): Remove discussion about |
| old GCC versions. |
| (-fabi-compat-version): Likewise. |
| (-ffriend-injection): Likewise. |
| (-Wdeclaration-after-statement): Likewise. |
| (-fomit-frame-pointer): Likewise. |
| (-ftree-coalesce-inlined-vars): Likewise. |
| (-fvisibility=): Likewise. |
| * doc/extend.texi (Typeof): Likewise. |
| (Zero Length): Likewise. |
| (Escaped Newlines): Likewise. |
| (Compound Literals): Likewise. |
| (Function Attributes): Likewise. |
| (Label Attributes): Likewise. |
| (Type Attributes): Likewise. |
| (Function Names): Likewise. |
| (Other Builtins): Likewise. |
| (Function Specific Option Pragmas): Likewise. |
| (C++ Interface): Likewise. |
| |
| 2015-03-11 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc". |
| |
| 2015-03-11 Marek Polacek <polacek@redhat.com> |
| |
| PR tree-optimization/65388 |
| * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison. |
| |
| 2015-03-10 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/65296 |
| * configure.ac [avr]: Check as for options -mrmw, --mlink-relax. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| * doc/invoke.texi (AVR Options) [-mrmw]: Document it. |
| [-mn-flash]: Document it. |
| [__AVR_ARCH__]: Document avrtiny. |
| |
| * config/avr/gen-avr-mmcu-specs.c (config.h): Include it. |
| (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION. |
| (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION. |
| |
| 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * doc/invoke.texi: Add missing cpu values (z196, zEC12). |
| |
| 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/65242 |
| * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not |
| allow reloads of PLUS in floating point/VSX registers. |
| |
| 2015-03-11 Junmo Park <junmoz.park@samsung.com> |
| |
| * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add |
| crypto_sha256_fast. |
| (cortex_a57_crypto_complex): Add crypto_sha256_slow. |
| |
| 2015-03-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/65310 |
| * tree-sra.c (build_ref_for_offset): Also preserve larger |
| alignment. |
| |
| 2015-03-11 Marat Zakirov <m.zakirov@samsung.com> |
| |
| * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0. |
| |
| 2015-03-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65368 |
| * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn, |
| new define_expand. |
| (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns. |
| |
| 2015-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ... |
| (sem_function::equals_wpa): ... here. |
| |
| 2015-03-10 Marek Polacek <polacek@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/65367 |
| * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG |
| when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE |
| separately. |
| |
| 2015-03-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65286 |
| * config/rs6000/t-linux: For powerpc64* target set |
| MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME. |
| |
| 2015-03-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/44563 |
| * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit |
| for redirect_all_calls. |
| |
| 2015-03-10 Marek Polacek <polacek@redhat.com> |
| |
| * gdbinit.in (pcfun): Define and document. |
| |
| 2015-03-10 Ilya Verbin <ilya.verbin@intel.com> |
| |
| * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead |
| of libgomp-plugin.h. |
| (find_target_compiler): Support a case when the path to gcc is |
| specified in the PATH env var, so COLLECT_GCC doesn't contain a path. |
| (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from |
| intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from |
| libgomp-plugin.h. |
| (main): Use GCC_INSTALL_NAME as target_driver_name. |
| * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME |
| define. |
| (mkoffload.o): Remove obsolete include path and defines. |
| (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER). |
| |
| 2015-03-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/63155 |
| * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare. |
| * tree-ssa-coalesce.c: Include timevar.h. |
| (attempt_coalesce): Handle graph being NULL. |
| (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING. |
| Split out abnormal coalescing to ... |
| (perform_abnormal_coalescing): ... this function. |
| (coalesce_ssa_name): Perform abnormal coalescing without computing |
| live/conflict. |
| (verify_ssa_coalescing_worker): New function. |
| (verify_ssa_coalescing): Likewise. |
| |
| 2015-03-10 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/65296 |
| * config.gcc (extra_options) [avr]: Remove. |
| (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o. |
| (tm_file) [avr]: Add avr/specs.h after avr/avr.h. |
| (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS. |
| |
| * config/avr/avr.opt (config/avr/avr-arch.h): Remove include. |
| (-mmcu=): Add Var and MissingArgError properties. |
| (-march=): Remove. |
| * config/avr/genmultilib.awk: Use -mmcu= instead of -march=. |
| * config/avr/t-multilib: Regenerate. |
| * config/avr/specs.h: New file. |
| * config/avr/driver-avr.c: New file. |
| * config/avr/genopt.sh: Remove file. |
| * config/avr/avr-tables.opt: Remove file. |
| * config/avr/predicates.md (avr_current_arch): Rename to avr_arch. |
| * config/avr/avr-c.c: Same. |
| * avr-arch.h: Same. |
| (avr_current_device): Remove proto. |
| * config/avr/avr.h (avr_current_arch): Rename to avr_arch. |
| (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device. |
| (EXTRA_SPEC_FUNCTIONS): Define. |
| (avr_devicespecs_file): New specs function proto. |
| (DRIVER_SELF_SPECS): Use device-specs-file spec function. |
| * config/avr/avr.c (avr_current_arch): Rename to avr_arch. |
| (avr_current_device): Remove definition and usage. |
| (avr_set_core_architecture): New static function. |
| (avr_option_override): Use it. |
| * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them. |
| (mcu_name): New static array. |
| (comparator, avr_archs_str, avr_mcus_str): New static functions. |
| (avr_inform_devices, avr_inform_core_architectures): New functions. |
| * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include. |
| (avrlibc.h) [WITH_AVRLIBC]: Include. |
| (../rtems.h, rtems.h) [WITH_RTEMS]: Include. |
| (print_mcu): Rewrite from scratch. |
| * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC): |
| Forward to avr-specific specs defined in device-specs file. |
| * config/avr/t-avr (driver-avr.o): New rule. |
| (avr-devices.o): Depend on avr-arch.h. |
| (avr-mcus): No more depend on avr-tables.opt. |
| (avr-tables.opt): Remove rule. |
| (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM. |
| |
| 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * c-family/c.opt (fchkp-use-wrappers): New. |
| * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New. |
| (chkp_wrap_function): New. |
| (chkp_build_instrumented_fndecl): Support wrapped |
| functions. |
| * doc/invoke.texi (-fcheck-pointer-bounds): New. |
| (-fchkp-check-incomplete-type): New. |
| (-fchkp-first-field-has-own-bounds): New. |
| (-fchkp-narrow-bounds): New. |
| (-fchkp-narrow-to-innermost-array): New. |
| (-fchkp-optimize): New. |
| (-fchkp-use-fast-string-functions): New. |
| (-fchkp-use-nochk-string-functions): New. |
| (-fchkp-use-static-bounds): New. |
| (-fchkp-use-static-const-bounds): New. |
| (-fchkp-treat-zero-dynamic-size-as-infinite): New. |
| (-fchkp-check-read): New. |
| (-fchkp-check-write): New. |
| (-fchkp-store-bounds): New. |
| (-fchkp-instrument-calls): New. |
| (-fchkp-instrument-marked-only): New. |
| (-fchkp-use-wrappers): New. |
| (-static-libmpx): New. |
| (-static-libmpxwrappers): New. |
| |
| 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New. |
| (CHKP_SPEC): Add wrappers library. |
| * c-family/c.opt (static-libmpxwrappers): New. |
| |
| 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * config/i386/linux-common.h (LIBMPX_LIBS): New. |
| (LIBMPX_SPEC): New. |
| (CHKP_SPEC): New. |
| * gcc.c (CHKP_SPEC): New. |
| (LINK_COMMAND_SPEC): Add CHKP_SPEC. |
| * c-family/c.opt (static-libmpx): New. |
| |
| 2015-03-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/44563 |
| * cgraph.h (struct cgraph_edge_hasher): Add hash overload |
| for compare_type. |
| * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer. |
| (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash. |
| (cgraph_add_edge_to_call_site_hash): Likewise. |
| (cgraph_node::get_edge): Likewise. |
| (cgraph_edge::set_call_stmt): Likewise. |
| (cgraph_edge::remove_caller): Likewise. |
| |
| 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h (callee_saved_regs_size): Rename to ... |
| (callee_saved_gpr_regs_size): ... this. |
| (callee_saved_regs_first_regno): Rename to ... |
| (callee_saved_first_gpr_regno): ... this. |
| (callee_saved_regs_last_regno) Rename to ... |
| (callee_saved_last_gpr_regno): ... this. |
| * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed |
| variables. |
| (nds32_initial_elimination_offset): Likewise. |
| (nds32_expand_prologue): Likewise. |
| (nds32_expand_epilogue): Likewise. |
| (nds32_expand_prologue_v3push): Likewise. |
| (nds32_expand_epilogue_v3pop): Likewise. |
| * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push): |
| Adjust renamed variables. |
| (nds32_output_stack_pop): Likewise. |
| |
| 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B |
| code in comment. |
| |
| 2015-03-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/65321 |
| * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider |
| than shift mode. |
| * var-tracking.c (use_narrower_mode): Likewise. |
| |
| 2015-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR tree-optimization/65355 |
| * varasm.c (notice_global_symbol): Do not produce RTL. |
| * symtab.c (symtab_node::can_increase_alignment_p): Check for section |
| anchor. |
| * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not |
| check for section anchors. |
| |
| 2015-03-10 Alan Modra <amodra@gmail.com> |
| |
| PR target/65286 |
| * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux |
| to be single-arch by default. Set cpu_is_64bit for powerpc64 |
| given --with-cpu=native. |
| * config/rs6000/t-fprules: Do not set default MULTILIB vars. |
| * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64 |
| and powerpc64le. |
| * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test |
| rs6000_isa_flags rather than TARGET_64BIT. |
| |
| 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp> |
| Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases. |
| |
| 2015-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/65361 |
| * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT |
| on a TREE_BINFO, instead use BINFO_TYPE. |
| |
| 2015-03-09 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/65270 |
| * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF. |
| * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs |
| operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases |
| of that. When comparing dereferences compare alignment. |
| When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info. |
| |
| 2015-03-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline-analysis.c (check_callers): Check |
| node->can_remove_if_no_direct_calls_and_refs_p. |
| (growth_likely_positive): Reorganize to call |
| can_remove_if_no_direct_calls_p later. |
| * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p, |
| will_be_removed_from_program_if_no_direct_calls_p): Add |
| will_inline parameter. |
| * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p, |
| cgraph_node::will_be_removed_from_program_if_no_direct_calls_p): |
| Handle inliner case correctly. |
| |
| 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/63743 |
| * cfgexpand.c (reorder_operands): Also reorder if only second operand |
| had its definition forwarded by TER. |
| |
| 2015-03-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/65316 |
| * ipa-utils.h (types_odr_comparable): Add strict argument. |
| * ipa-devirt.c: Fix whitespace; |
| (odr_hasher): Remove. |
| (odr_name_hasher, odr_vtable_hasher): New hashers. |
| (can_be_name_hashed_p): New predicate. |
| (hash_type_name): remove. |
| (hash_odr_name): New. |
| (odr_name_hasher::hash): new. |
| (can_be_vtable_hashed_p): New. |
| (hash_odr_vtable): New. |
| (odr_vtable_hasher::hash): New. |
| (types_same_for_odr): Add strict parameter. |
| (types_odr_comparable): Likewise. |
| (odr_name_hasher::equal): New. |
| (odr_vtable_hasher::equal): New. |
| (odr_name_hasher::remove): New. |
| (odr_hash_type): Change to hash_table<odr_name_hasher>. |
| (odr_vtable_hash_type): New. |
| (odr_vtable_hash): New. |
| (odr_subtypes_equivalent_p): Do strict comparsion. |
| (add_type_duplicate): Merge type names; cleanup; avoid type |
| duplicates. |
| (register_odr_type): Initialize vtable hash. |
| (build_type_inheritance_graph): Likewise |
| (get_odr_type): Reorg to use two hashes. |
| (dump_possible_polymorphic_call_targets): Move sanity check after debug |
| output. |
| (ipa_devirt): Dump type_inheritance_graph. |
| (types_same_for_odr): Add strict mode. |
| |
| 2015-03-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65334 |
| * cgraph.h (symtab_node): Add definition_alignment, |
| can_increase_alignment_p and increase_alignment. |
| * symtab.c (symtab_node::can_increase_alignment_p, |
| increase_alignment_1, symtab_node::increase_alignment, |
| symtab_node::definition_alignment): New. |
| * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use |
| can_increase_alignment_p. |
| * tree-vectorizer.c (increase_alignment): Use increase_alignment. |
| * tree-vect-stmts.c (ensure_base_align): Likewise. |
| * varasm.c (function_section_1): Use definition_alignment. |
| (assemble_start_function): Likewise. |
| (emit_local): likewise. |
| (build_constant_desc): Likewsie. |
| (output_constant_def_contents): Likewise. |
| (place_block_symbol): Likewise. |
| (output_object_block): Likewise. |
| |
| 2015-03-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65316 |
| * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE |
| when outputting debug. |
| |
| 2015-03-07 Marek Polacek <polacek@redhat.com> |
| Martin Uecker <uecker@eecs.berkeley.edu> |
| |
| PR sanitizer/65280 |
| * doc/invoke.texi: Update description of -fsanitize=bounds. |
| |
| 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com> |
| |
| * tree-ssa-phiopt.c (neg_replacement): Remove. |
| (tree_ssa_phiopt_worker): Remove negate optimization. |
| |
| 2015-03-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65302 |
| * value-prof.c (gimple_ic): Pure dead eh edges when needed. |
| |
| 2015-03-06 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64928 |
| * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack |
| and liveout_obstack members. |
| (calculate_live_on_exit): Remove. |
| (calculate_live_ranges): Change declaration. |
| * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var. |
| (new_tree_live_info): Adjust. |
| (calculate_live_ranges): Delete livein when not wanted. |
| (calculate_live_ranges): Do not initialize liveness_bitmap_obstack. |
| Deal with partly deleted live info. |
| (loe_visit_block): Remove temporary bitmap by using |
| bitmap_ior_and_compl_into. |
| (live_worklist): Adjust accordingly. |
| (calculate_live_on_exit): Make static. |
| * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges |
| we do not need livein. |
| |
| 2015-03-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| * real.c (real_from_string): Fix typo in assertion. |
| |
| 2015-03-06 Alex Velenko <alex.velenko@arm.com> |
| |
| * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of |
| the patch. |
| |
| 2015-03-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags. |
| |
| 2015-03-05 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/64342 |
| * lra-assigns.c (find_hard_regno_for): Rename to |
| find_hard_regno_for_1. Add a new parameter. |
| (find_hard_regno_for): New function using find_hard_regno_for_1. |
| |
| 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR rtl-optimization/65067 |
| * expmed.c (store_bit_field, extract_bit_field): Reworked the |
| strict volatile bitfield handling. |
| |
| 2015-03-05 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/65318 |
| * ipa-icf.c (sem_variable::equals): Compare variables types. |
| |
| 2015-03-05 Richard Henderson <rth@redhat.com> |
| |
| PR target/65121 |
| * config/arm/arm.c (arm_function_in_section_p): Fix predicate to |
| correctly check weak symbol binding. |
| |
| 2015-03-05 Steve Ellcey <sellcey@imgtec.com> |
| |
| PR middle-end/65315 |
| * cfgexpand.c (expand_stack_vars): Update large_align to maximum |
| needed alignment. |
| |
| 2015-03-05 Martin Liska <mliska@suse.cz> |
| |
| * ipa-inline.c (inline_small_functions): Set default value to |
| prevent warning during bootstrap. |
| * tree.h: Add pragma guard that ignores false positives during |
| bootstrap. |
| |
| 2015-03-05 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/65310 |
| * tree-vect-data-refs.c (vect_compute_data_ref_alignment): |
| Properly preserve alignment of the base of the access. |
| |
| 2015-03-05 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/65270 |
| * ipa-icf-gimple.c (func_checker::compare_memory_operand): |
| Compare dependence info. |
| |
| 2015-03-05 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/65233 |
| * ipa-polymorphic-call.c: Include tree-ssa-operands.h and |
| tree-into-ssa.h. |
| (walk_ssa_copies): Revert last chage. Instead do not walk |
| SSA names registered for SSA update. |
| |
| 2015-03-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65270 |
| * ipa-icf.c (sem_item::compare_cgraph_references): Compare |
| vtable references for their containing type. |
| (sem_function::equals_wpa): Compare TYPE_RESTRICT |
| and type attributes. |
| |
| 2015-03-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fold-const.c (round_up_loc): Cast divisor to signed on all paths |
| before negating it. |
| * stor-layout.c (finalize_record_size): Revert latest change. |
| |
| 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs. |
| |
| 2015-03-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite |
| for correct comdat handling. |
| (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p): |
| Likewise. |
| * cgraph.h (call_for_symbol_and_aliases): Fix formating. |
| (used_from_object_file_p_worker): Remove. |
| (cgraph_node::only_called_directly_or_alised): Add |
| used_from_object_file_p. |
| * ipa-inline-analysis.c (growth_likely_positive): Optimie. |
| * ipa-inline-transform.c (can_remove_node_now_p_1): Use |
| can_remove_if_no_direct_calls_and_refs_p. |
| |
| 2015-03-04 Nick Clifton <nickc@redhat.com> |
| |
| * config/rl78/rl78.h (enum reg_class): Remove real registers from |
| General register class. |
| * config/rl78/rl78-real.md: Replace general register constraints |
| with real+virtual register constraints. |
| |
| 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins |
| from checking for -mhtm option. |
| |
| 2015-03-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases. |
| (struct ipa_sra_check_caller_data): Add has_thunk field. |
| (ipa_sra_check_caller): Check for thunk. |
| (ipa_sra_preliminary_function_checks): Give up on function with |
| thunks. |
| (ipa_early_sra): Use call_for_symbol_and_aliases. |
| |
| 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/65249 |
| * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when |
| called for __stack_chk_guard symbol. |
| |
| 2015-03-03 DJ Delorie <dj@redhat.com> |
| |
| * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for |
| inc/dec. |
| (*addhi3_real): Likewise. |
| * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional |
| pattern to match incrementing memory. |
| * config/rl78/predicates.md (rl78_1_2_operand): New. |
| * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if |
| it's the same and only mem. |
| (rl78_alloc_physical_registers_op2): If there's effectively only |
| one MEM, transcode it into HL. |
| (rl78_far_p): Reject addresses that aren't legitimate. |
| |
| 2015-03-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before |
| negating it. |
| |
| * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message. |
| |
| 2015-03-03 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Implement call0 ABI for xtensa |
| * config/xtensa/constraints.md ("a" constraint): Include stack |
| pointer in case of call0 ABI. |
| ("q" constraint): Make empty in case of call0 ABI. |
| ("D" constraint): Include stack pointer in case of call0 ABI. |
| * config/xtensa/xtensa-protos.h (xtensa_set_return_address, |
| xtensa_expand_epilogue, xtensa_regno_to_class): Add new function |
| prototypes. |
| * config/xtensa/xtensa.c (xtensa_callee_save_size): New |
| variable. |
| (xtensa_regno_to_class): Make it a local variable in the |
| function xtensa_regno_to_class. |
| (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove |
| macro, function prototype and implementation. |
| (reg_nonleaf_alloc_order): Make it a local variable in the |
| function order_regs_for_local_alloc. |
| (xtensa_conditional_register_usage): New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro. |
| (xtensa_valid_move): Allow direct moves to stack pointer |
| register in call0 ABI. |
| (xtensa_setup_frame_addresses): Only spill register windows in |
| windowed ABI. |
| (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and |
| call0 ABI respectively. |
| (xtensa_function_arg_1): Only mark a7 register for copying in |
| windowed ABI. |
| (xtensa_call_save_reg): New function. |
| (compute_frame_size): Add space for callee saved register |
| storage to the frame size in call0 ABI. |
| (xtensa_expand_prologue): Generate code to set up stack frame |
| and save callee-saved registers in call0 ABI. |
| (xtensa_expand_epilogue): New function. |
| (xtensa_set_return_address): New function. |
| (xtensa_return_addr): Calculate return address in call0 ABI. |
| (xtensa_builtin_saveregs): Only mark a7 register for copying and |
| emit copying code in windowed ABI. |
| (order_regs_for_local_alloc): Add preferred register allocation |
| order for non-leaf function in call0 ABI. |
| (xtensa_static_chain): Add atatic chain passing for call0 ABI. |
| (xtensa_asm_trampoline_template): Add trampoline generation for |
| call0 ABI. |
| (xtensa_trampoline_init): Add trampoline initialization for |
| call0 ABI. |
| (xtensa_conditional_register_usage, xtensa_regno_to_class): New |
| functions. |
| * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro. |
| (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI. |
| (CALL_USED_REGISTERS): Modify to encode both windowed and call0 |
| ABI call-used registers. |
| (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI. |
| (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in |
| call0 ABI. |
| (REG_CLASS_CONTENTS): Include all registers into the preferred |
| reload registers set, adjust the set in the |
| xtensa_conditional_register_usage. |
| (xtensa_regno_to_class): Drop variable declaration. |
| (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class |
| function. |
| (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI |
| respectively. |
| (FUNCTION_PROFILER): Add _mcount call for call0 ABI. |
| (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI. |
| (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI. |
| (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool |
| location in call0 ABI. |
| (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing |
| stack adjustment size when handling exception. |
| (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI. |
| * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New |
| definitions. |
| ("return" pattern): Generate ret.n/ret in call0 ABI. |
| ("epilogue" pattern): Expand epilogue. |
| ("nonlocal_goto" pattern): Use default in call0 ABI. |
| ("eh_return" pattern): Move implementation to eh_set_a0_windowed, |
| emit eh_set_a0_* depending on ABI. |
| ("eh_set_a0_windowed" pattern): Former eh_return pattern. |
| ("eh_set_a0_call0", "blockage"): New patterns. |
| |
| 2015-03-03 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/65287 |
| * ipa-icf.c (sem_variable::parse): Skip all alias variables. |
| |
| 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR 65138/target |
| * config/rs6000/rs6000-tables.opt: Regenerate table. |
| |
| 2015-03-03 Renlin Li <renlin.li@arm.com> |
| |
| * doc/md.texi (@item ^): Change ? into ^. |
| |
| 2015-03-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * doc/tm.texi: Regenerated. |
| |
| 2015-03-03 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * builtins.c (expand_builtin_return_addr): Add |
| RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove |
| surrounding #ifdef. |
| * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change |
| definition to 1. |
| * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME): |
| Likewise. |
| * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if |
| undefined. |
| * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update |
| paragraph. |
| |
| 2015-03-03 Martin Jambor <mjambor@suse.cz> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-sra.c (ipa_sra_check_caller_data): New type. |
| (has_caller_p): Removed. |
| (ipa_sra_check_caller): New function. |
| (ipa_sra_preliminary_function_checks): Use it. |
| |
| 2015-03-03 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or |
| instead of if branch. |
| |
| 2015-03-03 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/65282 |
| * ipa-icf.c (sem_variable::equals): Fix wrong condition. |
| |
| 2015-03-23 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/65241 |
| * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr |
| hash table if INSERT is true. |
| |
| 2015-03-03 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/65296 |
| * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove. |
| |
| 2015-03-03 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/64331 |
| * config/avr/avr.c (context.h, tree-pass.h): Include them. |
| (avr_pass_data_recompute_notes): New static variable. |
| (avr_pass_recompute_notes): New class. |
| (avr_register_passes): New static function. |
| (avr_option_override): Call it. |
| |
| 2015-03-03 Georg-Johann Lay <avr@gjlay.de> |
| |
| Fix various problems with specs file generation. |
| |
| PR target/65296 |
| * config.gcc (extra_gcc_objs) [avr]: Remove. |
| * config/avr/driver-avr.c: Remove file. |
| * config/avr/t-avr (driver-avr.o): Remove rule. |
| (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and |
| INCLUDES to build. Depend on TM_H. |
| * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various |
| build warnings. Fix non-matching types and non-existing %-codes. |
| (tm.h): Include. |
| (*lib) [!WITH_AVRLIBC]: Don't link libdev.a. |
| (*libgcc) [WITH_AVRLIBC]: Add "-lm". |
| * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition. |
| * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=. |
| (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC) |
| (LIBGCC_SPEC): Remove definitions. |
| |
| 2015-03-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG |
| to create a register in testing mode. |
| |
| 2015-03-03 Martin Liska <mliska@suse.cz> |
| Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65263 |
| * cgraph.c (cgraph_node::has_thunk_p): New function. |
| * cgraph.h (cgraph_node::has_thunk_p: Likewise. |
| * ipa-icf.c (redirect_all_callers): Do not redirect thunks. |
| (sem_function::merge): Assert is changed. |
| |
| 2015-03-03 Martin Liska <mliska@suse.cz> |
| Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/65087 |
| * ipa-icf.c (sem_item_optimizer::execute): Change function |
| return value to boolean. |
| (sem_item_optimizer::merge_classes): Likewise. |
| (ipa_icf_driver): Return TODO_remove_functions in case there's |
| a merge operation processed. |
| * ipa-icf.h: Change function return value to boolean. |
| |
| 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR 65138/target |
| * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic |
| processor type for 64-bit little endian PowerPC. |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): If |
| -mdebug=reg, print TARGET_DEFAULT. Fix logic to use |
| TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg |
| printing built-in mask so it does not pass NULL pointers. |
| |
| * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document |
| -mcpu=powerpc64le. |
| |
| 2015-03-02 Steve Ellcey <sellcey@imgtec.com> |
| |
| PR target/58158 |
| * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to |
| !ISA_HAS_FP_CONDMOVE. |
| |
| 2015-03-02 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/i386/i386.md (*udivmod<mode>4_pow2): Remove |
| reload_completed. |
| |
| 2015-03-02 Ulrich Drepper <drepper@gmail.com> |
| |
| * doc/invoke.texi (Options for Code Generation Conventions): |
| Fix URL of DSO paper. |
| |
| 2015-03-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65130 |
| * ipa-inline.c (check_callers): Looks for recursion. |
| (inline_to_all_callers): Give up on uninlinable or recursive edges. |
| * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update |
| summary of inline clones. |
| (do_estimate_growth_1): Fix recursion check. |
| |
| 2015-03-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64988 |
| * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve |
| comdat groups. |
| |
| 2015-03-02 Jan Hubicka <hubicka@ucw.cz> |
| Aldy Hernandez <aldyh@redhat.com> |
| |
| PR lto/65276 |
| * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert |
| when checking TYPE_BINFO. |
| |
| 2015-03-02 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/65270 |
| * ipa-icf-gimple.c: Include builtins.h. |
| (func_checker::compare_memory_operand): Compare base alignment. |
| |
| 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/65184 |
| * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds |
| are never passed by reference. |
| |
| 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/65183 |
| * tree-chkp.c (chkp_check_lower): Don't check against |
| zero bounds for already instrumented functions. |
| (chkp_check_upper): Likewise. |
| (chkp_fini): Clean pass local data to avoid wrong reusage. |
| |
| 2015-02-28 Martin Liska <mliska@suse.cz> |
| Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf.c (sem_variable::equals): Improve debug output; |
| get variable constructor. |
| (sem_variable::parse): Do not filter out too early; give up on |
| volatile and register vars. |
| (sem_item_optimizer::filter_removed_items): Filter out nonreadonly |
| variables. |
| * ipa-icf.h (sem_variable::init): Do not set ctor. |
| (sem_variable::ctor): Remove. |
| |
| 2015-03-01 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/65233 |
| * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs. |
| |
| 2015-02-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf.c: Include stor-layout.h |
| (sem_function::compare_cgraph_references): Rename to ... |
| (sem_item::compare_cgraph_references): ... this one. |
| (sem_variable::equals_wpa): New function |
| (sem_variable::equals): Do not check stuff already verified by |
| equals_wpa. |
| (sem_variable::equals): Reorg based on varasm.c:compare_constant. |
| * ipa-icf.h (sem_item): Add compare_cgraph_references. |
| (sem_function): Remove compare_cgraph_references. |
| (sem_variable): Turns equals_wpa into non-inline. |
| |
| 2015-02-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT. |
| (sem_item::add_expr): New function. |
| (sem_function::hash_stmt): Handle operands of most statements. |
| (sem_variable::get_hash): Hash the actual constructor. |
| * ipa-icf.h (sem_item): Add add_expr. |
| (sem_function): Update prototype of hash_stmt |
| |
| 2015-02-28 Martin Liska <mliska@suse.cz> |
| Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65245 |
| * ipa-icf-gimple.c (func_checker::compare_function_decl): |
| Remove. |
| (func_checker::compare_variable_decl): Skip symtab vars. |
| (func_checker::compare_cst_or_decl): Update. |
| * ipa-icf.c (sem_function::parse): Do not consider aliases. |
| (sem_function::compare_cgraph_references): Add ADDRESS parameter; |
| use correct symtab predicates. |
| (sem_function::equals_wpa): Update uses of compare_cgraph_references. |
| (sem_variable::parse): Update comment. |
| (sem_item_optimizer::build_graph): Consider ultimate aliases |
| for references. |
| |
| 2015-02-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling |
| of OBJ_TYPE_REF. |
| |
| 2015-02-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf.c (sem_function::merge): Fix handling of COMDAT. |
| (sem_variable::merge) Likewise. |
| |
| 2015-02-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline |
| target; also match flag_ipa_devirt. |
| |
| 2015-03-01 Martin Liska <mliska@suse.cz> |
| Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf-gimple.c (func_checker::compare_variable_decl): |
| Validate variable alignment. |
| * ipa-icf.c (sem_function::equals_private): Be more precise |
| about non-common function attributes. |
| (sem_variable::equals): Likewise. |
| |
| 2015-02-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65237 |
| * ipa-icf.c (sem_function::merge): Do not attempt to produce alias |
| across COMDAT group boundary. |
| |
| 2015-02-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65232 |
| * ipa-icf.c (clear_decl_rtl): New function. |
| (sem_function::merge): Clear RTL before forming alias. |
| (sem_variable::merge): Clear RTL before forming alias. |
| |
| 2015-02-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65236 |
| * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt. |
| |
| 2015-02-28 Xingxing Pan <xxingpan@marvell.com> |
| |
| * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type |
| to neon_to_gp<q>. |
| |
| 2015-02-27 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix |
| a typo in the description. |
| |
| 2015-02-27 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/64317 |
| * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. |
| * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. |
| * lra-constraints.c: Include "params.h". |
| (EBB_PROBABILITY_CUTOFF): Use |
| LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF. |
| (lra_inheritance): Use '<' instead of '<=' for |
| EBB_PROBABILITY_CUTOFF. |
| * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff): |
| Document change. |
| |
| 2015-02-27 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing |
| vector length condition. |
| |
| 2015-02-27 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (x86 transactional memory intrinsics): |
| Reorganize discussion of _xbegin. Clarify that the return |
| value is a bit mask. Expand example and move to end of section. |
| |
| 2015-02-26 Jakub Jelinek <jakub@redhat.com> |
| Aldy Hernandez <aldyh@redhat.com> |
| |
| PR rtl-optimization/65220 |
| * config/i386/i386.md (*udivmod<mode>4_pow2): New. |
| |
| 2015-02-27 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/65032 |
| * lra-remat.c (update_scratch_ops): New. |
| (do_remat): Call it. |
| * lra.c (lra_register_new_scratch_op): New. Take code from ... |
| (remove_scratches): ... here. |
| * lra-int.h (lra_register_new_scratch_op): New prototype. |
| |
| 2015-02-27 Marek Polacek <polacek@redhat.com> |
| |
| PR c/65040 |
| * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable |
| -Wformat-signedness anymore. |
| |
| 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New |
| function. |
| (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro. |
| |
| 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (enum s390_builtin): |
| Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC. |
| (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc. |
| (s390_init_builtins): Generate new builtin functions. |
| * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants. |
| (s390_sfpc, s390_efpc): New pattern definitions. |
| |
| 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin): |
| Rename S390_BUILTIN_max to S390_BUILTIN_MAX. |
| (s390_builtin_decls): New array. |
| (s390_init_builtins): Put builtin decls into s390_builtin_decls. |
| (s390_builtin_decl): New function. |
| (TARGET_BUILTIN_DECL): Define macro. |
| |
| 2015-02-27 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/63175 |
| * builtins.c (get_object_alignment_2): Make sure to re-apply |
| the ANDed mask after recursing to its operand gets us a new |
| misalignment bit position. |
| |
| 2015-02-26 Jan Hubicka <hubicka@ucw.cz> |
| Martin Liska <mliska@suse.cz> |
| |
| PR bootstrap/65150 |
| * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton): |
| Use address_matters_p. |
| (redirect_all_callers, set_addressable): New functions. |
| (sem_function::merge): Reorganize and fix merging issues. |
| (sem_variable::merge): Likewise. |
| (sem_variable::compare_sections): Remove. |
| * common.opt (fmerge-all-constants, fmerge-constants): Remove |
| Optimization flag. |
| * symtab.c (symtab_node::resolve_alias): When alias has aliases, |
| redirect them. |
| (symtab_node::make_decl_local): Set ADDRESSABLE bit when |
| decl is used. |
| (address_matters_1): New function. |
| (symtab_node::address_matters_p): New function. |
| * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix |
| check for merged flag. |
| * cgraph.h (address_matters_p): Declare. |
| (symtab_node::address_taken_from_non_vtable_p): Remove. |
| (symtab_node::address_can_be_compared_p): New method. |
| (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify. |
| * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p): |
| Remove. |
| (comdat_can_be_unshared_p_1) Use address_matters_p. |
| (update_vtable_references): Fix formating. |
| * ipa-ref.c (ipa_ref::address_matters_p): Move inline. |
| * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag. |
| * cgraphclones.c: Preserve merged and icf_merged flags. |
| |
| 2015-02-26 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Function Attributes): Fix spelling and typos. |
| (Label Attributes): Likewise. |
| (Cilk Plus Builtins): Likewise. |
| (ARC SIMD Built-in Functions): Likewise. |
| (ARM C Language Extensions (ACLE)): Likewise. |
| (PowerPC Built-in Functions): Likewise. |
| (PowerPC Hardware Transactional Memory Built-in Functions): |
| Likewise. |
| |
| 2015-02-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65216 |
| * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of |
| new stmt and new SSA_NAME for lhs whenever the arguments have |
| changed and weren't just swapped. Fix comment typo. |
| |
| PR tree-optimization/65215 |
| * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false |
| for PDP endian targets. |
| (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop): |
| Fix up formatting issues. |
| (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access |
| size is smaller than the original, adjust MEM_REF offset by the |
| difference of sizes. Use is_gimple_mem_ref_addr instead of |
| is_gimple_min_invariant test to avoid adding address temporaries. |
| |
| 2015-02-26 Martin Liska <mliska@suse.cz> |
| Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64693 |
| * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New. |
| (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function. |
| (sem_item_optimizer::process_cong_reduction): Include division by |
| sensitive references. |
| * ipa-icf.h (struct symbol_compare_hashmap_traits): New class. |
| * ipa-ref.c (ipa_ref::address_matters_p): New function. |
| * ipa-ref.h (ipa_ref::address_matters_p): Likewise. |
| |
| 2015-02-26 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/65192 |
| * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range): |
| Remove. |
| * config/avr/avr.c: Same. |
| (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>: |
| Refuse any constant address not in 0..0xbf. |
| * config/avr/avr.md (*mov<mode>, *movsf): Remove |
| tiny_valid_direct_memory_access_range from insn conditions. |
| (mov<mode>): Don't special-case expansion of avrtiny addresses. |
| |
| 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/61142 |
| * config/sh/sh.c (sh_check_add_incdec_notes): New function. |
| * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it. |
| * config/sh/predicates.md (const_logical_operand): New predicate. |
| * config/sh/sh.md: Add new peephole2 patterns. |
| |
| 2015-02-26 Marek Polacek <polacek@redhat.com> |
| |
| PR ipa/65008 |
| * ipa-inline.c (early_inliner): Recompute inline parameters. |
| |
| 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/65171 |
| * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure |
| instructions with TImode operands are included in the analysis. |
| |
| 2015-02-26 Sebastian Pop <s.pop@samsung.com> |
| |
| * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges |
| of an EDGE_FSM_THREAD. |
| |
| 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com> |
| |
| * config/rs6000/htm.md (tcheck): Fix assembly encoding. |
| |
| 2015-02-25 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR debug/46102 |
| * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups. |
| |
| 2015-02-26 Sebastian Pop <s.pop@samsung.com> |
| |
| PR tree-optimization/65048 |
| * tree-ssa-threadupdate.c (valid_jump_thread_path): New. |
| (thread_through_all_blocks): Call valid_jump_thread_path. |
| Remove invalid FSM jump-thread paths. |
| |
| 2015-02-26 Jakub Jelinek <jakub@redhat.com> |
| |
| * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table. |
| (ipa_write_optimization_summaries): Likewise. |
| * tree-streamer.h: Include data-streamer.h. |
| (streamer_mode_table): Declare extern variable. |
| (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions. |
| * lto-streamer-out.c (lto_output_init_mode_table, |
| lto_write_mode_table): New functions. |
| (produce_asm_for_decls): Call lto_write_mode_table when streaming |
| offloading LTO. |
| * lto-section-in.c (lto_section_name): Add "mode_table" entry. |
| (lto_create_simple_input_block): Add mode_table argument to the |
| lto_input_block constructors. |
| * ipa-prop.c (ipa_prop_read_section, read_replacements_section): |
| Likewise. |
| * data-streamer-in.c (string_for_index): Likewise. |
| * ipa-inline-analysis.c (inline_read_section): Likewise. |
| * ipa-icf.c (sem_item_optimizer::read_section): Likewise. |
| * lto-cgraph.c (input_cgraph_opt_section): Likewise. |
| * lto-streamer-in.c (lto_read_body_or_constructor, |
| lto_input_toplevel_asms): Likewise. |
| (lto_input_mode_table): New function. |
| * tree-streamer-out.c (pack_ts_fixed_cst_value_fields, |
| pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields): |
| Use bp_pack_machine_mode. |
| * real.h (struct real_format): Add name field. |
| * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table. |
| (class lto_input_block): Add mode_table member. |
| (lto_input_block::lto_input_block): Add mode_table_ argument, |
| initialize mode_table. |
| (struct lto_file_decl_data): Add mode_table field. |
| (lto_input_mode_table, lto_output_init_mode_table): New prototypes. |
| * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields, |
| unpack_ts_decl_common_value_fields, |
| unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode. |
| * tree-streamer.c (streamer_mode_table): New variable. |
| * real.c (ieee_single_format, mips_single_format, |
| motorola_single_format, spu_single_format, ieee_double_format, |
| mips_double_format, motorola_double_format, |
| ieee_extended_motorola_format, ieee_extended_intel_96_format, |
| ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format, |
| ibm_extended_format, mips_extended_format, ieee_quad_format, |
| mips_quad_format, vax_f_format, vax_d_format, vax_g_format, |
| decimal_single_format, decimal_double_format, decimal_quad_format, |
| ieee_half_format, arm_half_format, real_internal_format): Add name |
| field. |
| * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise. |
| |
| 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR target/65161 |
| * config/i386/i386.c (ix86_sched_reorder): Skip instruction |
| reordering for selective scheduling. |
| |
| 2015-02-26 Terry Guo <terry.guo@arm.com> |
| |
| * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE. |
| * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag. |
| (arm_arch_no_volatile_ce): Declare new global variable. |
| * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable. |
| (arm_option_override): Assign value to arm_arch_no_volatile_ce. |
| * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it. |
| (TARGET_NO_VOLATILE_CE): New macro. |
| * config/arm/arm.md (arm_comparison_operator): Disabled if not allow |
| volatile memory access in IT block |
| |
| 2015-02-25 Kai Tietz <ktietz@redhat.com> |
| |
| PR tree-optimization/61917 |
| * tree-vect-loop.c (vectorizable_reduction): Handle obvious case |
| that reduc_def_stmt is null. |
| |
| 2015-02-25 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare |
| hard register variables. |
| |
| 2015-02-25 Kai Tietz <ktietz@redhat.com> |
| |
| PR target/64212 |
| * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0. |
| (symtab::noninterposable_alias): Likewise. |
| |
| 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/65167 |
| * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support |
| bounds registers. |
| (avoid_func_arg_motion): Add dependencies for BNDSTX insns. |
| |
| 2015-02-25 Alan Lawrence <alan.lawrence@arm.com> |
| |
| PR target/64997 |
| * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P |
| as split condition; force split via '#' in output pattern. |
| |
| 2015-02-25 Richard Biener <rguenther@suse.de> |
| Kai Tietz <ktietz@redhat.com> |
| |
| PR tree-optimization/61917 |
| * tree-vect-loop.c (vectorizable_reduction): Allow |
| vect_internal_def without reduction to exit graceful. |
| |
| 2015-02-25 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/65196 |
| * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized |
| only with NONDEBUG_INSN_P. |
| |
| 2015-02-25 Georg-Johann Lay <avr@gjlay.de> |
| |
| Use variadic macros with avr-log.c. |
| |
| * config/avr/avr-protos.h (avr_vdump): New prototype. |
| (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos. |
| (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump. |
| * config/avr/avr-log.c: Adjust comments. |
| (avr_vdump): New function. |
| (avr_vadump): Pass caller as 2nd argument instead of format string. |
| (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f) |
| (avr_log_set_caller_e, avr_log_set_caller_f): Remove. |
| |
| 2015-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/64374 |
| * target.def (target_option_stream_in): New target hook. |
| * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke |
| targetm.target_option.post_stream_in if non-NULL. |
| * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN. |
| * doc/tm.texi: Updated. |
| * config/i386/i386.c (ix86_function_specific_post_stream_in): New |
| function. |
| (TARGET_OPTION_POST_STREAM_IN): Redefine. |
| |
| 2015-02-24 Jeff Law <law@redhat.com> |
| |
| PR target/65117 |
| * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering |
| of operand 0 and operand 2. |
| (zero_cost_loop_end, loop_end): Similarly. |
| |
| 2015-02-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to |
| CXX_MEM_STAT_INFO. |
| |
| 2015-02-24 DJ Delorie <dj@redhat.com> |
| |
| * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well. |
| * config/rl78/rl78-expand.md (movsf): New, same as movsi. |
| * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it |
| instead of hardcoding SImode. |
| |
| 2015-02-24 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * omp-low.c (create_omp_child_function): Tag entrypoint |
| functions with a special attribute. |
| |
| 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> |
| |
| PR target/65058 |
| * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable. |
| |
| 2015-02-24 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/65123 |
| * lra-remat.c (operand_to_remat): Check hard regs in insn |
| definition too. |
| |
| 2015-02-24 Nick Clifton <nickc@redhat.com> |
| |
| * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on |
| to the assembler. |
| |
| 2015-02-24 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR libgomp/64625 |
| * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as |
| BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not |
| BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR. |
| (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as |
| BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not |
| BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR. |
| (BUILT_IN_GOACC_PARALLEL): Specify as |
| BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not |
| BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR. |
| * builtin-types.def |
| (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) |
| (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): |
| Remove function types. |
| (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR) |
| (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR) |
| (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): |
| New function types. |
| |
| 2015-02-24 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>. |
| |
| 2015-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65170 |
| * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization, |
| if val[1] < 0, clear also val[2] and return 3. |
| |
| 2015-02-24 Alan Modra <amodra@gmail.com> |
| |
| PR target/65172 |
| * config/rs6000/rs6000.c (get_memref_parts): Only return true |
| when *base is a reg. Handle nested plus addresses. Simplify |
| pre_modify test. |
| |
| 2015-02-22 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): |
| use natural alignment when optimizing for size. |
| |
| 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/65153 |
| * config/sh/sh.md (movsicc_true+3): Remove peephole. |
| * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare. |
| * config/sh/sh.c (replace_n_hard_rtx): Remove. |
| |
| 2015-02-23 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR fortran/63427 |
| * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are |
| too big for a wide_int. Implement missing wrapping operation. |
| |
| 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/65163 |
| * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536 |
| instead of const_int 4294901760. |
| |
| 2015-02-23 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/t-avr: Fix typo in comment. |
| |
| 2015-02-21 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * doc/rtl.texi (fma): Clarify documentation. |
| |
| 2015-02-20 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR debug/58123 |
| * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR |
| over input_location. |
| |
| 2015-02-20 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * tree-streamer-in.c (unpack_ts_decl_common_value_fields, |
| unpack_ts_type_common_value_fields): If ACCEL_COMPILER, |
| restrict alignments to absolute_biggest_alignment. |
| * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): |
| Define. |
| * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add. |
| * doc/tm.texi: Regenerate. |
| * target.def (absolute_biggest_alignment): New DEFHOOKPOD. |
| |
| 2015-02-20 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/64172 |
| * ira-color.c (color_pass): Prevent splitting multi-register pseudos. |
| |
| 2015-02-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/65136 |
| * tree-ssa-propagate.c: Include cfgloop.h. |
| (replace_phi_args_in): Avoid replacing loop latch edge PHI |
| arguments with constants. |
| |
| 2015-02-20 Jakub Jelinek <jakub@redhat.com> |
| Martin Liska <mliska@suse.cz> |
| |
| PR target/63892 |
| * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl), |
| don't try to create_thunk if stdarg_p. If |
| !sem_item::target_supports_symbol_aliases_p (), similarly, and try to |
| redirect_callers if possible. |
| (sem_item_optimizer::execute): Call unregister_hooks here... |
| (ipa_icf_driver): ... instead of here. |
| |
| 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3): |
| Mark operand 0 as earlyclobber in 2nd alternative. |
| (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3): |
| Write negated shift amount into QI lowpart operand 0 and use it |
| in the shift step. |
| (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise. |
| |
| 2015-02-20 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * cgraph.h (clone_function_name_1): Declare. |
| * cgraphclones.c (clone_function_name_1): New function. |
| (clone_function_name): Use it. |
| * lto-partition.c: Include "stringpool.h". |
| (must_not_rename, maybe_rewrite_identifier) |
| (validize_symbol_for_target): New static functions. |
| (privatize_symbol_name): Use must_not_rename. |
| (promote_symbol): Call validize_symbol_for_target. |
| (lto_promote_cross_file_statics): Likewise. |
| (lto_promote_statics_nonwpa): Likewise. |
| |
| 2015-02-20 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/64452 |
| * config/avr/avr.md (pushhi_insn): New insn. |
| (push<mode>1): Push virtual regs in one chunk using pushhi1_insn. |
| |
| 2015-02-20 Bernd Schmidt <bernds@codesourcery.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-streamer.c (preload_common_nodes): Don't preload |
| TI_VA_LIST* for offloading. |
| * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER |
| in_lto_p. |
| |
| 2015-02-19 John David Anglin <danlgin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_emit_move_sequence): Always force |
| (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL |
| note on insn. |
| |
| * config/pa/pa.c (pa_reloc_rw_mask): New function. |
| (TARGET_ASM_RELOC_RW_MASK): Define. |
| (pa_cannot_force_const_mem): Revert previous change. |
| |
| 2015-02-19 Martin Jambor <mjmabor@suse.cz> |
| Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65028 |
| * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation |
| across jump functions. |
| |
| 2015-02-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols. |
| |
| 2015-02-19 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit. |
| |
| 2015-02-19 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/65074 |
| * varasm.c (default_binds_local_p_2): Don't test node->definition; |
| test DECL_EXTERNAL independent of symtab_node. |
| |
| 2015-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/65012 |
| * varpool.c (varpool_node::get_constructor): Return early |
| if this->lto_file_data is NULL. |
| |
| 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> |
| |
| * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG. |
| (rank_for_schedule_debug): Update. |
| (ready_sort): Make static. Move sorting logic to ... |
| (ready_sort_debug, ready_sort_real): New static functions. |
| (schedule_block): Sort both debug insns and real insns in preparation |
| for ready list trimming. Improve debug output. |
| * sched-int.h (ready_sort): Remove global declaration. |
| |
| 2015-02-18 Trevor Saunders <tsaunders@mozilla.com> |
| |
| * ipa-icf.c (sem_function::equals_private): Adjust. |
| (sem_function::bb_dict_test): Take a vec<int> * instead of |
| auto_vec<int>. |
| * ipa-icf.h (bb_dict_test): Likewise. |
| |
| 2015-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR gcov-profile/64634 |
| * tree-eh.c (frob_into_branch_around): Fix up typos |
| in function comment. |
| (lower_catch): Put eh_seq resulting from EH lowering of |
| the cleanup sequence after the cleanup rather than before it. |
| |
| 2015-02-18 Tom de Vries <tom@codesourcery.com> |
| |
| * common.opt (fstdarg-opt): New option. |
| * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt. |
| * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt. |
| (@item -fstdarg-opt): New item. |
| |
| 2015-02-18 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/65064 |
| * config/ia64/predicates.md (sdata_symbolic_operand): Return false |
| for common symbols. |
| |
| 2015-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/t-intelmic (mkoffload.o): Remove dependency on |
| insn-modes.h. |
| (ALL_HOST_OBJS): Add mkoffload.o. |
| * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise. |
| |
| 2015-02-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating. |
| (compare_virtual_tables): Be smarter about skipping typeinfos; |
| do sane output on virtual table table mismatch. |
| (warn_odr): Be ready for forward declarations of enums; |
| output sane info on base mismatch and virtual table mismatch. |
| (add_type_duplicate): Fix code choosing prevailing type; do not ICE |
| when only one type is polymorphic. |
| (get_odr_type): Fix hashtable corruption. |
| (dump_odr_type): Dump mangled names. |
| |
| 2015-02-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/65063 |
| * tree-predcom.c (determine_unroll_factor): Return 1 if we |
| have replaced looparound PHIs. |
| |
| 2015-02-18 Martin Liska <mliska@suse.cz> |
| |
| * lto-streamer.c (lto_streamer_init): Encapsulate |
| streamer_check_handled_ts_structures with checking macro. |
| |
| 2015-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/65087 |
| * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy |
| section if !implicit_section. |
| (cgraph_node::create_version_clone_with_body): Likewise. |
| * trans-mem.c (ipa_tm_create_version): Likewise. |
| |
| 2015-02-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/62217 |
| * tree-ssa-dom.c (cprop_operand): Avoid propagating copies |
| into BIVs. |
| |
| 2015-02-18 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/65081 |
| * ubsan.c (OBJSZ_MAX_OFFSET): Define. |
| (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset |
| is in range [-16K, -1]. Don't issue run-time error if |
| (ptr > ptr + offset). |
| |
| 2015-02-18 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * doc/install.texi (nvptx-*-none): New section. |
| * doc/invoke.texi (Nvidia PTX Options): Likewise. |
| * config/nvptx/nvptx.opt: Update. |
| |
| * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs) |
| (access_check): New functions, copied from |
| config/i386/intelmic-mkoffload.c. |
| (main): For non-installed testing, look in all COMPILER_PATHs for |
| GCC_INSTALL_NAME. |
| |
| * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro. |
| |
| 2015-02-18 Andrew Pinski <apinski@cavium.com> |
| Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> |
| |
| * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately): |
| Check whether the destination of SYMBOL_SMALL_TPREL is Pmode. |
| |
| 2015-02-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-visibility.c (function_and_variable_visibility): Only |
| check locality if node is not already local. |
| * ipa-inline.c (want_inline_function_to_all_callers_p): Use |
| call_for_symbol_and_aliases instead of |
| call_for_symbol_thunks_and_aliases. |
| (ipa_inline): Likewise. |
| * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): |
| first walk aliases. |
| * ipa.c (symbol_table::remove_unreachable_nodes): Use |
| call_for_symbol_and_aliases. |
| * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. |
| (ipa_propagate_frequency_1): Use it; use opt_for_fn |
| (ipa_propagate_frequency): Update. |
| (ipa_profile): Add opt_for_fn gueards. |
| |
| 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * config/sh/sh.opt (mcbranch-force-delay-slot): New option. |
| * doc/invoke.texi (SH options): Document it. |
| * config/sh/sh.c (sh_insn_length_adjustment): Check |
| TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E. |
| |
| 2015-02-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * common.opt (fipa-cp-alignment): New. |
| * ipa-cp.c (ipcp_store_alignment_results): Check |
| flag_ipa_cp_alignment. |
| * opts.c (default_options_table): Enable -fipa-cp-alignment for |
| -O2. |
| (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment. |
| * doc/invoke.texi: Document -fipa-cp-alignment. |
| |
| 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/64793 |
| * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn |
| to nil. Adjust comments. |
| |
| 2015-02-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-visibility.c (function_and_variable_visibility): Only |
| check locality if node is not already local. |
| * ipa-inline.c (want_inline_function_to_all_callers_p): Use |
| call_for_symbol_and_aliases instead of |
| call_for_symbol_thunks_and_aliases. |
| (ipa_inline): Likewise. |
| * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): |
| first walk aliases. |
| * ipa.c (symbol_table::remove_unreachable_nodes): Use |
| call_for_symbol_and_aliases. |
| * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. |
| (ipa_propagate_frequency_1): Use it; use opt_for_fn |
| (ipa_propagate_frequency): Update. |
| (ipa_profile): Add opt_for_fn guards. |
| |
| 2015-02-17 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/nvptx/mkoffload.c (parse_file): Fix logic error in |
| skipping of "strange" tokens. |
| |
| 2015-02-17 Jeff Law <law@redhat.com> |
| |
| * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove |
| obsolete comment. |
| |
| 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P |
| as forcing a HARD_DEP between instructions, thereby |
| disallowing rewriting to break dependencies. |
| |
| 2015-02-16 Jan Hubicka <hubicka@ucw.cz> |
| |
| * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton |
| * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of |
| variables in boundary that have no inlitalizer encoded and are |
| not aliases. |
| * varasm.c (default_binds_local_p_2): External definitions do not |
| count as definitions here. |
| |
| 2015-02-16 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/64823 |
| * tree-vrp.c (identify_jump_threads): Handle blocks with no real |
| statements. |
| * tree-ssa-threadedge.c (potentially_threadable_block): Allow |
| threading through blocks with PHIs, but no statements. |
| (thread_through_normal_block): Distinguish between blocks where |
| we did not process all the statements and blocks with no statements. |
| |
| 2015-02-16 Jakub Jelinek <jakub@redhat.com> |
| James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR ipa/64963 |
| * cgraphclones.c (cgraph_node::create_virtual_clone): Copy |
| section if not linkonce. Fix up formatting. |
| (cgraph_node::create_version_clone_with_body): Copy section. |
| * trans-mem.c (ipa_tm_create_version): Likewise. |
| |
| 2015-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/65077 |
| * tree-ssa-structalias.c (get_constraint_for_1): Handle |
| IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF. |
| (find_func_aliases): Allow float values to carry pointers again. |
| |
| 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * doc/install.texi (Specific): Reorder targets list to put |
| aarch64 in alphabetical order. Add a link to aarch64*-*-* |
| from the top menu. |
| |
| 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> |
| David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/65058 |
| * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage |
| mapping class to external variable or function reference. |
| * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage |
| mapping class. |
| |
| 2015-02-16 David Eelsohn <dje.gcc@gmail.com> |
| |
| PR target/53348 |
| * config/rs6000/rs6000.c (rs6000_declare_alias): Only use |
| ASM_WEAKEN_DECL if defined. |
| |
| 2015-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR lto/65015 |
| * varasm.c (default_file_start): For LTO produced units |
| emit <artificial> as file directive. |
| |
| 2015-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/63593 |
| * tree-predcom.c (execute_pred_commoning_chain): Delay removing |
| stmts and releasing SSA names until... |
| (execute_pred_commoning): ... after processing all chains. |
| |
| 2015-02-16 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65059 |
| * ipa-comdats.c (ipa_comdats): Do not categorize thunks to |
| external functions. |
| |
| 2015-02-15 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/bugreport.texi: Adjust section titles throughout the file |
| to use "Title Case". |
| * doc/extend.texi: Likewise. |
| * doc/gcov.texi: Likewise. |
| * doc/implement-c.texi: Likewise. |
| * doc/implement-cxx.texi: Likewise. |
| * doc/invoke.texi: Likewise. |
| * doc/objc.texi: Likewise. |
| * doc/standards.texi: Likewise. |
| * doc/trouble.texi: Likewise. |
| |
| 2015-02-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.h (symtab_node::has_aliases_p): Simplify. |
| (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p |
| * tree.c (lookup_binfo_at_offset): Make static. |
| (get_binfo_at_offset): Do not shadow offset; add explanatory |
| comment. |
| |
| 2015-02-15 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_secondary_reload): Request a secondary reload |
| for all floading point loads and stores except those using a register |
| index address. |
| * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand |
| to a register. |
| |
| 2015-02-14 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline-analysis.c (growth_data): Add uninlinable field. |
| (do_estimate_growth_1): Record if any uninlinable edge was seen. |
| (estimate_growth): Handle uninlinable edges correctly. |
| (check_callers): New. |
| (growth_likely_positive): Handle aliases correctly. |
| |
| 2015-02-14 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-chkp.c: Use iterate_direct_aliases. |
| * symtab.c (resolution_used_from_other_file_p): Move inline. |
| (symtab_node::create_reference): Fix formating. |
| (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases. |
| (symtab_node::iterate_reference): Move inline. |
| (symtab_node::iterate_referring): Move inline. |
| (symtab_node::iterate_direct_aliases): Move inline. |
| (symtab_node::used_from_object_file_p_worker): Inline into ... |
| (symtab_node::used_from_object_file_p): ... this one; move inline. |
| (symtab_node::call_for_symbol_and_aliases): Move inline; |
| use iterate_direct_aliases. |
| (symtab_node::call_for_symbol_and_aliases_1): New method. |
| (cgraph_node::call_for_symbol_and_aliases): Move inline; |
| use iterate_direct_aliases. |
| (cgraph_node::call_for_symbol_and_aliases_1): New method. |
| (varpool_node::call_for_node_and_aliases): Rename to ... |
| (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline; |
| use iterate_direct_aliases. |
| (varpool_node::call_for_symbol_and_aliases_1): New method. |
| * ipa.c (ipa_single_use): Use iterate_direct_aliases. |
| (ipa_discover_readonly_nonaddressable_var): Update. |
| * ipa-devirt.c: Fix formating. |
| * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p): |
| Move inline. |
| (cgraph_node::call_for_symbol_and_aliases): Move inline. |
| (cgraph_node::call_for_symbol_and_aliases_1): New function.. |
| * cgraph.h (used_from_object_file_p_worker): Remove. |
| (resolution_used_from_other_file_p): Move inline. |
| (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases. |
| (symtab_node::iterate_reference): Move inline. |
| (symtab_node::iterate_referring): Move inline. |
| (symtab_node::iterate_direct_aliases): Move inline. |
| (symtab_node::used_from_object_file_p_worker): Inline into ... |
| (symtab_node::used_from_object_file_p): Move inline. |
| * tree-emutls.c (ipa_lower_emutls): Update. |
| * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method. |
| (varpool_node::call_for_node_and_aliases): Remove. |
| |
| 2015-02-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/62209 |
| * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and |
| op == range->exp, insert seq and gimplified code after labels |
| instead of after the phi. |
| |
| 2015-02-13 Jeff Law <law@redhat.com> |
| |
| PR bootstrap/65060 |
| Revert my change for tree-optimization/64823. |
| |
| 2015-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/65053 |
| * tree-ssa-phiopt.c (value_replacement): When moving assign before |
| cond, either reset VR on lhs or set it to phi result VR. |
| |
| 2015-02-13 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/64823 |
| * tree-vrp.c (identify_jump_threads): Handle blocks with no statements. |
| * tree-ssa-threadedge.c (potentially_threadable_block): Allow |
| threading through blocks with PHIs, but no statements. |
| (thread_through_normal_block): Distinguish between blocks where |
| we did not process all the statements and blocks with no statements. |
| |
| PR rtl-optimization/47477 |
| * match.pd (convert (plus/minus (convert @0) (convert @1): New |
| simplifier to narrow arithmetic. |
| |
| 2015-02-13 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65028 |
| * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop |
| polymorphic call info when type is not known to be preserved. |
| |
| 2015-02-13 Maritn Jambor <mjambor@suse.cz> |
| |
| PR ipa/65028 |
| * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function. |
| (inline_call): Use it. |
| |
| 2015-02-13 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to |
| GOMP_DEVICE_NVIDIA_PTX. |
| |
| 2015-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/65034 |
| * stmt.c (emit_case_nodes): Use void_type_node instead of |
| NULL_TREE as LABEL_DECL type. |
| |
| 2015-02-13 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/constraints.md: Change "Q" and "T" constraints to memory |
| constraints. |
| * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant |
| symbolic references to data to be forced to constant memory on the |
| SOM target. |
| |
| 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR tree-optimization/65002 |
| * tree-cfg.c (pass_data_fixup_cfg): Don't update |
| SSA on start. |
| * tree-sra.c (some_callers_have_no_vuse_p): New. |
| (ipa_early_sra): Reject functions whose callers |
| assume function is read only. |
| |
| 2015-02-13 Richard Biener <rguenther@suse.de> |
| |
| PR lto/65015 |
| * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name |
| for LTO produced CUs. |
| |
| 2015-02-13 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/64705 |
| * tree-ssa-loop-niter.h (expand_simple_operations): New parameter. |
| * tree-ssa-loop-niter.c (expand_simple_operations): New parameter. |
| * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New. |
| (find_bivs, find_givs_in_stmt_scev): Pass new argument to |
| expand_simple_operations. |
| |
| 2015-02-13 H.J. Lu <hongjiu.lu@intel.com> |
| Richard Henderson <rth@redhat.com> |
| |
| PR rtl/32219 |
| * cgraphunit.c (cgraph_node::finalize_function): Set definition |
| before notice_global_symbol. |
| (varpool_node::finalize_decl): Likewise. |
| * varasm.c (default_binds_local_p_2): Rename from |
| default_binds_local_p_1, add weak_dominate argument. Use direct |
| returns instead of assigning to local variable. Unify varpool and |
| cgraph paths via symtab_node. Reject undef weak variables before |
| testing visibility. Reorder tests for simplicity. |
| (default_binds_local_p): Use default_binds_local_p_2. |
| (default_binds_local_p_1): Likewise. |
| (decl_binds_to_current_def_p): Unify varpool and cgraph paths |
| via symtab_node. |
| (default_elf_asm_output_external): Emit visibility when specified. |
| |
| 2015-02-13 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in |
| code setting up r11 for out-of-line fp restore. |
| |
| 2015-02-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/visium/visium.opt (msv-mode): Add RejectNegative and Report. |
| (muser-mode): Likewise. |
| |
| 2015-02-13 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry |
| or adddi3_carry when restoring frame_reg_rtx from r0 after restvr. |
| |
| 2015-02-12 David Howells <dhowells@redhat.com> |
| |
| * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security |
| warning. |
| * tree-ssa-uninit.c (dump_predicates): Likewise. |
| * opts.c (print_filtered_help): Likewise. |
| |
| 2015-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (output_die): Use "%s", name instead of name to |
| avoid -Wformat-security warning. |
| |
| * dwarf2asm.c (dw2_asm_output_vms_delta): Only define |
| if ASM_OUTPUT_DWARF_VMS_DELTA is defined. |
| * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta |
| only if ASM_OUTPUT_DWARF_VMS_DELTA is defined. |
| |
| 2015-02-12 Jason Merrill <jason@redhat.com> |
| |
| * common.opt (-flifetime-dse): New. |
| |
| 2015-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/65019 |
| * ubsan.c (ubsan_expand_objsize_ifn): Always return true. |
| |
| PR tree-optimization/65014 |
| * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR, |
| use original second operand of arg0 or arg1 instead of |
| that adjusted by STRIP_NOPS. |
| |
| 2015-02-11 Jeff Law <law@redhat.com> |
| |
| PR target/63347 |
| * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn |
| that needs to be queued, just queue it for a single cycle. |
| |
| 2015-02-11 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing |
| bodies of thunks; comment on why. |
| * symtab.c (symtab_node::get_partitioning_class): Aliases of extern |
| symbols are extern. |
| |
| 2015-02-11 Richard Henderson <rth@redhat.com> |
| |
| PR sanitize/65000 |
| * tree-eh.c (mark_reachable_handlers): Mark source and destination |
| regions of __builtin_eh_copy_values. |
| |
| 2015-02-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/65003 |
| * varasm.c (place_block_symbol): Assert that DECL_RTL of the |
| ultimate alias is MEM with SYMBOL_REF satisfying |
| SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM |
| to place_block_symbol, but instead pass the SYMBOL_REF operand of it. |
| |
| 2015-02-11 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of |
| "diagnostic-core.h". |
| (main): Initialize progname, and call diagnostic_initialize. |
| |
| * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__ |
| instead of __OPENMP_TARGET__. |
| |
| * config/nvptx/mkoffload.c: Include "gomp-constants.h". |
| (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly) |
| hard-coding PTX_ID. |
| |
| 2015-02-11 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * doc/sourcebuild.texi (pie_enabled): Document. |
| |
| 2015-02-11 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/64813 |
| * cgraphunit.c (cgraph_node::expand_thunk): Do not create |
| a return value for call to a function that is noreturn. |
| |
| 2015-02-11 Richard Biener <rguenther@suse.de> |
| |
| PR lto/65015 |
| * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list |
| and -fresolution. |
| |
| 2015-02-11 Andrew Pinski <apinski@cavium.com> |
| |
| PR target/64893 |
| * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): |
| Change the first argument type to size_type_node and add another |
| size_type_node. |
| (aarch64_simd_expand_builtin): Handle the new argument to |
| AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather |
| print an out when the first two arguments are not |
| nonzero integer constants. |
| * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK): |
| Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi. |
| |
| 2015-02-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/61925 |
| * config/i386/i386.c (ix86_reset_to_default_globals): Removed. |
| (ix86_reset_previous_fndecl): Restore it here, unconditionally. |
| (ix86_set_current_function): Rewritten. |
| (ix86_add_new_builtins): Temporarily clear current_target_pragma |
| when creating builtin fndecls. |
| |
| 2015-02-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/65005 |
| * ipa-visibility.c (cgraph_node::non_local_p): Turn into static |
| function. |
| * symtab.c (symtab_node::verify_base): Remove check that non-definitions |
| have no comdat group. |
| * lto-cgraph.c (lto_output_node): Always output thunk and alias info. |
| (lto_output_varpool_node): Always output alias info. |
| (output_refs): Output refs of boundary aliases, too. |
| (compute_ltrans_boundary): Add alias and thunk target into boundaries. |
| (output_symtab): Output call eges in thunks in boundary. |
| (get_alias_symbol): Remove. |
| (input_node, input_varpool_node): Do not special case weakrefs. |
| * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove |
| alias and thunks targets in the boundary; do not take removed symbols |
| from their comdat groups. |
| * cgraph.c (cgraph_node::local_info): Look through aliases and thunks. |
| (cgraph_node::global_info): Remove. |
| (cgraph_node::rtl_info): Look through aliases and thunks. |
| * cgrpah.h (global_info): Remove. |
| (non_local_p): Remove. |
| |
| 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com> |
| Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references |
| to inline asm. List dialects in proper order. |
| |
| 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com> |
| Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error. |
| |
| 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com> |
| |
| * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly |
| modified) reference to Solaris. |
| |
| 2015-02-10 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Extended Asm): Fix typos. |
| |
| 2015-02-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/65004 |
| * ubsan.c (ubsan_expand_vptr_ifn): Always return true. |
| |
| 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/64661 |
| * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT, |
| TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS, |
| TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses. |
| * config/sh/constraints.md (Ara, Add): New constraints. |
| * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New |
| predicates. |
| (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use |
| atomic_mem_operand_0. Don't use force_reg on the memory address. |
| (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and |
| Sra constraint. Convert to insn_and_split. Add workaround for |
| PR 64974. |
| (atomic_compare_and_swap<mode>_hard): Copy to |
| atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split. |
| Use atomic_mem_operand_0 predicate. |
| (atomic_compare_and_swap<mode>_soft_gusa, |
| atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and |
| AraAdd constraints. |
| (atomic_compare_and_swap<mode>_soft_tcb, |
| atomic_compare_and_swap<mode>_soft_imask, |
| atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use |
| atomic_mem_operand_0 predicate and SraSdd constraints. |
| (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra |
| constraint. |
| (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1. |
| Convert to insn_and_split. Use atomic_mem_operand_0 predicate. |
| (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>, |
| atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use |
| force_reg on the memory address. |
| (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard, |
| atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard, |
| atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use |
| atomic_mem_operand_1 predicate and Sra constraint. |
| (atomic_fetch_<fetchop_name><mode>_hard): Copy to |
| atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split. |
| Use atomic_mem_operand_1 predicate. |
| (atomic_<fetchop_name><mode>_hard): Copy to |
| atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split. |
| Use atomic_mem_operand_1 predicate. |
| (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1. |
| Convert to insn_and_split. Use atomic_mem_operand_1 predicate. |
| (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to |
| insn_and_split. Use atomic_mem_operand_1 predicate. |
| (atomic_<fetchop_name>_fetch<mode>_hard): Copy to |
| atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split. |
| Use atomic_mem_operand_1 predicate. |
| (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1. |
| Convert to insn_and_split. Use atomic_mem_operand_1 predicate. |
| (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems |
| in generated insn with original mem operand before emitting the insn. |
| (atomic_fetch_<fetchop_name><mode>_soft_gusa, |
| atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa, |
| atomic_<fetchop_name>_fetch<mode>_soft_gusa, |
| atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa): |
| Use atomic_mem_operand_1 predicate and AraAdd constraints. |
| (atomic_fetch_<fetchop_name><mode>_soft_tcb, |
| atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb, |
| atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask, |
| atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb, |
| atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask, |
| atomic_<fetchop_name>_fetch<mode>_soft_tcb, |
| atomic_not_fetch<mode>_soft_tcb, |
| atomic_<fetchop_name>_fetch<mode>_soft_imask, |
| atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>, |
| atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask): |
| Use atomic_mem_operand_1 predicate and SraSdd constraints. |
| |
| 2015-02-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2 |
| and 3 earlyclobber operands. |
| |
| 2015-02-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| * common.opt (fstack-reuse): Mark as optimization. |
| |
| 2015-02-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64982 |
| * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks. |
| |
| 2015-02-10 Trevor Saunders <tsaunders@mozilla.com> |
| |
| PR tree-optimization/64326 |
| * cfghooks.c (make_forwarder_block): Cap frequency of created block. |
| |
| 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de> |
| |
| PR gcov-profile/61889 |
| * gcov-tool.c: Remove wrong #if !defined(_WIN32) |
| |
| 2015-02-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64995 |
| * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the |
| value we use is final. |
| (visit_reference_op_store): Always valueize op. |
| (visit_use): Properly valueize vuses. |
| |
| 2015-02-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64909 |
| * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly |
| pass a scalar-stmt count estimate to the cost model. |
| * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise. |
| |
| 2015-02-10 Alexander Monakov <amonakov@ispras.ru> |
| |
| * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is |
| enabled by default together with var-tracking. |
| |
| 2015-02-10 Nick Clifton <nickc@redhat.com> |
| |
| * config/rl78/rl78.c: Remove DIV attribute code accidentally |
| included in previous rl78 commit. |
| |
| 2015-02-10 Richard Biener <rguenther@suse.de> |
| |
| * tree-streamer.h (streamer_read_tree_bitfields): Adjust. |
| * tree-streamer-in.c (streamer_read_tree_bitfields): Do not |
| return the bitpack. |
| |
| 2015-02-09 Trevor Saunders <tsaunders@mozilla.com> |
| |
| PR gcov-profile/61889 |
| * config.in: regenerate. |
| * configure.in: Likewise. |
| * configure.ac: Check for ftw.h. |
| * gcov-tool.c: Check for ftw.h before using nftw. |
| |
| 2015-02-09 Trevor Saunders <tsaunders@mozilla.com> |
| |
| PR lto/64076 |
| * ipa-visibility.c (update_visibility_by_resolution_info): Only |
| assert when not in lto mode. |
| |
| 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn> |
| |
| * ira-color.c (setup_left_conflict_sizes_p): Simplify |
| initialization/assignment of conflict_size. |
| |
| 2015-02-09 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64978 |
| * ipa-cp.c (gather_caller_stats): Skip thunks. |
| (propagate_constants_topo): Skip aliases. |
| |
| 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/64761 |
| * config/sh/sh.c (sh_option_override): Don't change |
| -freorder-blocks-and-partition to -freorder-blocks even when |
| unwinding is enabled. |
| (sh_can_follow_jump): Return false if the followee jump is |
| a crossing jump when -freorder-blocks-and-partition is specified. |
| * config/sh/sh.md (*jump_compact_crossing): New insn. |
| |
| 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com> |
| Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/64761 |
| * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare. |
| * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine. |
| (sh_can_redirect_branch): Rename to ... |
| (sh_can_follow_jump): ... this. Constify argument types. |
| * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define. |
| * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation. |
| * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump. |
| * doc/tm.texi: Regenerate. |
| |
| 2015-02-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/64981 |
| * builtins.c (expand_builtin): Call targetm.expand_builtin |
| for BUILT_IN_MD builtins regardless of asan_intercepted_p. |
| |
| 2015-02-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/61548 |
| * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS. |
| |
| 2015-02-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/63566 |
| * ipa-icf.c (set_local): New function. |
| (sem_function::merge): Use it. |
| |
| 2015-02-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-devirt.c (odr_types_equivalent_p): Fix formating. |
| (add_type_duplicate): Fix comparison of BINFOs. |
| |
| 2015-02-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE |
| on getting VOID pointer. |
| |
| 2015-02-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/64979 |
| * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for |
| va_list escapes. |
| |
| 2015-02-09 Richard Biener <rguenther@suse.de> |
| |
| * genmatch.c (replace_id): Copy expr_type. |
| |
| 2015-02-09 Richard Biener <rguenther@suse.de> |
| |
| * tree-streamer.h (streamer_pack_tree_bitfields): Remove. |
| (streamer_write_tree_bitfields): Declare. |
| * tree-streamer-in.c (unpack_ts_base_value_fields): Inline, |
| properly unpack padding. |
| (unpack_value_fields): Inline ... |
| (streamer_read_tree_bitfields): ... here. |
| * tree-streamer-out.c (pack_ts_base_value_fields): Inline |
| and properly add padding bits. |
| (streamer_pack_tree_bitfields): Fold into ... |
| (streamer_write_tree_bitfields): ... this new function, |
| exposing the bitpack object. |
| * lto-streamer-out.c (lto_write_tree_1): Call |
| streamer_write_tree_bitfields. |
| |
| 2015-02-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/54000 |
| * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h. |
| (struct ivopts_data): Add loop_loc member. |
| (tree_ssa_iv_optimize_loop): Dump loop location. |
| (create_new_ivs): Likewise, also dump number of IVs generated. |
| |
| 2015-02-09 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks |
| just if not yet registered. |
| (ipa_icf_generate_summary): Register callgraph hooks. |
| |
| 2015-02-08 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64.c (gty_dummy): Delete. |
| |
| 2015-02-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/63566 |
| * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases. |
| (cgraph_node::local_p): Remove thunk related FIXME. |
| |
| 2015-02-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/63566 |
| * i386.c (ix86_function_regparm): Look through aliases to see if callee |
| is local and optimized. |
| (ix86_function_sseregparm): Likewise; also use target's SSE math |
| settings; error out instead of silently generating wrong code |
| on mismatches. |
| (init_cumulative_args): Look through aliases. |
| |
| 2015-02-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/63566 |
| * ipa-split.c (execute_split_functions): Split if function has aliases. |
| |
| 2015-02-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/63566 |
| * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is |
| aliases before trying to expand it. |
| (cgraph_node::expand_thunk): Fix formating. |
| |
| 2015-02-07 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Function Attributes [naked]): Copy-edit. |
| (Using Assembly Language with C): Expand introduction. |
| (Basic Asm): Copy-edit. Add more information about uses of |
| basic asm. |
| (Extended Asm): Copy-edit. Document new escape syntax and |
| %l[label] syntax. |
| (Global Reg Vars): Copy-edit. |
| (Local Reg Vars): Likewise. |
| |
| 2015-02-06 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR debug/2714 |
| PR bootstrap/64256 |
| * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384. |
| (DBX_CONTIN_CHAR): Define. |
| |
| 2015-02-06 Sebastian Pop <s.pop@samsung.com> |
| Brian Rzycki <b.rzycki@samsung.com> |
| |
| PR tree-optimization/64878 |
| * tree-ssa-threadedge.c: Include tree-ssa-loop.h. |
| (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi. |
| Stop recursion at loop phi nodes after having visited a loop phi node. |
| |
| 2015-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * toplev.c (process_options): Change flag_ipa_ra before creating |
| optimization_{default,current}_node. |
| |
| PR ipa/64896 |
| * cgraphunit.c (cgraph_node::expand_thunk): If |
| restype is not is_gimple_reg_type nor the thunk_fndecl |
| returns aggregate_value_p, set restmp to a temporary variable |
| instead of resdecl. |
| |
| 2015-02-06 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * lra.c (lra_emit_add): Fix a typo in using disp instead of base. |
| |
| 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/64205 |
| * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not |
| add a general secondary reload handler for SDmode, unless we have |
| both read/write support for SDmode. |
| |
| 2015-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/64937 |
| * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags): |
| Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT |
| or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't |
| 1 before, push it to abstract_vec. |
| (dwarf2out_abstract_function): Adjust caller. Don't call |
| set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or |
| DECL_ABSTRACT_P flags for all abstract_vec elts. |
| |
| 2015-02-06 Renlin Li <renlin.li@arm.com> |
| |
| * tree-ssa-forwprop.c (execute): Keep location info while rewrite |
| complex gimple. |
| * tree-ssa.c (execute_update_addresses_taken): Likewise. |
| |
| 2015-02-06 Jeff Law <law@redhat.com> |
| |
| PR target/64889 |
| * config/h8300/h8300.c (push): New argument "in_prologue". |
| Pass "in_prologue" along to "F". |
| (h8300_push_pop): Corresponding changes. |
| (h8300_expand_prologue): Likewise. |
| (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P. |
| |
| 2015-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/64957 |
| PR debug/64817 |
| * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for |
| IOR rather than for AND. |
| |
| 2015-02-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/62631 |
| * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs |
| of shift-add and (add + shift) operations. Rename local variable. |
| |
| 2015-02-05 Jeff Law <law@redhat.com> |
| |
| PR target/17306 |
| * config/h8300/constraints.md (U): Correctly dectect |
| "eightbit_data" memory addresses. |
| * config/h8300/h8300.c (eightbit_constant_address_p): Also |
| handle (const (plus (symbol_ref (x)))) where x is declared |
| as an 8-bit data memory address. |
| * config/h8300/h8300.md (call, call_value): Correctly detect |
| "funcvec" functions. |
| |
| PR target/43264 |
| * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by |
| 24 to 28 bits for the H8/300. |
| |
| 2015-02-06 Alan Modra <amodra@gmail.com> |
| |
| PR target/64876 |
| * config/rs6000/rs6000.c (chain_already_loaded): New function. |
| (rs6000_call_aix): Use it. |
| |
| 2015-02-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds |
| check. |
| |
| 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/h8300/constraints.md ("U" constraint): Use strict |
| variant of REG_OK_FOR_BASE_P after reload has started. |
| |
| 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com> |
| |
| * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition, |
| define to zero if !TARGET_NEON. |
| (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition. |
| |
| 2015-02-04 Jan Hubicka <hubicka@ucw.cz> |
| Trevor Saunders <tsaunders@mozilla.com> |
| |
| PR ipa/61548 |
| * tree-emultls.c (new_emutls_decl): Resolve alias after creating it. |
| |
| 2015-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/61548 |
| * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue |
| when removing varpool nodes. |
| |
| 2015-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/61548 |
| * varpool.c (varpool_node::remove): Fix order of variables. |
| |
| 2015-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64686 |
| * ipa-inline.c (inline_small_functions): Fix ordering issue between |
| speculation resolution and key updates. |
| |
| 2015-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-prop.c (update_indirect_edges_after_inlining): By more careful |
| about not letting any speculative edges unupdated. |
| |
| 2015-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR gcov/64123 |
| * gcov-io.c (gcov_var): Export. |
| |
| 2015-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/64922 |
| * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update |
| edges that become speculative. |
| |
| 2015-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03 |
| or DW_LANG_Fortran08. |
| (lower_bound_default): Return 1 for DW_LANG_Fortran03 or |
| DW_LANG_Fortran08. |
| (gen_compile_unit_die): Handle "GNU Fortran2003" and |
| "GNU Fortran2008" language strings. |
| * dbxout.c (get_lang_number): Use lang_GNU_Fortran. |
| * langhooks.h (lang_GNU_Fortran): New prototype. |
| * langhooks.c (lang_GNU_Fortran): New function. |
| * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use |
| lang_GNU_Fortran. |
| |
| 2015-02-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error. |
| (RTX_OK_FOR_OLO10_P): Likewise. |
| |
| 2015-02-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset. |
| |
| 2015-02-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/64922 |
| * gimple.c: Include gimple-ssa.h. |
| (maybe_remove_unused_call_args): New function. |
| * gimple.h (maybe_remove_unused_call_args): Declare. |
| * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it. |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise. |
| * gimple-fold.c (gimple_fold_call): Likewise. |
| |
| 2015-02-04 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR rtl-optimization/64905 |
| * lra-eliminations.c (setup_can_eliminate): Clear hard frame |
| pointer alignment if it isn't needed. |
| |
| 2015-02-04 Matthew Wahab <matthew.wahab@arm.com> |
| |
| * config/aarch64/aarch64-cores.def: Add cortex-a72 and |
| cortex-a72.cortex-a53. |
| * config/aarch64/aarch64-tune.md: Regenerate. |
| * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72". |
| |
| 2015-02-04 Nick Clifton <nickc@redhat.com> |
| |
| * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs |
| inside a MEM. |
| |
| 2015-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * builtins.def (DEF_BUILTIN_CHKP): Define if not defined. |
| (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine. |
| (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead |
| of DEF_BUILTIN. |
| (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT, |
| BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use |
| DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN. |
| (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, |
| BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK, |
| BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use |
| DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN. |
| * tree-core.h (enum built_in_function): In between |
| BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values |
| for builtins that use DEF_BUILTIN_CHKP macro. |
| |
| 2015-02-04 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/64817 |
| * cfgexpand.c (expand_debug_expr): Compute unsignedp from |
| operands for tcc_comparison exprs. Fix typos. |
| |
| PR debug/64817 |
| * simplify-rtx.c (simplify_binary_operation_1): Simplify one |
| of two XORs that have an intervening AND or IOR. |
| |
| PR debug/64817 |
| * simplify-rtx.c (simplify_binary_operation_1): Rewrite |
| simplification of XOR of AND to not allocate new rtx before |
| committing to a simplification. |
| |
| 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of |
| manual swaps in all peepholes. |
| |
| 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead |
| of manual swapping implementation. |
| (aarch64_expand_vec_perm_const_1): Likewise. |
| |
| 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64.c (NAMED_PARAM): Delete it. |
| (generic_addrcost_table): Remove NAMED_PARAM. |
| (cortexa57_addrcost_table): Likewise. |
| (xgene1_addrcost_table): Likewise. |
| (generic_regmove_table): Likewise. |
| (cortexa53_regmove_table): Likewise. |
| (xgene1_regmove_table): Likewise. |
| (generic_vector_table): Likewise. |
| (cortexa57_vector_table): Likewise. |
| (xgene1_vector_table): Likewise. |
| (generic_tunings): Likewise. |
| (cortexa53_tunings): Likewise. |
| (cortexa57_tunings): Likewise. |
| (xgene1_tunings): Likewise. |
| |
| 2015-02-04 Matthew Wahab <matthew.wahab@arm.com> |
| |
| * config/arm/arm-cores.def: Add cortex-a72 and |
| cortex-a72.cortex-a53. |
| * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise. |
| * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise. |
| * config/arm/arm-tune.md: Regenerate. |
| * config/arm/arm-tables.opt: Add entries for "cortex-a72" and |
| "cortex-a72.cortex-a53". |
| * doc/invoke.texi (ARM Options/-mtune): Likewise. |
| |
| 2015-02-04 Nick Clifton <nickc@redhat.com> |
| |
| PR target/64408 |
| * config/fr30/predicates.md (di_operand): Add SUBREG to the list |
| of accepted codes. |
| (nonimmediate_di_operand): Likewise. |
| |
| * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more |
| prefixes of known F5 using MSP430 MCUs. |
| |
| 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF. |
| * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf |
| instead of __builtin_sqrt. |
| |
| 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * varasm.c (do_assemble_alias): Follow transparent alias |
| chain for target. |
| (default_assemble_visibility): Follow transparent alias |
| chain for decl name. |
| |
| 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR middle-end/62103 |
| * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION |
| to compute size of referenced value in the constant case. |
| |
| 2015-02-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/64756 |
| * cse.c (invalidate_dest): New function. |
| (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and |
| HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record, |
| invalidate and do not record it. |
| |
| 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/64660 |
| * config/sh/sync.md (atomic_<fetchop_name><mode>_hard, |
| atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb, |
| atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard, |
| atomic_nand<mode>_soft_tcb): New insns. |
| (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split. |
| Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused. |
| (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split. |
| Split into atomic_not_fetchsi_hard if operands[0] is unused. |
| (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split. |
| Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused. |
| (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into |
| atomic_not<mode>_hard if operands[0] is unused. |
| (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to |
| insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa |
| if operands[0] is unused. |
| (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split |
| into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused. |
| (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split. |
| Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is |
| unused. |
| (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split |
| into atomic_not<mode>_soft_tcb if operands[0] is unused. |
| (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to |
| insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask |
| if operands[0] is unused. |
| (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split |
| into atomic_not_fetch<mode>_soft_imask is operands[0] is unused. |
| (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into |
| atomic_nand_fetchsi_hard if operands[0] is unused. |
| (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into |
| atomic_nand<mode>_hard if operands[0] is unused. |
| (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split |
| into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused. |
| (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split |
| into atomic_nand<mode>_soft_tcb if operands[0] is unused. |
| (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split |
| into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused. |
| (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split. |
| Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused. |
| (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into |
| atomic_not<mode>_hard if operands[0] is unused. |
| (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split. |
| Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is |
| unused. |
| (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split |
| into atomic_not<mode>_soft_tcb if operands[0] is unused. |
| (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into |
| atomic_nand<mode>_hard if operands[0] is unused. |
| (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split |
| into atomic_nand<mode>_soft_tcb if operands[0] is unused. |
| |
| 2015-02-03 David Malcolm <dmalcolm@redhat.com> |
| |
| PR jit/64810 |
| * Makefile.in (GCC_OBJS): Add gcc-main.o. |
| * gcc-main.c: New file, containing "main" taken from gcc.c. |
| * gcc.c (do_self_spec): Free decoded_options. |
| (class driver): Move declaration to gcc.h. |
| (main): Move declaration and implementation to new file |
| gcc-main.c. |
| (driver_get_configure_time_options): New function. |
| * gcc.h (class driver): Move this declaration here, from |
| gcc.c. |
| (driver_get_configure_time_options): New declaration. |
| |
| 2015-02-03 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline-analysis.c (simple_edge_hints): Fix check for |
| cross-module inlining. |
| * cgraph.h (cgraph_node): Add flag merged. |
| * ipa-icf.c (sem_function::merge): Maintain it. |
| |
| 2015-02-03 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P |
| instead of OBJECT_P. |
| |
| 2015-02-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/62631 |
| * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS. |
| (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL. |
| * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on |
| int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set. |
| |
| 2015-02-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR other/63504 |
| * combine.c (reg_n_sets_max): New variable. |
| (can_change_dest_mode, reg_nonzero_bits_for_combine, |
| reg_num_sign_bit_copies_for_combine, get_last_value_validate, |
| get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max. |
| (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max. |
| (rest_of_handle_combine): Initialize reg_n_sets_max. |
| |
| 2015-02-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline.c (early_inliner): Skip inlining only in always_inlined; |
| if some always_inline was inlined, apply changes before inlining |
| heuristically. |
| |
| 2015-02-02 David Malcolm <dmalcolm@redhat.com> |
| |
| PR jit/64810 |
| * config/arm/arm.c (arm_option_override): Set |
| arm_selected_arch/cpu/tune to NULL on entry. |
| |
| 2015-02-02 Tejas Belagod <tejas.belagod@arm.com> |
| Andrew Pinski <pinskia@gcc.gnu.org> |
| Jakub Jelinek <jakub@gcc.gnu.org> |
| |
| PR target/64231 |
| * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large |
| integer typing for small model. Use IN_RANGE. |
| |
| 2015-02-02 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs. |
| * tree-vrp.c (vrp_valueize_1): Likewise. |
| |
| 2015-02-02 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather |
| than mem for toc_restore. |
| * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define. |
| (call_indirect_aix, call_value_indirect_aix): Adjust to suit. |
| (call_indirect_elfv2, call_value_indirect_elfv2): Likewise. |
| |
| 2015-02-01 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/64047 |
| * config/rs6000/rs6000.c (rs6000_set_current_function): Handle |
| explicit default options. |
| |
| 2015-02-01 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64872 |
| * ipa-utils.c (ipa_merge_profiles): Add release argument. |
| * ipa-icf.c (sem_function::merge): Do not release body when merging. |
| * ipa-utils.h (ipa_merge_profiles): Update prototype. |
| |
| 2015-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/64817 |
| * cfgexpand.c (deep_ter_debug_map): New variable. |
| (avoid_deep_ter_for_debug): New function. |
| (expand_debug_expr): If TERed SSA_NAME is in |
| deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL |
| instead of trying to expand SSA_NAME's def stmt. |
| (expand_debug_locations): When expanding debug bind |
| of a DEBUG_EXPR_DECL to corresponding SSA_NAME, |
| temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's |
| value. |
| (pass_expand::execute): Call avoid_deep_ter_for_debug on |
| all debug bind stmts. Delete deep_ter_debug_map after |
| expand_debug_location if non-NULL and clear it. |
| |
| 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/64851 |
| * config/sh/sync.md (atomic_fetch_notsi_hard, |
| atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa, |
| atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask, |
| atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard, |
| atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb, |
| atomic_not_fetch<mode>_soft_imask): New insns. |
| |
| 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> |
| |
| * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro. |
| (rank_for_schedule_debug): Split from ... |
| (rank_for_schedule): ... this. |
| (ready_sort): Sort DEBUG_INSNs separately from normal INSNs. |
| * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order. |
| |
| 2015-01-31 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/md.texi (Machine Constraints): Alphabetize table by target. |
| * doc/extend.texi (x86 Variable Attributes): Move section to |
| correct alphabetization after renaming. |
| (x86 Type Attributes): Likewise. |
| (Target Builtins): Re-alphabetize menu. |
| (x86 Built-in Functions): Move section to correct alphabetization |
| after renaming. |
| (x86 transactional memory intrinsics): Likewise. |
| * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options |
| and x86 Windows Options in table and menu. |
| (x86 Options): Move section to correct alphabetization after |
| renaming. |
| (x86 Windows Options): Likewise. |
| |
| 2015-01-31 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the |
| preferred names of the architecture and its 32- and 64-bit |
| variants. |
| * doc/invoke.texi: Likewise. |
| * doc/md.texi: Likewise. |
| |
| 2015-01-31 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/64882 |
| * config/i386/predicates.md (address_no_seg_operand): Reject |
| non-CONST_INT_P operands in invalid mode. |
| |
| 2015-01-31 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of |
| address_operand 0. Rename from *prefetch_prefetchwt1_<mode>. |
| * config/i386/predicates.md (address_no_seg_operand): Call |
| address_operand with VOIDmode. |
| (vsib_address_operand): Ditto. |
| (address_mpx_no_base_operand): Ditto. |
| (address_mpx_no_index_operand): Ditto. |
| |
| 2015-01-30 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/64688 |
| * lra-constraints.c (original_subreg_reg_mode): New. |
| (simplify_operand_subreg): Try to simplify subreg of const. Use |
| original_subreg_reg_mode for it. |
| (swap_operands): Update original_subreg_reg_mode. |
| (curr_insn_transform): Set up original_subreg_reg_mode. |
| |
| 2015-01-30 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/64617 |
| * lra-constraints.c (prohibited_class_reg_set_mode_p): New |
| function. |
| (process_alt_operands): Use it. |
| (curr_insn_transform): Check the optional reload pseudo class is |
| ok for the mode. |
| |
| 2015-01-30 Joseph Myers <joseph@codesourcery.com> |
| |
| * diagnostic.c (fatal_error (const char *, ...)): Remove function. |
| * diagnostic-core.h (fatal_error (const char *, ...)): Remove |
| prototype. |
| * toplev.h (init_asm_output): Update comment on use of |
| UNKNOWN_LOCATION with fatal_error. |
| * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c, |
| config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h, |
| config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c, |
| config/i386/intelmic-mkoffload.c, config/nios2/nios2.c, |
| config/nvptx/mkoffload.c, config/nvptx/nvptx.h, |
| config/rs6000/host-darwin.c, config/rs6000/rs6000.c, |
| config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c, |
| ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c, |
| lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c, |
| lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c, |
| tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of |
| fatal_error changed to pass input_location as first argument. |
| |
| 2015-01-30 Martin Liska <mliska@suse.cz> |
| |
| * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006 |
| in #pragma GCC diagnostic guards. |
| |
| 2015-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64829 |
| * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do |
| not add a widening conversion pattern but hand off extra |
| widenings to callers. |
| (vect_recog_widen_mult_pattern): Handle extra widening produced |
| by vect_handle_widen_op_by_const. |
| (vect_recog_widen_shift_pattern): Likewise. |
| (vect_pattern_recog_1): Remove excess vertical space in dumping. |
| * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise. |
| (vect_init_vector_1): Likewise. |
| (vect_get_vec_def_for_operand): Likewise. |
| (vect_finish_stmt_generation): Likewise. |
| (vectorizable_load): Likewise. |
| (vect_analyze_stmt): Likewise. |
| (vect_is_simple_use): Likewise. |
| |
| 2015-01-29 Jeff Law <law@redhat.com> |
| |
| * combine.c (try_combine): Fix typo in comment. |
| |
| 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/64580 |
| * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order. |
| (rs6000_stack_info): Add assert. |
| (rs6000_output_savres_externs): New function, split off from... |
| (rs6000_output_function_prologue): ... here. Do not call it for |
| thunks. |
| |
| 2015-01-29 Jeff Law <law@redhat.com> |
| |
| PR target/15184 |
| * combine.c (try_combine): If I0 is a memory load and I3 a store |
| to a related address, increase the "goodness" of doing a 4-insn |
| combination with I0-I3. |
| (make_field_assignment): Handle SUBREGs in the ior+and case. |
| |
| 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR tree-optimization/64746 |
| * tree-if-conv.c (mask_exists): New function. |
| (predicate_mem_writes): Save created mask with given size for further |
| use. |
| (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it. |
| (ifcvt_repair_bool_pattern): Collect all statements that are root |
| of bool pattern and use iterative algorithm to remove multiple uses |
| of predicates, display number of required iterations. |
| |
| 2015-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64853 |
| * tree-vrp.c (vrp_valueize_1): Do not return anything if the |
| stmt will get simulated again. |
| * tree-ssa-ccp.c (valueize_op_1): Likewise. |
| |
| 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of |
| return_in_pc. Remove redundant assignments. |
| (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc. |
| (arm_expand_epilogue): Don't compare boolean with true in if condition. |
| |
| 2015-01-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_mode_after): Make static. |
| |
| 2015-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64844 |
| * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always |
| dump cost model analysis. |
| * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): |
| Do not register adjusted load/store costs here. |
| |
| 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New. |
| * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by |
| using x86_use_pseudo_pic_reg. |
| * config/i386/i386.c (ix86_conditional_register_usage): Remove |
| support for fixed PIC register. |
| (ix86_use_pseudo_pic_reg): Not static any more. |
| |
| 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR middle-end/64805 |
| * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference |
| to avoid error in cgraph node verification. |
| |
| 2015-01-29 Marek Polacek <polacek@redhat.com> |
| |
| * doc/standards.texi: Reflect that the default for C is gnu11. |
| |
| 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/64761 |
| * reorg.c (switch_text_sections_between_p): New function. |
| (relax_delay_slots): Call it when testing if the jump insn |
| is removable. Use targetm.can_follow_jump when testing if |
| the conditional branch can follow an unconditional jump. |
| |
| 2015-01-27 Caroline Tice <cmtice@google.com> |
| |
| Committing VTV Cywin/Ming patch for Patrick Wollgast |
| * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o, |
| if -fvtable-verify=preinit/std is used. |
| * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise. |
| * config/i386/mingw32.h (STARTFILE_SPEC): Likewise. |
| * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o, |
| if -fvtable-verify=preinit/std is used. |
| * config/i386/mingw32.h (ENDFILE_SPEC): Likewise. |
| * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi, |
| if -fvtable-verify=preinit/std is used. |
| * config/i386/mingw-w64.h (LIB_SPEC): Likewise. |
| * config/i386/mingw32.h (LIB_SPEC): Likewise. |
| * varasm.c (assemble_variable): Add code to properly set the comdat |
| section and name for the .vtable_map_vars section in case the |
| target is PE or COFF. |
| |
| 2015-01-29 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64801 |
| * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter; |
| make sane BB profile. |
| (cgraph_node::expand_thunk): Make sane BB profile. |
| (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p. |
| * cgraph.h (init_lowered_empty_function): Update prototype. |
| * config/i386/i386.c (make_resolver_func): Update call. |
| * predict.c (gate): Disable branch prediction pass if |
| profile is already there. |
| |
| 2015-01-29 Jan Hubicka <hubicka@ucw.cz> |
| |
| * optc-save-gen.awk: flag_fp_contract_mode is no longer speical. |
| * opth-gen.awk: Likewise. |
| * common.opt: Mark flag_fp_contract_mode as Optimization. |
| |
| 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16. |
| * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16. |
| |
| 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/64659 |
| * config/sh/predicates.md (atomic_arith_operand, |
| atomic_logical_operand): Remove. |
| * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove. |
| (atomic_arith_operand_0): New predicate. |
| (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values. |
| Use atomic_arith_operand_0 for input values. |
| (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard, |
| atomic_compare_and_swap<mode>_soft_gusa, |
| atomic_compare_and_swap<mode>_soft_tcb, |
| atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and |
| arith_reg_operand instead of register_operand. |
| (atomic_exchange<mode>): Use arith_reg_dest for output value. Use |
| atomic_arith_operand_0 for newval input. |
| (atomic_exchangesi_hard, atomic_exchange<mode>_hard, |
| atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb, |
| atomic_exchange<mode>_soft_imask): Use arith_reg_dest and |
| arith_reg_operand instead of register_operand. |
| (atomic_arith_operand_1, atomic_logical_operand_1): New predicates. |
| fetchop_predicate_1, fetchop_constraint_1_llcs, |
| fetchop_constraint_1_gusa, fetchop_constraint_1_tcb, |
| fetchop_constraint_1_imask): New code iterator attributes. |
| (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of |
| register_operand. Use fetchop_predicate_1. |
| (atomic_fetch_<fetchop_name>si_hard, |
| atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of |
| register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs. |
| (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest |
| and arith_reg_operand instead of register_operand. Use |
| fetchop_predicate_1, fetchop_constraint_1_gusa. |
| (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest |
| and arith_reg_operand instead of register_operand. Use |
| fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence |
| to allow R0 usage. |
| (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest |
| and arith_reg_operand instead of register_operand. Use |
| fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence |
| to allow R0 usage. |
| (atomic_fetch_nand<mode>): Use arith_reg_dest instead of |
| register_operand. Use atomic_logical_operand_1. |
| (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard, |
| atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and |
| arith_reg_operand instead of register_operand. |
| (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask): |
| Use arith_reg_dest and arith_reg_operand instead of register_operand. |
| Use logical_operand and rK08. Adjust asm sequence to allow R0 usage. |
| (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of |
| register_operand. Use fetchop_predicate_1. |
| (atomic_<fetchop_name>_fetchsi_hard, |
| atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and |
| arith_reg_operand instead of register_operand. Use fetchop_predicate_1, |
| fetchop_constraint_1_llcs. |
| (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and |
| arith_reg_operand instead of register_operand. Use fetchop_predicate_1, |
| fetchop_constraint_1_gusa. |
| (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and |
| arith_reg_operand instead of register_operand. Use fetchop_predicate_1, |
| fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage. |
| (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and |
| arith_reg_operand instead of register_operand. Use fetchop_predicate_1, |
| fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage. |
| (atomic_nand_fetch<mode>): Use arith_reg_dest instead of |
| register_operand. Use atomic_logical_operand_1. |
| (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard, |
| atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and |
| arith_reg_operand instead of register_operand. |
| (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and |
| arith_reg_operand instead of register_operand. Use logical_operand |
| and K08. Adjust asm sequence to allow R0 usage. |
| (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and |
| arith_reg_operand instead of register_operand. Use logical_operand |
| and K08. |
| |
| 2015-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR other/63504 |
| * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor): |
| Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>. |
| (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum |
| only get_full_len HOST_WIDE_INTs from get_val () array rather than |
| all bits in *val_wide. |
| |
| 2015-01-28 Jan Hubicka <hubicka@ucw.cz> |
| |
| * varpool.c (tls_model_names): Fix names. |
| (varpool_node::dump): Dump tls- prefix for tls models. |
| |
| 2015-01-28 Thomas Schwinge <thomas@codesourcery.com> |
| Bernd Schmidt <bernds@codesourcery.com> |
| Nathan Sidwell <nathan@codesourcery.com> |
| |
| * config/nvptx/mkoffload.c: New file. |
| * config/nvptx/t-nvptx: Add build rules for it. |
| * config.gcc <nvptx-*> [$enable_as_accelerator = yes] |
| (extra_programs): Add mkoffload. |
| * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New |
| function. |
| (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it. |
| |
| 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR middle-end/64809 |
| * cfgexpand.c (reorder_operands): Skip debug gimples. |
| |
| 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR tree-optimization/64277 |
| * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base |
| range info when possible to refine estimation. |
| |
| 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/64718 |
| * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type |
| be a 16bit unsigned integer when n->range is 16. |
| (bswap_replace): Convert src to that type if necessary for all bswap |
| sizes. Fix rotation right notation in nearby comment. Use bswap_type |
| set in pass_optimize_bswap::execute (). |
| |
| 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New. |
| * config/aarch64/aarch64-simd-builtins.def (abs): Split by |
| integer and floating point variants. |
| * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS. |
| |
| 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com> |
| |
| * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators |
| for all vector modes. |
| |
| 2015-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/64612 |
| * doc/sourcebuild.texi (comdat_group): Document. |
| |
| 2015-01-28 Terry Guo <terry.guo@arm.com> |
| |
| * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern. |
| |
| 2015-01-27 David Malcolm <dmalcolm@redhat.com> |
| |
| * toplev.c (print_version): Add param "show_global_state", and |
| only print GGC and plugin information if it is true. |
| (init_asm_output): Pass in "true" for the new param when calling |
| print_version. |
| (process_options): Likewise. |
| (toplev::main): Likewise. |
| * toplev.h (print_version): Add new param to decl. |
| |
| 2015-01-27 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/60871 |
| PR ipa/64139 |
| * tree.c (lookup_binfo_at_offset): New function. |
| (get_binfo_at_offset): Use it. |
| |
| 2015-01-27 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64282 |
| * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert |
| on vtable being vtable. |
| |
| 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * doc/extend.texi: s/390: Update documentation of hotpatch attribute. |
| * doc/invoke.texi (-mhotpatch): s/390: Update documentation of |
| -mhotpatch= option. |
| * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and |
| -mno-hotpatch options. Change syntax of -mhotpatch= option. |
| * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default): |
| Renamed. |
| (s390_hotpatch_trampoline_halfwords_max): Renamed. |
| (s390_hotpatch_hw_max): New name. |
| (s390_hotpatch_trampoline_halfwords): Renamed. |
| (s390_hotpatch_hw_before_label): New name. |
| (get_hotpatch_attribute): Removed. |
| (s390_hotpatch_hw_after_label): New name. |
| (s390_handle_hotpatch_attribute): Add second parameter to hotpatch |
| attribute. |
| (s390_attribute_table): Ditto. |
| (s390_function_num_hotpatch_trampoline_halfwords): Renamed. |
| (s390_function_num_hotpatch_hw): New name. |
| Remove special handling of inline functions and hotpatching. |
| Return number of nops before and after the function label. |
| (s390_can_inline_p): Removed. |
| (s390_asm_output_function_label): Emit a configurable number of nops |
| after the function label. |
| (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch. |
| (TARGET_CAN_INLINE_P) Removed. |
| (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New. |
| |
| 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| Jiong Wang <jiong.wang@arm.com> |
| |
| * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead |
| of scratch reg. |
| (cb<optab><mode>1): Likewise. |
| * config/aarch64/iterators.md (bcond): New define_code_attr. |
| |
| 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_memory_move_cost): Increase costs for |
| memory accesses. |
| |
| 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_register_move_cost): Increase costs for |
| FPR->GPR moves. |
| |
| 2015-01-27 Richard Biener <rguenther@suse.de> |
| |
| * tree-vrp.c (update_value_range): Intersect the range with |
| old recorded SSA name range information. |
| |
| 2015-01-27 Nick Clifton <nickc@redhat.com> |
| |
| * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the |
| BC, DE and HL registers directly, not via AX. |
| When decrementing the stack pointer by a large amount, transfer SP |
| into AX and perform the subtraction there. |
| (rl78_expand_epilogue): Perform the inverse of the above |
| enhancements. |
| |
| 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove. |
| |
| 2015-01-27 Jakub Jelinek <jakub@redhat.com> |
| Yury Gribov <y.gribov@samsung.com> |
| |
| PR ubsan/64741 |
| * ubsan.c (ubsan_source_location): Refactor code. |
| (ubsan_type_descriptor): Update type size. Refactor code. |
| |
| 2015-01-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/56273 |
| PR tree-optimization/59124 |
| PR tree-optimization/64277 |
| * tree-vrp.c (vrp_finalize): Emit array-bound warnings only |
| from the first VRP pass. |
| |
| 2015-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/64776 |
| * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting, |
| handle the first argument in the same loop as all the other arguments. |
| |
| PR rtl-optimization/61058 |
| * jump.c (cleanup_barriers): Update basic block boundaries |
| if BLOCK_FOR_INSN is non-NULL on PREV. |
| |
| 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of |
| bounds narrowing, already instrumented calls and calls to |
| not instrumentable functions. |
| |
| 2015-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/64807 |
| * wide-int.cc (wi::divmod_internal): Clear |
| b_dividend[dividend_blocks_needed]. |
| |
| 2015-01-26 DJ Delorie <dj@redhat.com> |
| |
| * config/rl78/rl78.c (move_elim_pass): Don't optimize away |
| volatile memory references. |
| |
| 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/49263 |
| * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before |
| remove_insn. |
| * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right |
| shifts if it already fits into K08. |
| |
| 2015-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/64730 |
| * ipa-inline.c (inline_small_functions): Print "unknown" even |
| if edge->call_stmt is non-NULL, but has builtins or unknown |
| location. |
| |
| PR middle-end/64421 |
| * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts |
| with asterisk, skip the first character. |
| |
| 2015-01-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/64806 |
| * config/i386/i386 (feature_priority): Revert the last P_POPCNT |
| order change. |
| |
| 2015-01-26 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/64795 |
| * config/i386/i386.md (*movdi_internal): Also check operand 0 |
| to determine TYPE_LEA operand. |
| (*movsi_internal): Ditto. |
| |
| 2015-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add |
| OPTION_MASK_QUAD_MEMORY_ATOMIC. |
| |
| 2015-01-26 Renlin Li <renlin.li@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct |
| the comment. |
| * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit |
| for higher part. |
| |
| 2015-01-26 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64764 |
| * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle |
| combining two BIT_AND_EXPR predicates. |
| |
| 2015-01-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/64754 |
| * tree-ssa-structalias.c (new_var_info): Initialize ruid. |
| |
| 2015-01-26 Terry Guo <terry.guo@arm.com> |
| |
| * config/arm/arm.c (arm_file_start): Update the assignment of |
| Tag_ABI_HardFP_use. |
| |
| 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57 |
| pipeline model. |
| config/arm/arm.md: Include the new Cortex-A57 model. |
| (generic_sched): Don't use generic_sched when tuning for |
| Cortex-A57. |
| |
| 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (get_builtin_code_for_version): Add |
| support for BMI and BMI2 multiversion functions. |
| |
| 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> |
| |
| * emit-rtl.h (store_bit_field): Move prototype to expmed.h. |
| (extract_bit_field): Likewise. |
| (extract_low_bits): Likewise. |
| (expand_mult): Likewise. |
| (expand_mult_highpart_adjust): Likewise. |
| |
| 2015-01-24 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): Check new |
| Silvermont, Haswell, Broadwell and Knights Landing model numbers. |
| * config/i386/i386.c (processor_model): Add |
| M_INTEL_COREI7_BROADWELL. |
| (arch_names_table): Add "broadwell". |
| |
| 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/49263 |
| PR target/53987 |
| PR target/64345 |
| PR target/59533 |
| PR target/52933 |
| PR target/54236 |
| PR target/51244 |
| * config/sh/sh-protos.h |
| (sh_extending_set_of_reg::can_use_as_unextended_reg, |
| sh_extending_set_of_reg::use_as_unextended_reg, |
| sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn, |
| sh_is_movrt_insn, sh_insn_operands_modified_between_p, |
| sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr, |
| sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions. |
| (sh_treg_insns): New class. |
| * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook. |
| (scope_counter): New class. |
| (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest, |
| sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn, |
| sh_extending_set_of_reg::can_use_as_unextended_reg, |
| sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr, |
| sh_in_recog_treg_set_expr, sh_try_split_insn_simple, |
| sh_split_treg_set_expr): New functions. |
| (addsubcosts): Handle treg_set_expr. |
| (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT. |
| (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND. |
| (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases. |
| (sh_insn_operands_modified_between_p): Make non-static. |
| * config/sh/predicates.md (zero_extend_movu_operand): Allow |
| simple_mem_operand in addition to displacement_mem_operand. |
| (zero_extend_operand): Don't allow zero_extend_movu_operand. |
| (treg_set_expr, treg_set_expr_not_const01, |
| arith_reg_or_treg_set_expr): New predicates. |
| * config/sh/sh.md (tstsi_t): Use arith_reg_operand and |
| arith_or_int_operand instead of logical_operand. Convert to |
| insn_and_split. Try to optimize constant operand in splitter. |
| (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split. |
| (*tstqi_t_zero): Delete. |
| (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition. |
| (tstsi_t_and_not): Delete. |
| (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract. |
| Convert to insn_and_split. |
| (unnamed split, tstsi_t_zero_extract_xor, |
| tstsi_t_zero_extract_subreg_xor_little, |
| tstsi_t_zero_extract_subreg_xor_big): Delete. |
| (*tstsi_t_shift_mask): New insn_and_split. |
| (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try |
| to recombine with surrounding insns when splitting. |
| (*negtstsi): Add !sh_in_recog_treg_set_expr condition. |
| (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ... |
| (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4, |
| *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns. |
| (*cbranch_div0s: Delete. |
| (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. |
| Try to recombine with surrounding insns when splitting. Add operand |
| order variants. |
| (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01. |
| (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb, |
| *addc_r_r_msb, *addc_2r_msb): Delete. |
| (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand |
| order variant. |
| (*addc_negreg_t): New insn_and_split. |
| (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. |
| Try to recombine with surrounding insns when splitting. |
| Add operand order variants. |
| (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New |
| insn_and_split patterns. |
| (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with |
| surrounding insns when splitting. |
| (unnamed rotcr split): Use arith_reg_or_treg_set_expr. |
| (*rotcl): Likewise. Add zero_extract variant. |
| (*ashrsi2_31): New insn_and_split. |
| (*negc): Convert to insn_and_split. Use treg_set_expr. |
| (*zero_extend<mode>si2_disp_mem): Update comment. |
| (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split |
| condition. |
| (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine |
| with surrounding insns when splitting. |
| (any_treg_expr_to_reg): New insn_and_split. |
| (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2, |
| *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5, |
| *neg_zero_extract_6, *zero_extract_0, *zero_extract_1, |
| *zero_extract_2): New single bit zero extract patterns. |
| (bld_reg, *bld_regqi): Fold into bld<mode>_reg. |
| (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load, |
| *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load, |
| *movdi_gbr_load): Use arith_reg_dest instead of register_operand for |
| set destination. |
| (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of |
| register_operand for set source. |
| |
| 2015-01-23 Jan Hubicka <hubicka@ucw.cz> |
| |
| * i386.opt (prefetch_sse): New targetsave. |
| * i386.c (ix86_function_specific_save): Save prefetch_sse. |
| (ix86_function_specific_restore): Restore prefetch_sse and initialize |
| ix86_cost/ix86_tune_cost. |
| |
| 2015-01-23 David Malcolm <dmalcolm@redhat.com> |
| |
| * config/rs6000/rs6000.c (rs6000_output_function_epilogue): |
| Support the JIT by using 0 as the language type. |
| |
| 2015-01-23 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/64317 |
| * lra-lives.c (make_hard_regno_born): Add parameter. Don't make |
| REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo. |
| (mark_regno_live, process_bb_lives): Pass new parameter value to |
| make_hard_regno_born. |
| |
| 2015-01-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/63637 |
| PR rtl-optimization/60663 |
| * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST |
| if elt->cost is MAX_COST for ASM_OPERANDS. |
| (find_sets_in_insn): Fix up comment typo. |
| (cse_insn): Don't set src_volatile for all non-volatile |
| ASM_OPERANDS in PARALLELs, but just those with multiple outputs |
| or with "memory" clobber. Set elt->cost to MAX_COST |
| for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST |
| if new_src is ASM_OPERANDS and elt->cost is MAX_COST. |
| |
| 2015-01-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for |
| alternative 1. |
| |
| 2015-01-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to |
| libgcc/config/i386/elf-lib.h. |
| |
| 2015-01-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR driver/64737 |
| * gcc.c (print_configuration): Don't print a blank line at the end |
| here... |
| (run_attempt): ... but here unstead. |
| |
| PR middle-end/64734 |
| * omp-low.c (scan_sharing_clauses): Don't ignore |
| OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses |
| on target data/update constructs. |
| |
| 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR target/50928 |
| * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here. |
| (DEBUG_RELOAD): Removed define. |
| (m32c_limit_reload_class): Enable traces with if DEBUG0. |
| (m32c_function_arg): Added a type cast. |
| (m32c_legitimize_reload_address): Push A_REGS reload with PSImode. |
| * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments. |
| * config/m32c/bitops.md (andqi3_16): Likewise. |
| * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise. |
| (push_a01_l): Likewise. |
| |
| 2015-01-23 David Malcolm <dmalcolm@redhat.com> |
| |
| PR jit/64721 |
| * main.c (main): Construct toplev instances with init_signals=true. |
| * toplev.c (general_init): Add param "init_signals", and use it to |
| conditionalize the calls to signal and host_hooks.extra_signals. |
| (toplev::toplev): Add param "init_signals". |
| (toplev::main): When invoking general_init, pass m_init_signals |
| to control whether signal-handlers are installed. |
| * toplev.h (toplev::toplev): Add param "init_signals". |
| (toplev::m_init_signals): New field. |
| |
| 2015-01-23 David Malcolm <dmalcolm@redhat.com> |
| |
| PR jit/64722 |
| * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to |
| NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the |
| latter may be affected by the former (e.g. on i686). |
| |
| 2015-01-23 Martin Liska <mliska@suse.cz> |
| |
| * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow |
| false positive during profiledbootstrap. |
| |
| 2015-01-23 Tom de Vries <tom@codesourcery.com> |
| |
| PR libgomp/64672 |
| * lto-opts.c (lto_write_options): Output non-explicit conservative |
| -fno-openacc. |
| * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc. |
| (append_compiler_options): Pass -fopenacc through. |
| |
| 2015-01-23 Tom de Vries <tom@codesourcery.com> |
| |
| PR libgomp/64707 |
| * lto-opts.c (lto_write_options): Output non-explicit conservative |
| -fno-openmp. |
| * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp. |
| (append_compiler_options): Pass -fopenmp through. |
| |
| 2015-01-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/64511 |
| * dwarf2out.c (struct dw_loc_descr_node): Add chain_next |
| GTY markup. |
| |
| * diagnostic-core.h (internal_error_no_backtrace): New prototype. |
| * diagnostic.def (DK_ICE_NOBT): New kind. |
| * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT |
| like DK_ICE, but never print backtrace. |
| (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE. |
| (internal_error_no_backtrace): New function. |
| * gcc.c (execute): Use internal_error_no_backtrace instead of |
| internal_error. |
| |
| 2015-01-22 Jeff Law <law@redhat.com> |
| |
| PR target/52076 |
| * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to |
| improve code density for small immediate to memory case. |
| (insv): Better handle bitfield assignments when the field is |
| being set to all ones. |
| * config/m68k/predicates.md (reg_or_pow2_m1_operand): New |
| operand predicate. |
| |
| 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/64729 |
| * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit |
| for !TARGET_LIBC_PROVIDES_SSP version and |
| -fstack-protector-{all,strong,explicit} otherwise. |
| * config/freebsd.h (LINK_SSP_SPEC): Handle |
| -fstack-protector-{strong,explicit}. |
| |
| 2015-01-22 Jan Hubicka <hubicka@ucw.cz> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR ipa/64694 |
| * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of |
| heap. |
| |
| 2015-01-22 Wei Mi <wmi@google.com> |
| |
| PR rtl-optimization/64557 |
| * dse.c (record_store): Call get_addr for mem_addr. |
| (check_mem_read_rtx): Likewise. |
| |
| 2015-01-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fold-const.c (const_binop): Add early return for non-tcc_binary. |
| |
| 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com> |
| |
| * toplev.c (init_local_tick): Process the failure when read |
| fails for random_seed. |
| |
| * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for |
| 'pretty_name' to avoid memory overflow. |
| |
| 2015-01-22 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64728 |
| * tree-ssa-coalesce.c (coalesce_partitions): Do not perform |
| abnormal coalescing on undefined SSA names. |
| |
| 2015-22-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/64688 |
| PR target/64477 |
| * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints |
| for alternative 3. |
| (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1. |
| |
| 2015-01-22 Trevor Saunders <tsaunders@mozilla.com> |
| |
| PR middle-end/63325 |
| * fold-const.c (fold_checksum_tree): Don't include value of |
| expr->decl_with_vis.symtab_node in the checksum. |
| |
| 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or". |
| |
| 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com> |
| |
| PR driver/64690 |
| * gcc.c (insert_comments): New function. |
| (try_generate_repro): Call it. |
| (append_text): Removed. |
| |
| 2015-01-22 Richard Biener <rguenther@suse.de> |
| |
| * ipa-inline.c (can_inline_edge_p): Disable inlining of edges |
| with IL incompatible options. Properly honor user optimize |
| attributes. |
| |
| 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/64682 |
| * combine.c (distribute_notes): When moving a death note for |
| a register that is set in the new I2, make sure to put it |
| before that new I2. |
| |
| 2015-01-21 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags |
| not TARGET_DEFAULT. |
| |
| 2015-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/64511 |
| * simplify-rtx.c (simplify_relational_operation_1): Don't try to |
| optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0)) |
| into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)). |
| |
| PR sanitizer/64706 |
| * doc/invoke.texi (-fsanitize=vptr): Document. |
| |
| PR rtl-optimization/62078 |
| * dse.c: Include cfgcleanup.h. |
| (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed |
| anything call purge_all_dead_edges and cleanup_cfg at the end |
| of the pass. |
| |
| 2015-01-21 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect |
| edges. |
| |
| 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread |
| decl attribute. |
| |
| 2015-01-21 David Sherwood <david.sherwood@arm.com> |
| Tejas Belagod <Tejas.Belagod@arm.com> |
| |
| * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed. |
| * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed. |
| * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class): |
| Removed. |
| |
| 2015-01-21 David Sherwood <david.sherwood@arm.com> |
| Tejas Belagod <Tejas.Belagod@arm.com> |
| |
| * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist) |
| (aarch64_reverse_mask): New decls. |
| * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum. |
| (insn_count): New mode_attr. |
| * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci) |
| (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci) |
| (vec_load_lanesxi): Made ABI compliant for Big Endian targets. |
| (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3) |
| (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3) |
| (aarch64_simd_st4): New patterns. |
| * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist) |
| (aarch64_reverse_mask): New functions. |
| |
| 2015-01-21 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy): |
| Declare. |
| * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra |
| addressing modes for BE. |
| (aarch64_print_operand): Add 'R' specifier. |
| (aarch64_simd_disambiguate_copy): Delete. |
| (aarch64_simd_emit_reg_reg_move): New function. |
| * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move |
| in define_splits for structural moves. |
| (mov<mode>): Use less restrictive predicates. |
| (*aarch64_mov<mode>): Simplify and only allow for LE. |
| (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New. |
| |
| 2015-01-21 Alan Hayward <alan.hayward@arm.com> |
| |
| * rtlanal.c (subreg_get_info): Exit early for simple and common cases. |
| |
| 2015-01-21 Richard Henderson <rth@redhat.com> |
| |
| PR target/64669 |
| * ccmp.c (used_in_cond_stmt_p): Remove. |
| (expand_ccmp_expr): Don't use it. |
| |
| 2015-01-21 Nick Clifton <nickc@redhat.com> |
| |
| * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside |
| PARALLELs. |
| |
| 2015-01-21 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64313 |
| * tree-core.h (builtin_info, builtin_info_type): Turn from |
| an object with two arrays into an array of an object with |
| decl and two flags, implicit_p and declared_p. |
| * tree.h (builtin_decl_explicit, builtin_decl_implicit, |
| set_builtin_decl, set_builtin_decl_implicit_p, |
| builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust. |
| (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions. |
| * builtins.c (builtin_info): Adjust. |
| * gimplify.c (gimplify_addr_expr): References to builtins |
| that have been declared by the user makes them eligible for |
| use by the compiler. Call set_builtin_decl_implicit_p on them. |
| |
| 2015-01-20 Jeff Law <law@redhat.com> |
| |
| PR target/59946 |
| * config/m68k/m68k.md (Comparison expanders and patterns): Do not |
| allow pc-relative addresses in operand predicates or constraints. |
| |
| 2015-01-21 Bin Cheng <bin.cheng@arm.com> |
| |
| * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer |
| neon on aarch32 processors for stringops. |
| |
| 2015-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/63576 |
| * ipa-utils.c (ipa_merge_profiles): Merge speculative edges. |
| |
| 2015-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/45375 |
| * ipa-inline.c: Include lto-streamer.h |
| (report_inline_failed_reason): Output source file differences and |
| flags on optimization/target node mismatch. |
| (can_inline_edge_p): Consider caller to be the outer inline function; |
| be less restrictive about matching opimize and optimize_size attributes. |
| (inline_account_function_p): Break out from ... |
| (inline_small_functions): ... here. |
| * ipa-inline-transform.c (clone_inlined_nodes): Use |
| inline_account_function_p. |
| (inline_call): Use optimize attribution; use inline_account_function_p. |
| (inline_transform): Use opt_for_fn. |
| * ipa-inline.h (inline_account_function_p): Declare. |
| |
| 2015-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/64663 |
| * dwarf2out.c (decl_piece_node): Don't put bitsize into |
| mode if bitsize <= 0. |
| (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl, |
| dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit |
| sizes and positions. |
| |
| 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/nios2/nios2.c (nios2_asm_file_end): Implement |
| TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when |
| needed. |
| (TARGET_ASM_FILE_END): Define. |
| |
| 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> |
| |
| * config/arm/arm-protos.h (enum arm_sched_autopref): New constants. |
| (struct tune_params): Use the enum. |
| * arm.c (arm_*_tune): Update. |
| (arm_option_override): Update. |
| |
| 2015-01-20 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/64684 |
| * ipa-reference.c (add_static_var): Inline ... |
| (analyze_function): ... here after splitting out from ... |
| (is_proper_for_analysis): ... this. |
| |
| 2015-01-20 Matthew Wahab <matthew.wahab@arm.com> |
| |
| PR target/64149 |
| * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle. |
| * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag, |
| replace the conditional with it's true branch. |
| * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true. |
| (arm_lra_p): Remove. |
| |
| 2015-01-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/visium/visium.h (LIB_SPEC): Adjust in default case. |
| |
| 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> |
| |
| * config/tilegx/mul-tables.c: Move symtab.h include after |
| coretypes.h include. |
| * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h, |
| vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, |
| flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h, |
| wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h, |
| explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. |
| |
| 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com> |
| |
| PR bootstrap/64676 |
| Revert: |
| 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com> |
| |
| PR rtl-optimization/64081 |
| * loop-iv.c (def_pred_latch_p): New function. |
| (latch_dominating_def): Allow specific cases with non-single |
| definitions. |
| (iv_get_reaching_def): Likewise. |
| (check_complex_exit_p): New function. |
| (check_simple_exit): Use check_complex_exit_p to allow certain cases |
| with exits not executing on any iteration. |
| |
| 2015-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/45375 |
| * i386.c (ix86_option_override_internal): Use ix86_tune_cost |
| to set branch cost. |
| |
| 2015-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/45375 |
| * i386.c (gate): Check flag_expensive_optimizations and |
| optimize_size. |
| (ix86_option_override_internal): Drop optimize_size condition |
| on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER, |
| MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE, |
| MASK_PREFER_AVX128. |
| (ix86_avx256_split_vector_move_misalign, |
| ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed. |
| * sse.md (all uses of TARGET_PREFER_AVX128): Add |
| optimize_insn_for_speed_p check. |
| |
| 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * config/mips/mips.h (FP_ASM_SPEC): New define. |
| (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC |
| instead. |
| |
| 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/53988 |
| * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return |
| nullptr for insn when reaching the first insn. |
| * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator. |
| (sh_insn_operands_modified_between_p): Add nullptr check. |
| (sh_find_extending_set_of_reg): Fix log message. Don't accept |
| sign extending mem load if the insn contains any UNSPEC or |
| UNSPEC_VOLATILE. |
| |
| 2015-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * params.def (inline-unit-growth): Drop to 15%. |
| * invoke.texi (inline-unit-growth): Document change. |
| |
| 2015-01-19 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/64668 |
| * ipa-icf-gimple.c (func_checker::compare_operand): Call proper |
| function for second argument of OBJ_TYPE_REF. |
| |
| 2015-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64218 |
| * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check |
| whether function is an alias. |
| |
| 2015-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless |
| cases. |
| |
| 2015-01-19 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/64671 |
| * lra-remat.c (operand_to_remat): Don't consider jump and call |
| insns. |
| |
| 2015-01-19 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/59828 |
| * config/rs6000/default64.h: Include rs6000-cpus.def. |
| (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8). |
| (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4. |
| * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7 |
| and POWER8. |
| * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to |
| POWER8. |
| * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine |
| pseudo-op to specify assembler dialect. |
| |
| 2015-01-19 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/64664 |
| * ipa-icf.c (sem_item_optimizer::filter_removed_items): |
| Handle safe potentially removed nodes during filtering. |
| |
| 2015-01-19 Martin Liska <mliska@suse.cz> |
| |
| * doc/extend.texi (no_icf): Add new attribute description. |
| * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases |
| where the pass attempts to merge a function with no_icf attribute. |
| |
| 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/64532 |
| * doc/md.texi (ARM Options): Document register constraints. |
| |
| 2015-01-19 Jiong Wang <jiong.wang@arm.com> |
| Andrew Pinski <apinski@cavium.com> |
| |
| PR target/64304 |
| * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted. |
| (ashl<mode>3): Don't expand if operands[2] is not constant. |
| |
| 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/64448 |
| * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal): |
| Match xor-and-xor RTL pattern. |
| |
| 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com> |
| |
| PR rtl-optimization/64081 |
| * loop-iv.c (def_pred_latch_p): New function. |
| (latch_dominating_def): Allow specific cases with non-single |
| definitions. |
| (iv_get_reaching_def): Likewise. |
| (check_complex_exit_p): New function. |
| (check_simple_exit): Use check_complex_exit_p to allow certain cases |
| with exits not executing on any iteration. |
| |
| 2015-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| * common.opt (fgraphite): Fix a typo. |
| |
| 2015-01-19 Felix Yang <felix.yang@huawei.com> |
| |
| * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New |
| pattern. |
| * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp, |
| uminp, smax_nanp, smin_nanp): New builtins. |
| * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32, |
| vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32, |
| vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64, |
| vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64, |
| vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8, |
| vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8, |
| vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64, |
| vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64, |
| vpminnms_f32): Rewrite using builtin functions. |
| |
| 2015-01-19 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR libgomp/64625 |
| * omp-low.c (offload_symbol_decl): Remove variable. |
| (get_offload_symbol_decl): Remove function. |
| (expand_omp_target): For BUILT_IN_GOMP_TARGET, |
| BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL |
| instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START, |
| BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL, |
| BUILT_IN_GOACC_UPDATE don't pass it at all. |
| |
| 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk |
| callers. |
| |
| 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * ipa-chkp.c (chkp_produce_thunks): Add early param |
| to split thunks production into two passes. Keep |
| 'always_inline' function bodies after the first pass. |
| (pass_data_ipa_chkp_early_produce_thunks): New. |
| (pass_ipa_chkp_early_produce_thunks): New. |
| (pass_ipa_chkp_produce_thunks::execute): Adjust to new |
| chkp_produce_thunks signature. |
| (make_pass_ipa_chkp_early_produce_thunks): New. |
| * passes.def (pass_ipa_chkp_early_produce_thunks): New. |
| (pass_ipa_chkp_produce_thunks): Move after local optimizations. |
| * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New. |
| |
| 2015-01-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraph.c (cgraph_node::dump): Dump profile flags. |
| |
| 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/64652 |
| * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address |
| reg appear first in the parallel. |
| |
| 2015-01-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-reference.c (set_reference_optimization_summary, |
| ipa_reference_get_not_written_global): Do nothing if ipa-reference is |
| disabled. |
| (ignore_module_statics): New static var. |
| (propagate_bits): If ipa-reference is disabled, do not look into local |
| properties. |
| (analyze_function): Disable analysis when ipa_reference is disabled. |
| (generate_summary): Do not dump when reference is disabled; |
| collect vars accessed from functions with ipa-reference disabled. |
| (get_read_write_all_from_node): When ipa-reference is disabled, use the |
| node flags. |
| (gate): Enable for LTO. |
| (ignore_edge_p): New function. |
| (propagate): Skip functions w/o ipa-reference analysis. |
| * optc-save-gen.awk: Handle optimize_debug correctly. |
| * opth-gen.awk: Likewise. |
| * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse, |
| fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region, |
| fira-share-save-slots, fira-share-spill-slots, |
| fmodulo-sched-allow-regmoves, fpartial-inlining, |
| sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow, |
| ftracer, ftree-parallelize-loops, fassociative-math, |
| freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as |
| Optimization |
| (fauto-profile, fcommon, fdata-sections, fipa-icf-variables, |
| ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as |
| Optimization. |
| * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items): |
| Fix for IPA. |
| |
| 2015-01-18 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64378 |
| * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative |
| flag correctly. |
| * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation. |
| |
| 2015-01-18 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]): |
| Remove duplicate option listings. |
| |
| 2015-01-18 Felix Yang <felix.yang@huawei.com> |
| |
| * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test. |
| (autofdo_source_profile::get_callsite_total_count, |
| function_instance::get_function_instance_by_decl, |
| string_table::get_index, string_table::get_index_by_decl, |
| afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline): |
| Fix comment typos. Reformatting and minor code rearrangement. |
| |
| 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.md (probe_stack): Delete. |
| (probe_stack_address): New. |
| |
| 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT |
| to test for 32-bit ABIs, not !TARGET_POWERPC64. |
| |
| 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (rs6000_parallel_return): New function. |
| (rs6000_function_value): Use it. Handle SCmode and TCmode as well, |
| for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD |
| snafu. |
| (rs6000_libcall_value): Use the new function. |
| |
| 2015-01-17 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-ftracer]): Remove duplicate option listing. |
| |
| 2015-01-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid, |
| implement a more precise life analysis for it during backward scan. |
| |
| 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com> |
| |
| * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed. |
| |
| 2015-01-17 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR rtl-optimization/52773 |
| * calls.c (emit_library_call_value): When pushing arguments use |
| stack_pointer_rtx rather than virtual_outgoing_args_rtx in |
| CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic |
| stack pointer reference into CALL_INSN_FUNCTION_USAGE. |
| |
| 2015-01-17 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/32790 |
| * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT, |
| not ZERO_EXTEND in SET_DESTs. |
| |
| 2015-01-17 Alan Modra <amodra@gmail.com> |
| |
| * cprop.c (do_local_cprop): Revert last change. |
| |
| 2015-01-16 DJ Delorie <dj@redhat.com> |
| Nick Clifton <nickc@redhat.com> |
| |
| * config/rl78/rl78-real.md (addqi3_real): Allow volatiles. |
| (addhi3_real): Likewise. Fix [HL+0] syntax. |
| (subqi3_real): Likewise. |
| (subhi3_real): Likewise. |
| (cbranchqi4_real): Likewise. Allow saddr,#imm. |
| (cbranchhi4_real): Likewise. |
| (cbranchhi4_real_inverted): Likewise. |
| (cbranchsi4_real_lt): Likewise. |
| (cbranchsi4_real_ge): Likewise. |
| (cbranchsi4_real_ge): Likewise. |
| * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise. |
| (sub<mode>3_virt): Likewise. |
| (cbranchqi4_virt): Likewise. |
| (cbranchhi4_virt): Likewise. |
| * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means |
| always use '[reg+imm]' even when imm is zero. |
| * config/rl78/predicates.md (rl78_volatile_memory_operand): New. |
| (rl78_general_operand): New. |
| (rl78_nonimmediate_operand): New. |
| (rl78_nonfar_operand): Use them. |
| (rl78_nonfar_nonimm_operand): Likewise. |
| (rl78_stack_based_mem): Fix. |
| * config/rl78/constraints.md (Ibqi): New. |
| (IBqi): New. |
| (Wsa): New. |
| (Wsf): New. |
| (Cs1): Fix. |
| * config/rl78/rl78-expand.md (andqi3): Accept volatiles. |
| (iorqi3): Likewise. |
| (xorqi3): Likewise. |
| * config/rl78/rl78-protos.h (rl78_sfr_p): New. |
| |
| * config/rl78/constrains (Qs8): New constraint. |
| * config/rl78/rl78.c (rl78_flags_already_set): New function. |
| * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype. |
| * config/rl78/rl78-real.md (update_Z): New attribute. |
| Update patterns to set it. |
| (cbranchqi4_real): Call rl78_flags_already_set() to determine if a |
| shorter compare and branch sequence can be used. |
| (cbranchhi4_real): Likewise. |
| (cbranchhi4_real_inverted): Likewise. |
| |
| * config/rl78/predicates.md (uword_operand): Allow symbol_refs. |
| * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near |
| address space. |
| * config/rl78/rl78.c (rl78_get_name_encoding): New. |
| (rl78_option_override): Allow -mes0 only if C. |
| (characterize_address): Support subregs of symbol_refs. |
| (rl78_addr_space_address_mode): Move. Add __near. |
| (rl78_far_p): Likewise. |
| (rl78_addr_space_pointer_mode): Likewise. |
| (rl78_as_legitimate_address): Likewise. |
| (rl78_addr_space_subset_p): Likewise. |
| (rl78_addr_space_convert): Likewise. |
| (rl78_print_operand_1): Support 16-bit addressing of 32-bit |
| symbols with -mes0. |
| (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC] |
| addressing. |
| (rl78_alloc_physical_registers_op1): Change logic to prefer |
| symbol[BC] addressing. |
| (frodata_section): New. |
| (rl78_asm_init_sections): Initialize it. |
| (rl78_select_section): Put __far readonly symbols in .frodata. |
| (rl78_make_type_far): New. |
| (rl78_insert_attributes): Force all readonly symbols to be |
| __far when -mes0. |
| (rl78_asm_out_integer): New. |
| * config/rl78/rl78.h (ADDR_SPACE_NEAR): New. |
| * config/rl78/rl78.opt (-mes0): New. |
| |
| * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New. |
| (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. |
| (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. |
| * config/rl78/rl78-protos.h (rl78_output_labelref): New. |
| (rl78_saddr_p): New. |
| (rl78_output_aligned_common): New. |
| * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings. |
| (rl78_handle_saddr_attribute): New. |
| (rl78_handle_naked_attribute): New. |
| (rl78_attribute_table): Add saddr. |
| (rl78_print_operand_1): Don't print '!' on saddr operands. |
| (rl78_print_operand_1): Strip encodings. |
| (rl78_sfr_p): New. |
| (rl78_strip_name_encoding): New. |
| (rl78_attrlist_to_encoding): New. |
| (rl78_encode_section_info): New. |
| (rl78_asm_init_sections): New. |
| (rl78_select_section): New. |
| (rl78_output_labelref): New. |
| (rl78_output_aligned_common): New. |
| (rl78_asm_out_integer): New. |
| (rl78_asm_ctor_dtor): New. |
| (rl78_asm_constructor): New. |
| (rl78_asm_destructor): New. |
| |
| * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es. |
| * config/rl78/rl78.c (rl78_expand_epilogue): Update. |
| (transcode_memory_rtx): Update. |
| (rl78_expand_epilogue): Use A_REG instead of 0. |
| |
| 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> |
| |
| * config/arm/arm-protos.h (struct tune_params): New field |
| sched_autopref_queue_depth. |
| * config/arm/arm.c (sched-int.h): Include header. |
| (arm_first_cycle_multipass_dfa_lookahead_guard,) |
| (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook. |
| (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,) |
| (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,) |
| (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,) |
| (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,) |
| (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,) |
| (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): |
| Specify sched_autopref_queue_depth value. Enabled for A15 and A57. |
| * config/arm/t-arm (arm.o): Update. |
| * haifa-sched.c (update_insn_after_change): Update. |
| (rank_for_schedule): Use auto-prefetcher model, if requested. |
| (autopref_multipass_init): New static function. |
| (autopref_rank_for_schedule): New rank_for_schedule heuristic. |
| (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static |
| variable for debug dumps. |
| (autopref_multipass_dfa_lookahead_guard_1): New static helper function. |
| (autopref_multipass_dfa_lookahead_guard): New global function that |
| implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook. |
| (init_h_i_d): Update. |
| * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob. |
| * sched-int.h (enum autopref_multipass_data_status): New const enum. |
| (autopref_multipass_data_): Structure for auto-prefetcher data. |
| (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs. |
| (struct _haifa_insn_data:autopref_multipass_data): New field. |
| (INSN_AUTOPREF_MULTIPASS_DATA): New access macro. |
| (autopref_multipass_dfa_lookahead_guard): Declare. |
| |
| 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> |
| |
| * rtlanal.c (get_base_term): Handle SCRATCH. |
| |
| 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> |
| |
| * config/aarch64/aarch64.c |
| (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook. |
| (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. |
| * config/arm/arm.c |
| (arm_first_cycle_multipass_dfa_lookahead): Implement hook. |
| (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. |
| |
| 2015-01-17 Alan Modra <amodra@gmail.com> |
| |
| * cprop.c (do_local_cprop): Disallow replacement of fixed |
| hard registers. |
| |
| 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/62066 |
| * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before |
| early return 0. |
| |
| 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters. |
| * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update. |
| |
| 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.md: Move comment about splitting Thumb1 patterns to... |
| * config/arm/thumb1.md: ... Here. |
| |
| 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow |
| TImode for TARGET_32BIT. |
| |
| 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, |
| TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement |
| as ... |
| (rs6000_abi_word_mode): New function. |
| |
| 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD |
| instead of UNITS_PER_WORD to describe the size of stack slots. |
| |
| 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement |
| as rs6000_promote_function_mode. Move comment to there. |
| (rs6000_promote_function_mode): New function. |
| |
| 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32 |
| -mpowerpc64 is active. |
| |
| 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR middle-end/64353 |
| * tree-cfg.c (pass_data_fixup_cfg): Update SSA for |
| virtuals on start. |
| |
| 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/arm/cortex-a57.md: Remove duplicate of file accidentally |
| introduced in revision 219724. |
| |
| 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/64263 |
| * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the |
| destination is not a GP reg. |
| (*movdi_aarch64): Likewise. |
| |
| 2015-01-16 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/64623 |
| * config/rs6000/default64.h: Revert ISA change. |
| |
| 2015-01-16 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64614 |
| * tree-ssa-uninit.c: Include tree-cfg.h. |
| (MAX_SWITCH_CASES): New define. |
| (convert_control_dep_chain_into_preds): Handle switch statements. |
| (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0. |
| (normalize_one_pred_1): Do not split bit-manipulations. |
| Record (x & CST). |
| |
| 2015-01-16 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64568 |
| * tree-ssa-forwprop.c (pass_forwprop::execute): Guard |
| complex load rewriting for TARGET_MEM_REFs. |
| |
| 2015-01-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| * builtins.c (expand_builtin_acc_on_device): Check target for NULL. |
| |
| 2015-01-16 Matthew Wahab <matthew.wahab@arm.com> |
| |
| PR target/64149 |
| * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag |
| variable. |
| * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true. |
| (aarch64_lra_p): Remove. |
| |
| 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR target/64363 |
| * ipa-chkp.h (chkp_instrumentable_p): New. |
| * ipa-chkp.c: Include tree-inline.h. |
| (chkp_instrumentable_p): New. |
| (chkp_maybe_create_clone): Use chkp_instrumentable_p. |
| Fix processing of not instrumentable functions. |
| (chkp_versioning): Use chkp_instrumentable_p. Warn about |
| not instrumentable functions. |
| * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use |
| chkp_instrumentable_p. |
| * tree-inline.h (copy_forbidden): New. |
| * tree-inline.c (copy_forbidden): Not static anymore. |
| |
| 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * optc-save-gen.awk (cl_target_option_print_diff): Mark indent, |
| ptr1, ptr2 unused. |
| |
| 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com> |
| |
| * lra-constraints.c (curr_insn_transform): Change a reload pseudo of |
| type OP_OUT to OP_INOUT. |
| |
| 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com> |
| |
| * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum |
| (high x) y) to y if x and y have the same base. |
| |
| 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/arm/cortex-a57.md: New. |
| * config/aarch64/aarch64.md: Include it. |
| * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it. |
| * config/aarch64/aarch64-tune.md: Regenerate. |
| |
| 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com> |
| |
| PR target/64015 |
| * ccmp.c (expand_ccmp_next): New function. |
| (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence |
| and compare insn sequence. |
| * config/aarch64/aarch64.c (aarch64_code_to_ccmode, |
| aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions. |
| (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO. |
| * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>. |
| (*ccmp_ior): Changed to ccmp_ior<mode>. |
| (cmp<mode>): New pattern. |
| * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update |
| parameters. |
| * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters. |
| |
| 2015-01-16 Ilya Tocar <ilya.tocar@intel.com> |
| |
| * config/i386/avx2intrin.h (_mm256_bslli_epi128, |
| _mm256_bsrli_epi128): New. |
| * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto. |
| |
| 2015-01-15 Jiong Wang <jiong.wang@arm.com> |
| |
| * expmed.c (store_bit_field_using_insv): Improve warning message. |
| Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED. |
| |
| 2015-01-15 Jiong Wang <jiong.wang@arm.com> |
| |
| PR rtl-optimization/64011 |
| * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when |
| there is partial overflow. |
| |
| 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change |
| prototype. |
| (nds32_expand_epilogue_v3pop): Likewise. |
| * config/nds32/nds32.md (sibcall): Define this for sibling call |
| optimization. |
| (sibcall_register): Likewise. |
| (sibcall_immediate): Likewise. |
| (sibcall_value): Likewise. |
| (sibcall_value_register): Likewise. |
| (sibcall_value_immediate): Likewise. |
| (sibcall_epilogue): Likewise. |
| (epilogue): Pass false to indicate this is not a sibcall epilogue. |
| * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case. |
| (nds32_expand_epilogue_v3pop): Likewise. |
| |
| 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New. |
| * config/nds32/nds32.md (unspec_volatile_func_return): Remove. |
| (return_internal): New. |
| (return): Define this named pattern. |
| (simple_return): Define this named pattern. |
| * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal |
| pattern instead of unspec_volatile_func_return. |
| (nds32_expand_epilogue_v3pop): Likewise. |
| (nds32_can_use_return_insn): New function. |
| |
| 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New. |
| * config/nds32/nds32.md (pop25return): New. |
| * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit |
| pop25return pattern. |
| |
| 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp, |
| -mforbid-fp-as-gp, and -mex9 options. |
| |
| 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and |
| remove -mgp-direct option. |
| |
| 2015-01-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| * doc/invoke.texi (--param early-inlining-insns): Update default value. |
| * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14. |
| |
| 2015-01-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-inline.c (inline_small_functions): Work around hints |
| cache issue. |
| |
| 2015-01-15 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR target/59710 |
| * doc/invoke.texi (Option Summary): Document new Nios II |
| -mgpopt= syntax. |
| (Nios II Options): Likewise. |
| * config/nios2/nios2.opt: Add -mgpopt= option support. |
| Modify existing -mgpopt and -mno-gpopt options to be aliases. |
| * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New. |
| * config/nios2/nios2.c (nios2_option_override): Adjust |
| -mgpopt defaulting. |
| (nios2_in_small_data_p): Return true for explicit small data |
| sections even with -G0. |
| (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt= |
| option choices. |
| |
| 2015-01-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64612 |
| * ipa-inline-transform.c (can_remove_node_now_p): Fix handling |
| of comdat locals. |
| (inline_call): Fix removal of aliases. |
| |
| 2015-01-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR, |
| include SANITIZE_VPTR in SANITIZE_UNDEFINED. |
| * opts.c (common_handle_option): Add -fsanitize=vptr. |
| * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS, |
| BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New. |
| * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER, |
| UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE. |
| (ubsan_expand_vptr_ifn): New prototype. |
| * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE, |
| expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL, |
| expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, |
| expand_LOOP_VECTORIZED): Make argument nameless, remove |
| ATTRIBUTE_UNUSED. |
| (expand_UBSAN_VPTR): New function. |
| * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W |
| in fn spec. |
| (UBSAN_VPTR): New internal function. |
| * sanopt.c (tree_map_traits): Renamed to ... |
| (sanopt_tree_map_traits): ... this. |
| (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes. |
| (sanopt_ctx): Adjust asan_check_map type for tree_map_traits |
| to sanopt_tree_map_traits renaming. Add vptr_check_map field. |
| (maybe_optimize_ubsan_vptr_ifn): New function. |
| (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR. |
| (pass_sanopt::execute): Likewise. Call sanopt_optimize even for |
| -fsanitize=vptr. |
| * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain |
| internal calls like pure functions for aliasing, even when they |
| have other side-effects that prevent making them ECF_PURE. |
| * ubsan.c (ubsan_vptr_type_cache_decl): New variable. |
| (ubsan_expand_vptr_ifn): New function. |
| |
| 2015-01-15 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/64110 |
| * stmt.c (parse_output_constraint): Process '^' and '$'. |
| (parse_input_constraint): Ditto. |
| * lra-constraints.c (process_alt_operands): Process the new |
| constraints. |
| * ira-costs.c (record_reg_classes): Process the new constraint |
| '^'. |
| * genoutput.c (indep_constraints): Add '^' and '$'. |
| * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'. |
| * doc/md.texi: Add description of the new constraints. |
| |
| 2015-01-15 Thomas Schwinge <thomas@codesourcery.com> |
| Bernd Schmidt <bernds@codesourcery.com> |
| Cesar Philippidis <cesar@codesourcery.com> |
| James Norris <jnorris@codesourcery.com> |
| Tom de Vries <tom@codesourcery.com> |
| Ilmir Usmanov <i.usmanov@samsung.com> |
| Dmitry Bocharnikov <dmitry.b@samsung.com> |
| Evgeny Gavrin <e.gavrin@samsung.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * builtin-types.def (BT_FN_VOID_INT_INT_VAR) |
| (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) |
| (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): |
| New function types. |
| * builtins.c: Include "gomp-constants.h". |
| (expand_builtin_acc_on_device): New function. |
| (expand_builtin, is_inexpensive_builtin): Handle |
| BUILT_IN_ACC_ON_DEVICE. |
| * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER): |
| New macros. |
| * cgraph.c (cgraph_node::create): Consider flag_openacc next to |
| flag_openmp. |
| * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h. |
| <*-intelmic-* | *-intelmicemul-*> (tm_file): Add |
| i386/intelmic-offload.h. |
| * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link |
| to libgomp and its dependencies. |
| * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise. |
| * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. |
| * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. |
| * config/ia64/hpux.h (LIB_SPEC): Likewise. |
| * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. |
| * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. |
| * doc/generic.texi: Update for OpenACC changes. |
| * doc/gimple.texi: Likewise. |
| * doc/invoke.texi: Likewise. |
| * doc/sourcebuild.texi: Likewise. |
| * gimple-pretty-print.c (dump_gimple_omp_for): Handle |
| GF_OMP_FOR_KIND_OACC_LOOP. |
| (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS, |
| GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA, |
| GF_OMP_TARGET_KIND_OACC_UPDATE, |
| GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA. |
| Dump more data. |
| * gimple.c: Update comments for OpenACC changes. |
| * gimple.def: Likewise. |
| * gimple.h: Likewise. |
| (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP, |
| GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS, |
| GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE, |
| GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA. |
| (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the |
| appropriate place. |
| (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions. |
| * gimplify.c: Include "gomp-constants.h". |
| Update comments for OpenACC changes. |
| (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA, |
| OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA, |
| OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP. |
| (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle |
| OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, |
| OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, |
| OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER, |
| OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT, |
| OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO, |
| OMP_CLAUSE_SEQ. |
| (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use |
| GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use |
| OMP_CLAUSE_SET_MAP_KIND. |
| (gimplify_oacc_cache): New function. |
| (gimplify_omp_for): Handle OACC_LOOP. |
| (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL, |
| OACC_DATA. |
| (gimplify_omp_target_update): Handle OACC_ENTER_DATA, |
| OACC_EXIT_DATA, OACC_UPDATE. |
| (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA, |
| OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA, |
| OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE. |
| (gimplify_body): Consider flag_openacc next to flag_openmp. |
| * lto-streamer-out.c: Include "gomp-constants.h". |
| * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE) |
| (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END) |
| (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL) |
| (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT) |
| (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS) |
| (BUILT_IN_ACC_ON_DEVICE): New builtins. |
| * omp-low.c: Include "gomp-constants.h". |
| Update comments for OpenACC changes. |
| (struct omp_context): Add reduction_map, gwv_below, gwv_this |
| members. |
| (extract_omp_for_data, use_pointer_for_field, install_var_field) |
| (new_omp_context, delete_omp_context, scan_sharing_clauses) |
| (create_omp_child_function, scan_omp_for, scan_omp_target) |
| (check_omp_nesting_restrictions, lower_reduction_clauses) |
| (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges): |
| Update for OpenACC changes. |
| (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS: |
| OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH, |
| OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG, |
| OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT, |
| OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT, |
| OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of |
| OMP_CLAUSE_MAP_*. |
| (expand_omp_for_static_nochunk, expand_omp_for_static_chunk): |
| Handle GF_OMP_FOR_KIND_OACC_LOOP. |
| (expand_omp_target, lower_omp_target): Handle |
| GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS, |
| GF_OMP_TARGET_KIND_OACC_UPDATE, |
| GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA, |
| GF_OMP_TARGET_KIND_OACC_DATA. |
| (pass_expand_omp::execute, execute_lower_omp) |
| (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to |
| flag_openmp. |
| (offload_symbol_decl): New variable. |
| (oacc_get_reduction_array_id, oacc_max_threads) |
| (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction) |
| (maybe_lookup_oacc_reduction, enclosing_target_ctx) |
| (oacc_loop_or_target_p, oacc_lower_reduction_var_helper) |
| (oacc_gimple_assign, oacc_initialize_reduction_data) |
| (oacc_finalize_reduction_data, oacc_process_reduction_data): New |
| functions. |
| (is_targetreg_ctx): Remove function. |
| * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_, |
| OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE, |
| OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, |
| OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT, |
| OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS, |
| OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH. |
| * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly. |
| * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR) |
| (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR) |
| (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR) |
| (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR) |
| (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros. |
| * tree-core.h: Update comments for OpenACC changes. |
| (enum omp_clause_map_kind): Remove. |
| (struct tree_omp_clause): Change type of map_kind member from enum |
| omp_clause_map_kind to unsigned char. |
| * tree-inline.c: Update comments for OpenACC changes. |
| * tree-nested.c: Likewise. Include "gomp-constants.h". |
| (convert_nonlocal_reference_stmt, convert_local_reference_stmt) |
| (convert_tramp_reference_stmt, convert_gimple_call): Update for |
| OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use |
| OMP_CLAUSE_SET_MAP_KIND. |
| * tree-pretty-print.c: Include "gomp-constants.h". |
| (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT, |
| OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG, |
| OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, |
| OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, |
| OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, |
| OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_* |
| instead of OMP_CLAUSE_MAP_*. |
| (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS, |
| OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, |
| OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP. |
| * tree-streamer-in.c: Include "gomp-constants.h". |
| (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of |
| OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND. |
| * tree-streamer-out.c: Include "gomp-constants.h". |
| (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of |
| OMP_CLAUSE_MAP_*. |
| * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA) |
| (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE) |
| (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes. |
| * tree.c (omp_clause_num_ops): Update accordingly. |
| * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE): |
| Likewise. |
| (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY) |
| (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES) |
| (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES) |
| (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES) |
| (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES) |
| (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros. |
| * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind. |
| (OMP_CLAUSE_SET_MAP_KIND): New macro. |
| * varpool.c (varpool_node::get_create): Consider flag_openacc next |
| to flag_openmp. |
| * config/i386/intelmic-offload.h: New file. |
| * config/nvptx/offload.h: Likewise. |
| |
| 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> |
| |
| * explow.h: Remove duplicate contents. |
| * dojump.h: Likewise. |
| |
| 2015-01-15 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c (arm_xgene_tune): Add default initializer for instruction |
| fusion. |
| |
| 2015-01-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64068 |
| PR ipa/64559 |
| * ipa.c (symbol_table::remove_unreachable_nodes): |
| Do not put abstract origins into boundary. |
| |
| 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com> |
| |
| * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage. |
| * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto. |
| |
| 2015-01-15 Steve Ellcey <sellcey@mips.com> |
| |
| * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h, |
| cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h, |
| builtins.def, and chkp-builtins.def. |
| |
| 2015-01-15 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use |
| ISA 2.7 (POWER8). |
| |
| 2015-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/61743 |
| * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range |
| information on PHIs for some simple cases. |
| |
| 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com> |
| |
| * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list. |
| Include xgene1.md. |
| * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1. |
| * config/arm/arm-cores.def (xgene1): New entry. |
| * config/arm/arm-tables.opt: Regenerate. |
| * config/arm/arm-tune.md: Regenerate. |
| * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1. |
| |
| 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| * tree-if-conv.c: Include hash-map.h. |
| (aggressive_if_conv): New variable. |
| (fold_build_cond_expr): Add simplification of non-zero condition. |
| (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge |
| destination block is not always executed. |
| (if_convertible_phi_p): Fix commentary, allow phi nodes have more |
| than two predecessors if AGGRESSIVE_IF_CONV is true. |
| (if_convertible_stmt_p): Fix commentary. |
| (all_preds_critical_p): New function. |
| (has_pred_critical_p): New function. |
| (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true |
| BB can have more than two predecessors and all incoming edges can be |
| critical. |
| (predicate_bbs): Skip predication for loop exit block, use build2_loc |
| to compute predicate for true edge. |
| (find_phi_replacement_condition): Delete this function. |
| (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED. |
| Allow interchange PHI arguments if EXTENDED is false. |
| Change check that block containing reduction statement candidate |
| is predecessor of phi-block since phi may have more than two arguments. |
| (phi_args_hash_traits): New helper structure. |
| (struct phi_args_hash_traits): New type. |
| (phi_args_hash_traits::hash): New function. |
| (phi_args_hash_traits::equal_keys): New function. |
| (gen_phi_arg_condition): New function. |
| (predicate_scalar_phi): Add handling of phi nodes with more than two |
| arguments, delete COND and TRUE_BB arguments, insert body of |
| find_phi_replacement_condition to predicate ordinary phi nodes. |
| (predicate_all_scalar_phis): Skip blocks with the only predecessor, |
| delete call of find_phi_replacement_condition and invoke |
| predicate_scalar_phi with two arguments. |
| (insert_gimplified_predicates): Add assert that non-predicated block |
| don't have statements to insert. |
| (ifcvt_split_critical_edges): New function. |
| (ifcvt_split_def_stmt): Likewise. |
| (ifcvt_walk_pattern_tree): Likewise. |
| (stmt_is_root_of_bool_pattern): Likewise. |
| (ifcvt_repair_bool_pattern): Likewise. |
| (ifcvt_local_dce): Likewise. |
| (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which |
| is copy of inner or outer loop force_vectorize field, invoke |
| ifcvt_split_critical_edges, ifcvt_local_dce and |
| ifcvt_repair_bool_pattern for aggressive if-conversion. |
| |
| 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com> |
| |
| * config/aarch64/aarch64.md: Include xgene1.md. |
| * config/aarch64/xgene1.md: New file. |
| |
| 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com> |
| |
| * config/aarch64/aarch64-cores.def (xgene1): Update/add the |
| xgene1 (APM XGene-1) core definition. |
| * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1 |
| * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1 |
| * doc/invoke.texi: Document -mcpu=xgene1. |
| |
| 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> |
| |
| * dojump.h: New header file. |
| * explow.h: Likewise. |
| * expr.h: Remove includes. |
| Move expmed.c prototypes to expmed.h. |
| Move dojump.c prototypes to dojump.h. |
| Move alias.c prototypes to alias.h. |
| Move explow.c prototypes to explow.h. |
| Move calls.c prototypes to calls.h. |
| Move emit-rtl.c prototypes to emit-rtl.h. |
| Move varasm.c prototypes to varasm.h. |
| Move stmt.c prototypes to stmt.h. |
| (saved_pending_stack_adjust): Move to dojump.h. |
| (adjust_address): Move to explow.h. |
| (adjust_address_nv): Move to emit-rtl.h. |
| (adjust_bitfield_address): Likewise. |
| (adjust_bitfield_address_size): Likewise. |
| (adjust_bitfield_address_nv): Likewise. |
| (adjust_automodify_address_nv): Likewise. |
| * explow.c (expr_size): Move to expr.c. |
| (int_expr_size): Likewise. |
| (tree_expr_size): Likewise. |
| Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h statistics.h stmt.h varasm.h. |
| * genemit.c (main): Generate includes statistics.h, real.h, |
| fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, |
| stmt.h. |
| * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, |
| function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, |
| explow.h, emit-rtl.h, stmt.h. |
| * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h, |
| fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h. |
| * genemit.c (open_base_files): Generate includes flags.h, statistics.h, |
| real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, |
| emit-rtl.h, varasm.h, stmt.h. |
| * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, |
| hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, |
| function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h, |
| fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h, |
| expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. |
| * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h |
| double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h |
| function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h |
| insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h |
| tm.h tree.h varasm.h vec.h wide-int.h. |
| * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h |
| explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h |
| hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h |
| real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h. |
| * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h |
| emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h |
| insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h. |
| * loop-iv.c: Likewise. |
| * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h |
| emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h |
| statistics.h stmt.h tree.h varasm.h wide-int.h. |
| * lra-constraints.c: Likewise. |
| * lra-eliminations.c: Likewise. |
| * lra-lives.c: Likewise. |
| * lra-remat.c: Likewise. |
| * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h |
| explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h |
| statistics.h stmt.h tree.h varasm.h wide-int.h. |
| * hw-doloop.c: Likewise. |
| * ira-color.c: Likewise. |
| * ira-emit.c: Likewise. |
| * loop-doloop.c: Likewise. |
| * loop-invariant.c: Likewise. |
| * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h |
| explow.h expmed.h fixed-value.h inchash.h real.h rtl.h |
| statistics.h stmt.h tree.h varasm.h wide-int.h. |
| * caller-save.c: Include alias.h calls.h dojump.h double-int.h |
| emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h |
| statistics.h stmt.h tree.h varasm.h wide-int.h. |
| * combine-stack-adj.c: Likewise. |
| * cse.c: Likewise. |
| * ddg.c: Likewise. |
| * ifcvt.c: Likewise. |
| * ira-costs.c: Likewise. |
| * jump.c: Likewise. |
| * lra-coalesce.c: Likewise. |
| * lra-spills.c: Likewise. |
| * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h |
| explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h |
| stmt.h varasm.h wide-int.h. |
| * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h |
| explow.h expmed.h fixed-value.h real.h statistics.h stmt.h |
| varasm.h. |
| * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h |
| double-int.h explow.h expmed.h fixed-value.h flags.h real.h |
| statistics.h stmt.h varasm.h wide-int.h. |
| * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h |
| expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h |
| varasm.h wide-int.h. |
| * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h |
| expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. |
| * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h |
| emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h |
| statistics.h stmt.h. |
| * config/tilepro/tilepro.c: Likewise. |
| * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h |
| explow.h expmed.h fixed-value.h real.h statistics.h stmt.h. |
| * config/pdp11/pdp11.c: Likewise. |
| * config/xtensa/xtensa.c: Likewise. |
| * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h |
| explow.h expmed.h fixed-value.h real.h statistics.h stmt.h |
| varasm.h. |
| * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h flags.h function.h hard-reg-set.h hashtab.h |
| insn-config.h real.h rtl.h statistics.h stmt.h tm.h. |
| * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h flags.h function.h hard-reg-set.h hashtab.h |
| insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h. |
| * rtl-chkp.c: Likewise. |
| * tree-chkp-opt.c: Likewise. |
| * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h |
| explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h |
| hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. |
| * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h |
| statistics.h stmt.h. |
| * tree-vect-data-refs.c: Likewise. |
| * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h |
| expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h |
| rtl.h statistics.h stmt.h varasm.h. |
| * internal-fn.c: Likewise. |
| * ipa-icf-gimple.c: Likewise. |
| * lto-section-out.c: Likewise. |
| * tree-data-ref.c: Likewise. |
| * tree-nested.c: Likewise. |
| * tree-outof-ssa.c: Likewise. |
| * tree-predcom.c: Likewise. |
| * tree-pretty-print.c: Likewise. |
| * tree-scalar-evolution.c: Likewise. |
| * tree-ssa-strlen.c: Likewise. |
| * tree-vect-loop.c: Likewise. |
| * tree-vect-patterns.c: Likewise. |
| * tree-vect-slp.c: Likewise. |
| * tree-vect-stmts.c: Likewise. |
| * tsan.c: Likewise. |
| * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h |
| stmt.h. |
| * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h |
| expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h |
| statistics.h stmt.h varasm.h. |
| * loop-unroll.c: Likewise. |
| * ubsan.c: Likewise. |
| * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h |
| expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h |
| stmt.h varasm.h. |
| * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h. |
| * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h |
| expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h |
| statistics.h stmt.h. |
| * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h |
| expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h |
| statistics.h stmt.h varasm.h. |
| * gimple-match-head.c: Likewise. |
| * lto-cgraph.c: Likewise. |
| * lto-section-in.c: Likewise. |
| * lto-streamer-in.c: Likewise. |
| * lto-streamer-out.c: Likewise. |
| * tree-affine.c: Likewise. |
| * tree-cfg.c: Likewise. |
| * tree-cfgcleanup.c: Likewise. |
| * tree-if-conv.c: Likewise. |
| * tree-into-ssa.c: Likewise. |
| * tree-ssa-alias.c: Likewise. |
| * tree-ssa-copyrename.c: Likewise. |
| * tree-ssa-dse.c: Likewise. |
| * tree-ssa-forwprop.c: Likewise. |
| * tree-ssa-live.c: Likewise. |
| * tree-ssa-math-opts.c: Likewise. |
| * tree-ssa-pre.c: Likewise. |
| * tree-ssa-sccvn.c: Likewise. |
| * tree-tailcall.c: Likewise. |
| * tree-vect-generic.c: Likewise. |
| * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h. |
| * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h. |
| * varasm.c: Likewise. |
| * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h |
| varasm.h. |
| * init-regs.c: Likewise. |
| * ira.c: Likewise. |
| * omp-low.c: Likewise. |
| * stack-ptr-mod.c: Likewise. |
| * tree-ssa-reassoc.c: Likewise. |
| * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h |
| varasm.h. |
| * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h. |
| * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h. |
| * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h. |
| * tree-ssa-phiopt.c: Likewise. |
| * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h real.h statistics.h stmt.h. |
| * config/fr30/fr30.c: Likewise. |
| * config/frv/frv.c: Likewise. |
| * expr.c: Likewise. |
| * final.c: Likewise. |
| * optabs.c: Likewise. |
| * passes.c: Likewise. |
| * simplify-rtx.c: Likewise. |
| * stmt.c: Likewise. |
| * toplev.c: Likewise. |
| * var-tracking.c: Likewise. |
| * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. |
| * lower-subreg.c: Likewise. |
| * postreload-gcse.c: Likewise. |
| * ree.c: Likewise. |
| * reginfo.c: Likewise. |
| * store-motion.c: Likewise. |
| * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h real.h stmt.h varasm.h. |
| * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h statistics.h stmt.h. |
| * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h statistics.h stmt.h varasm.h. |
| * except.c: Likewise. |
| * explow.c: Likewise. |
| * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h |
| varasm.h. |
| * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h. |
| * tree-ssa-structalias.c: Likewise. |
| * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h insn-config.h real.h statistics.h. |
| * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h insn-config.h real.h statistics.h stmt.h. |
| * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. |
| * cfgbuild.c: Likewise. |
| * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h real.h rtl.h statistics.h stmt.h. |
| * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. |
| * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h real.h statistics.h stmt.h. |
| * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h real.h statistics.h stmt.h varasm.h. |
| * cprop.c: Likewise. |
| * modulo-sched.c: Likewise. |
| * postreload.c: Likewise. |
| * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h |
| flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h |
| statistics.h stmt.h varasm.h. |
| * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h |
| explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h |
| rtl.h statistics.h stmt.h varasm.h. |
| * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h |
| fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h |
| varasm.h. |
| * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h |
| function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h |
| varasm.h. |
| * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h |
| fixed-value.h function.h hashtab.h real.h statistics.h stmt.h |
| varasm.h. |
| * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h |
| fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. |
| * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h |
| function.h real.h statistics.h stmt.h varasm.h. |
| * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h |
| insn-config.h real.h statistics.h stmt.h. |
| * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h |
| statistics.h stmt.h. |
| * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h flags.h hard-reg-set.h insn-config.h real.h |
| statistics.h stmt.h varasm.h. |
| * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h. |
| * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h |
| flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h. |
| * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h |
| statistics.h stmt.h varasm.h. |
| * ipa-polymorphic-call.c: Likewise. |
| * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h |
| expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h |
| statistics.h stmt.h. |
| * config/c6x/c6x.c: Likewise. |
| * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h |
| explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h |
| statistics.h stmt.h varasm.h. |
| * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h |
| stmt.h varasm.h. |
| * ipa-split.c: Likewise. |
| * tree-eh.c: Likewise. |
| * tree-ssa-dce.c: Likewise. |
| * tree-ssa-loop-niter.c: Likewise. |
| * tree-vrp.c: Likewise. |
| * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h |
| expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h |
| stmt.h. |
| * config/nds32/nds32-fp-as-gp.c: Likewise. |
| * config/nds32/nds32-intrinsic.c: Likewise. |
| * config/nds32/nds32-isr.c: Likewise. |
| * config/nds32/nds32-md-auxiliary.c: Likewise. |
| * config/nds32/nds32-memory-manipulation.c: Likewise. |
| * config/nds32/nds32-pipelines-auxiliary.c: Likewise. |
| * config/nds32/nds32-predicates.c: Likewise. |
| * config/nds32/nds32.c: Likewise. |
| * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h real.h statistics.h. |
| * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h real.h statistics.h stmt.h. |
| * config/arm/arm.c: Likewise. |
| * config/avr/avr.c: Likewise. |
| * config/bfin/bfin.c: Likewise. |
| * config/h8300/h8300.c: Likewise. |
| * config/i386/i386.c: Likewise. |
| * config/ia64/ia64.c: Likewise. |
| * config/iq2000/iq2000.c: Likewise. |
| * config/m32c/m32c.c: Likewise. |
| * config/m32r/m32r.c: Likewise. |
| * config/m68k/m68k.c: Likewise. |
| * config/mcore/mcore.c: Likewise. |
| * config/mep/mep.c: Likewise. |
| * config/mips/mips.c: Likewise. |
| * config/mn10300/mn10300.c: Likewise. |
| * config/moxie/moxie.c: Likewise. |
| * config/pa/pa.c: Likewise. |
| * config/rl78/rl78.c: Likewise. |
| * config/rx/rx.c: Likewise. |
| * config/s390/s390.c: Likewise. |
| * config/sh/sh.c: Likewise. |
| * config/sparc/sparc.c: Likewise. |
| * config/spu/spu.c: Likewise. |
| * config/stormy16/stormy16.c: Likewise. |
| * config/v850/v850.c: Likewise. |
| * config/vax/vax.c: Likewise. |
| * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. |
| * config/msp430/msp430.c: Likewise. |
| * predict.c: Likewise. |
| * value-prof.c: Likewise. |
| * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h |
| expmed.h fixed-value.h hashtab.h statistics.h stmt.h. |
| * config/microblaze/microblaze.c: Likewise. |
| * config/nios2/nios2.c: Likewise. |
| * config/rs6000/rs6000.c: Likewise. |
| * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h |
| insn-config.h real.h rtl.h statistics.h stmt.h. |
| * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h |
| insn-config.h real.h statistics.h stmt.h. |
| * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. |
| * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. |
| * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h real.h statistics.h stmt.h. |
| * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| fixed-value.h statistics.h stmt.h. |
| * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h |
| stmt.h. |
| |
| 2015-01-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * gengtype.c (create_user_defined_type): Workaround |
| -Wmaybe-uninitialized false positives. |
| * cse.c (fold_rtx): Likewise. |
| * loop-invariant.c (gain_for_invariant): Likewise. |
| |
| 2015-01-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to |
| set the memory attributes in all cases but clear MEM_EXPR if need be. |
| |
| 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR tree-optimization/64434 |
| * cfgexpand.c (reorder_operands): New function. |
| (expand_gimple_basic_block): Insert call of reorder_operands if |
| optimized is true. |
| |
| 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * config/mips/micromips.md (*swp): Remove explicit parallel. |
| (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise. |
| * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise. |
| (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise. |
| (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise. |
| (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise. |
| (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise. |
| (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise. |
| (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise. |
| (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise. |
| (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise. |
| (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise. |
| (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise. |
| (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise. |
| (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise. |
| (mips_wrdsp): Likewise. |
| * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit |
| parallel. |
| (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise. |
| (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise. |
| (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise. |
| (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise. |
| (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise. |
| (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise. |
| * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel. |
| (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise. |
| (ssmaddsqdq4, ssmsubsqdq4): Likewise. |
| |
| 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA. |
| (mips_print_operand): Support 'y' to print exact log2 in decimal |
| of a const_int. |
| * config/mips/mips.h (ISA_HAS_LSA): New define. |
| (ISA_HAS_DLSA): Likewise. |
| * config/mips/mips.md (<GPR:d>lsa): New define_insn. |
| * config/mips/predicates.md (const_immlsa_operand): New predicate. |
| |
| 2015-01-15 Martin Liska <mliska@suse.cz> |
| |
| PR target/64377 |
| * optc-save-gen.awk: Add support for array types. |
| |
| 2015-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64365 |
| * tree-data-ref.c (dr_analyze_indices): Make sure that accesses |
| for MEM_REF access functions with the same base can never partially |
| overlap. |
| |
| 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com> |
| |
| * common.opt: New option -fstack-protector-explicit. |
| * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum. |
| (stack_protect_decl_phase): Handle stack_protect attribute for |
| explicit stack protection requests. |
| (expand_used_vars): Similarly. |
| * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro. |
| * doc/extend.texi: Add documentation for "stack_protect" attribute. |
| * doc/invoke.texi: Add documentation for -fstack-protector-explicit. |
| |
| 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/53988 |
| * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore |
| reg-reg copies. |
| (sh_extending_set_of_reg): New struct. |
| (sh_find_extending_set_of_reg, sh_split_tst_subregs, |
| sh_remove_reg_dead_or_unused_notes): New Declarations. |
| * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes, |
| sh_find_extending_set_of_reg, sh_split_tst_subregs, |
| sh_extending_set_of_reg::use_as_extended_reg): New functions. |
| * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs, |
| convert to insn_and_split and use new function sh_split_tst_subregs. |
| |
| 2015-01-14 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker |
| option. |
| (Optimization Options): Move -fuse-ld documentation to... |
| (Link Options): ...here. |
| |
| 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * config/mips/constraints.md (ZC): Add support for R6 LL/SC |
| offsets. |
| (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT. |
| * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to... |
| (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro. |
| * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC |
| instead of ZR for the memory operand of LL/SC. |
| (compare_and_swap_12, sync_add<mode>): Likewise. |
| (sync_<optab>_12, sync_old_<optab>_12): Likewise. |
| (sync_new_<optab>_12, sync_nand_12): Likewise. |
| (sync_old_nand_12, sync_new_nand_12): Likewise. |
| (sync_sub<mode>, sync_old_add<mode>): Likewise. |
| (sync_old_sub<mode>, sync_new_add<mode>): Likewise. |
| (sync_new_sub<mode>, sync_<optab><mode>): Likewise. |
| (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise. |
| (sync_nand<mode>, sync_old_nand<mode>): Likewise. |
| (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise. |
| (test_and_set_12, atomic_compare_and_swap<mode>): Likewise. |
| (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise. |
| * doc/md.texi (ZC): Update description. |
| |
| 2015-01-14 Andrew MacLeod <amacleod@redhat.com> |
| |
| * builtins.c (expand_builtin_atomic_exchange): Remove error when |
| memory model is CONSUME. |
| (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load, |
| expand_builtin_atomic_store): Change invalid memory model errors to |
| warnings. |
| (expand_builtin_atomic_clear): Change invalid model errors to warnings |
| and issue warning for CONSUME. |
| |
| 2015-01-14 Aldy Hernandez <aldyh@redhat.com> |
| |
| * lto-cgraph: Update function comments for |
| lto_symtab_encoder_encode_*. |
| |
| 2015-01-14 Ilya Verbin <ilya.verbin@intel.com> |
| |
| * Makefile.in (site.exp): Do not set ENABLE_LTO. |
| |
| 2015-01-14 Ilya Verbin <ilya.verbin@intel.com> |
| |
| * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries. |
| * lto-cgraph.c (select_what_to_stream): Remove argument, use |
| lto_stream_offload_p instead. |
| * lto-streamer.h (select_what_to_stream): Remove argument. |
| * passes.c (ipa_write_summaries): Likewise. |
| * tree-pass.h (ipa_write_summaries): Likewise. |
| |
| 2015-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/59354 |
| * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from |
| groups larger than the slp group size as having gaps. |
| |
| 2015-01-14 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR middle-end/59448 |
| * builtins.c (get_memmodel): Promote consume to acquire always. |
| |
| 2015-01-14 Ilya Tocar <ilya.tocar@intel.com> |
| |
| PR target/64386 |
| * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode, |
| V32HImode. |
| |
| 2015-01-14 Ilya Tocar <ilya.tocar@intel.com> |
| |
| PR target/64393 |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET): |
| Enable AVX512BW. |
| (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI. |
| * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check |
| AVX512VBMI, as it implies AVX512BW. |
| |
| 2015-01-14 Ilya Tocar <ilya.tocar@intel.com> |
| |
| PR target/64387 |
| * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate. |
| (vec_unpacks_hi_v16sf): Ditto. |
| |
| 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/arm_neon.h: Error out if AdvancedSIMD |
| is not available. |
| |
| 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * doc/invoke.texi (mapcs): Mention deprecation. |
| (mapcs-frame): Likewise. |
| |
| 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/64453 |
| * config/arm/arm.c (callee_saved_reg_p): Define. |
| (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if |
| register is callee saved instead of !call_used_regs[reg]. |
| (thumb1_compute_save_reg_mask): Likewise. |
| |
| 2015-01-14 Hale Wang <hale.wang@arm.com> |
| |
| * config/arm/arm.c: Tune the max_cond_insns/branch_cost for |
| Cortex-M7. |
| |
| 2015-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR lto/64415 |
| * tree-inline.c (insert_debug_decl_map): Check destination |
| function MAY_HAVE_DEBUG_STMTS. |
| (insert_init_debug_bind): Likewise. |
| (insert_init_stmt): Remove redundant check. |
| (remap_gimple_stmt): Drop debug stmts if the destination |
| function has var-tracking assignments disabled. |
| |
| 2015-01-14 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf-gimple.c (func_checker::compare_operand): Add support for |
| IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison. |
| |
| 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/64460 |
| * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2. |
| (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3. |
| |
| 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA |
| level from an ARCH; do not inject the default. |
| (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from |
| MIPS_ISA_LEVEL_SPEC. |
| (MIPS_ISA_NAN2008_SPEC): Update comment. |
| (BASE_DRIVER_SELF_SPECS): Likewise. |
| * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add |
| MIPS_DEFAULT_ISA_LEVEL_SPEC. |
| * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise. |
| * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise. |
| * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise. |
| |
| 2015-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64493 |
| PR tree-optimization/64495 |
| * tree-vect-loop.c (vect_finalize_reduction): For double-reductions |
| assign the proper vectorized PHI to the inner loop exit PHIs. |
| |
| 2015-01-14 Joey Ye <joey.ye@arm.com> |
| |
| * config/arm/arm.c (arm_compute_save_reg_mask): |
| Do not save lr in case of tail call. |
| * config/arm/thumb2.md (*thumb2_pop_single): New pattern. |
| |
| 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu> |
| |
| * tree-vrp.c (check_array_ref): Emit more warnings |
| for warn_array_bounds >= 2. |
| * common.opt: New option -Warray-bounds=. |
| * doc/invoke.texi: Document -Warray-bounds=. |
| |
| 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.opt (mforce-fp-as-gp): Remove. |
| (mforbid-fp-as-gp): Remove. |
| (mex9): Remove. |
| * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove. |
| (nds32_symbol_load_store_p): Remove. |
| (nds32_fp_as_gp_check_available): Clean up implementation. |
| * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9 |
| cases. |
| * config/nds32/nds32.c (nds32_asm_file_start): No need to consider |
| fp-as-gp and ex9 cases. |
| |
| 2015-01-13 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-profile.c (init_ic_make_global_vars): Drop workaround |
| for bintuils bug 14342. |
| (init_ic_make_global_vars): Likewise. |
| (gimple_init_edge_profiler): Likewise. |
| (gimple_gen_ic_func_profiler): Likewise. |
| |
| 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> |
| |
| * ipa-inline.c (inline_small_functions): Swap the operands in |
| enum. |
| |
| 2015-01-13 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64481 |
| * ipa-inline-analysis.c (node_growth_cache): Remove. |
| (initialize_growth_caches): Do not initialize it. |
| (free_growth_caches): Do not free it. |
| (do_estimate_growth): Rename to ... |
| (estimate_growth): ... this one; drop growth cache code. |
| (growth_likely_positive): Always go the heuristics way. |
| * ipa-inline.c (can_inline_edge_p): Walk through aliases. |
| (reset_edge_caches): Do not reset node growth. |
| (heap_edge_removal_hook): Do not maintain cache. |
| (inline_small_functions): Likewise; strenghten sanity check. |
| (ipa_inline): Do not maintain caches. |
| * ipa-inline.h (node_growth_cache): Remove. |
| (do_estimate_growth): Remove to ... |
| (estimate_growth): this one; remove inline version. |
| (reset_node_growth_cache): Remove. |
| |
| 2015-01-13 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/64565 |
| * ipa-inline.c (inline_small_functions): Update callee keys after |
| resolving speculation |
| (inline_small_functions): Always check monotonicity of the queue. |
| |
| 2015-01-13 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/64391 |
| * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE. |
| |
| 2015-01-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/64286 |
| * ree.c (combine_reaching_defs): Move part of comment earlier, |
| remove !SCALAR_INT_MODE_P check. |
| (add_removable_extension): Don't add vector mode |
| extensions if all uses of the source register aren't the same |
| vector extensions. |
| |
| 2015-01-13 Renlin Li <renlin.li@arm.com> |
| |
| * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2. |
| (CTZ_DEFINED_VALUE_AT_ZERO): Ditto. |
| |
| 2015-01-13 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf.c (sem_function::equals_private): Call new functions |
| cl_target_option_print_diff and cl_optimization_print_diff. |
| * optc-save-gen.awk (cl_target_option_print_diff): New function. |
| (cl_optimization_print_diff): Likewise. |
| * opth-gen.awk: Likewise. |
| |
| 2015-01-13 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3) |
| (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw) |
| (*sub_<optab><ALLX:mode>_shft_<GPI:mode>) |
| (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2) |
| (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2) |
| (*sub_uxtsi_multp2_uxtw): Add stack pointer sources. |
| |
| 2015-01-13 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64.c (fusion_load_store): Check dest mode |
| instead of src mode. |
| |
| 2015-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR lto/64373 |
| * lto-streamer-out.c (tree_is_indexable): Guard for NULL |
| DECL_CONTEXT. |
| |
| 2015-01-13 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject |
| volatile mems. |
| (aarch64_operands_adjust_ok_for_ldpstp): Likewise. |
| |
| 2015-01-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/63974 |
| * cfgexpand.c (expand_computed_goto): Don't call |
| convert_memory_address here. |
| |
| 2015-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64406 |
| * tree-loop-distibution.c (pass_loop_distribution::execute): |
| Reset the SCEV hashtable if we distributed anything. |
| |
| 2015-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64404 |
| * tree-vect-stmts.c (vectorizable_load): Reject conflicting |
| SLP types for CSEd loads. |
| |
| 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/64436 |
| * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the |
| merge of two symbolic numbers for a bitwise OR to ... |
| (perform_symbolic_merge): This. Also fix computation of the range and |
| end of the symbolic number corresponding to the result of a bitwise OR. |
| |
| 2015-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64568 |
| * tree-ssa-forwprop.c (pass_forwprop::execute): Properly |
| release defs of removed stmts, avoid splitting TARGET_MEM_REFs. |
| |
| 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_legitimate_address_p): Consider |
| TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases. |
| |
| 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own |
| target-specific symbol_ref flag. |
| (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref |
| resides in rodata section. |
| * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define. |
| (nds32_encode_section_info): New function. |
| |
| 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md (call): Use pseudo instruction bal which |
| clobbers TA_REGNUM if large code model is specified. |
| (call_register): Likewise. |
| (call_immediate): Likewise. |
| (call_value): Likewise. |
| (call_value_register): Likewise. |
| (call_value_immediate): Likewise. |
| |
| 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro. |
| (TARGET_CMODEL_MEDIUM): New macro. |
| (TARGET_CMODEL_LARGE): New macro. |
| * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding |
| code model setting in assembly code. |
| |
| 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS): |
| Remove MASK_GP_DIRECT flag. |
| * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as |
| one of the multilib default options. |
| * config/nds32/nds32.opt (mgp-direct): Remove. |
| * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of |
| -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian. |
| |
| 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.opt (mcmodel): Add new option. |
| * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type |
| to describe code model. |
| |
| 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/64479 |
| * rtlanal.c (set_reg_p): Handle SEQUENCE constructs. |
| |
| 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function. |
| (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define. |
| (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables. |
| (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and |
| __builtin_sh_set_fpscr. |
| |
| 2015-01-12 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses |
| after a funtion name just to indicate it is a function. |
| ([-fsanitize-undefined-trap-on-error]): Likewise. |
| ([-fdbg-cnt=]): Likewise. |
| ([-mmemcpy]): Likewise. |
| ([-mflush-func]): Likewise. |
| ([-msynci]): Likewise. |
| |
| 2015-01-12 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing |
| example. |
| |
| 2015-01-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/64563 |
| * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE |
| instead of != VR_VARYING. |
| |
| PR target/64513 |
| * config/i386/i386.c (ix86_expand_prologue): Add |
| REG_FRAME_RELATED_EXPR to %rax and %r10 pushes. |
| |
| PR tree-optimization/64454 |
| * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize |
| op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1] |
| for signed or [0, op1 - 1] for unsigned modulo. |
| (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges |
| even if op1 does not satisfy integer_pow2p. |
| |
| PR other/64370 |
| * sreal.c (sreal::to_double): Use ldexp instead of scalbnl. |
| |
| 2015-01-12 Jeff Law <law@redhat.com> |
| |
| PR target/64461 |
| * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE. |
| (trunchiqi2, truncsihi2): Similarly. |
| |
| * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly |
| rather than calling F. |
| |
| 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * tsan.c (instrument_expr): Use force_gimple_operand. |
| Use may_be_nonaddressable_p instead of is_gimple_addressable. |
| |
| 2015-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64530 |
| * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle |
| back dr1. |
| |
| 2015-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64357 |
| * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple |
| latches properly. |
| |
| 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match |
| Cortex-A17 tuning parameters. |
| * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17. |
| |
| 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm-protos.h (tune_params): Add fuseable_ops field. |
| * config/arm/arm.c (arm_macro_fusion_p): New function. |
| (arm_macro_fusion_pair_p): Likewise. |
| (TARGET_SCHED_MACRO_FUSION_P): Define. |
| (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise. |
| (ARM_FUSE_NOTHING): Likewise. |
| (ARM_FUSE_MOVW_MOVT): Likewise. |
| (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune, |
| arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune, |
| arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune, |
| arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune, |
| arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune |
| arm_cortex_a5_tune): Specify fuseable_ops value. |
| |
| 2015-01-12 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/64561 |
| * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker |
| test for PIE with copy reloc. |
| * configure: Regenerated. |
| |
| 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0 |
| in gen_rtx_REG. |
| (arm_tls_descseq_addr): Likewise. |
| (arm_gen_movmemqi): Likewise. |
| (arm_expand_epilogue_apcs_frame): Likewise. |
| (arm_expand_epilogue): Likewise. |
| (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1 |
| in gen_rtx_REG. |
| |
| 2015-01-12 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/64550 |
| * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare |
| volatility for correct operands. |
| |
| 2015-01-12 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication |
| that a function is not leaf. |
| (sem_function::compare_polymorphic_p): Likewise. |
| |
| 2015-01-12 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication |
| that a function is not leaf. |
| (sem_function::compare_polymorphic_p): Likewise. |
| |
| 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> |
| |
| * config/visium/visium.c: Add includes hashtab.h, hash-set.h, |
| machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h, |
| fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h, |
| fold-const.h, tree-check.h. |
| |
| 2015-01-12 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/63967 |
| PR ipa/64425 |
| * ipa-inline.c (compute_uninlined_call_time, |
| compute_inlined_call_time): Use counts for extra precision when |
| needed possible. |
| (big_speedup_p): Fix formating. |
| (RELATIVE_TIME_BENEFIT_RANGE): Remove. |
| (relative_time_benefit): Remove. |
| (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint; |
| merge guessed and read profile paths. |
| (inline_small_functions): Count only !optimize_size functions into |
| initial size; be more lax about sanity check when profile is used; |
| be sure to update inlined function profile when profile is read. |
| |
| 2015-01-12 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/63470 |
| * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust |
| cost when edge becomes direct. |
| * ipa-prop.c (make_edge_direct): Do not adjust when speculation |
| is resolved or when introducing new speculation. |
| |
| 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com> |
| |
| PR ipa/64551 |
| PR ipa/64552 |
| * ipa-icf.c (sem_function::equals_private): Use '&&' instead of |
| '||' to fix typo issue. |
| |
| * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can |
| accept and return NULL. |
| |
| 2015-01-12 Martin Liska <mliska@suse.cz> |
| |
| * cgraph.c (cgraph_edge::remove_callee): Move function to header |
| file for being inlined. |
| (cgraph_set_edge_callee): Delete. |
| (cgraph_edge::redirect_callee): Move function to header file |
| for being inlined. |
| (cgraph_edge::make_direct): Use new function. |
| (cgraph_edge::dump_edge_flags): New function created from |
| static dump_edge_flags function. |
| (cgraph_node::dump): Use new function. |
| (cgraph_edge::verify_count_and_frequency): New function created |
| from verify_edge_count_and_frequency. |
| (cgraph_edge::verify_corresponds_to_fndecl): New function created |
| from verify_edge_corresponds_to_fndecl. |
| (verify_edge_corresponds_to_fndecl): Delete. |
| (cgraph_node::verify_node): Use new function. |
| * cgraph.h (cgraph_edge::set_callee): New function. |
| (cgraph_edge::dump_edge_flags): Likewise. |
| (cgraph_edge::verify_corresponds_to_fndecl): Likewise. |
| |
| 2015-01-11 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-utils.c (estimate_function_body_sizes): Do not |
| free node params when called late with early=true. |
| |
| 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * doc/md.texi (Instruction Patterns): Rewrite text for |
| clarity. |
| (Example): Likewise. |
| |
| 2015-01-10 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Option Summary): Break long lines. |
| [(-fdiagnostics-color)]: Put long literal in @smallexample |
| instead of inline. |
| [(-fsanitize-recover)]: Likewise. |
| [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox. |
| [(-ffast-math)]: Likewise. |
| [(--param max-inline-insns-recursive)]: Likewise. |
| [(--param max-inline-recursive-depth)]: Likewise. |
| [(-mno-text-section-literals)]: Likewise. |
| |
| 2015-01-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * doc/install.texi: Update for libgomp being renamed from "GNU |
| OpenMP Runtime Library" to "GNU Offloading and Multi Processing |
| Runtime Library". |
| * doc/sourcebuild.texi: Likewise. |
| |
| 2015-01-10 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/moxie.c (moxie_option_override): Fix forcing of |
| mul.x availability for moxiebox configuration. |
| |
| 2015-01-09 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/moxie.md: Tabify assembly output. |
| |
| 2015-01-09 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/moxie.md (CC_REG): Correct register definition. |
| |
| 2015-01-09 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup. |
| ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location |
| of log files. |
| |
| 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon. |
| |
| 2015-01-09 Bernd Schmidt <bernds@codesourcery.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/64412 |
| * lto-streamer.h (lto_stream_offload_p): New declaration. |
| * lto-streamer.c (lto_stream_offload_p): New variable. |
| * cgraphunit.c (ipa_passes): Set lto_stream_offload_p |
| at the same time as section_name_prefix. |
| * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION |
| if lto_stream_offload_p. |
| * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't |
| stream TREE_TARGET_OPTION if lto_stream_offload_p. |
| (write_ts_function_decl_tree_pointers): Don't |
| stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p. |
| * tree-streamer-in.c (unpack_value_fields): Don't stream |
| TREE_TARGET_OPTION in if ACCEL_COMPILER. |
| (lto_input_ts_function_decl_tree_pointers): Don't stream |
| DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER. |
| * lto-opts.c (lto_write_options): Use lto_stream_offload_p |
| instead of section_name_prefix string comparisons. |
| |
| 2015-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/64536 |
| * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate |
| tablejumps. |
| |
| 2015-01-09 Michael Collison <michael.collison@linaro.org> |
| |
| PR tree-optimization/64322 |
| * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive |
| range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic. |
| |
| 2015-01-09 Tom de Vries <tom@codesourcery.com> |
| |
| PR rtl-optimization/64539 |
| * regcprop.c (kill_clobbered_values): Factor out of ... |
| (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values |
| instead of note_stores with kill_clobbered_value. |
| |
| 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * ginclude/unwind-arm-common.h: Revert previous commit. |
| |
| 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config.gcc (arm*-*-freebsd*): New configuration. |
| * config/arm/freebsd.h: New file. |
| * config.host: Add extra components for arm*-*-freebsd*. |
| * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE. |
| * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE. |
| |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__ |
| for -mcpu=e6500. |
| * config/rs6000/t-rtems: Add e6500 multilibs. |
| |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for |
| MPC8540. |
| |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of |
| MULTILIB_EXCEPTIONS. |
| |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of |
| MULTILIB_EXCEPTIONS. |
| |
| 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/arm/t-rtems-eabi: Rename to... |
| * config/arm/t-rtems: ...this. |
| * config/arm/rtems-eabi.h: Rename to... |
| * config/arm/rtems.h: ...this. |
| * config.gcc (arm*-*-rtems*): Reflect changes above. |
| |
| 2015-01-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/64410 |
| * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR |
| on the LHS. |
| (execute_update_addresses_taken): Deal with that. |
| * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise |
| loads/stores for complex variables. |
| |
| 2015-01-09 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA |
| name comparison. |
| (func_checker::compare_memory_operand): New function. |
| (func_checker::compare_operand): Split case to newly |
| added functions. |
| (func_checker::compare_cst_or_decl): New function. |
| (func_checker::compare_gimple_call): Identify |
| memory operands. |
| (func_checker::compare_gimple_assign): Likewise. |
| * ipa-icf-gimple.h: New function. |
| |
| 2015-01-09 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/64503 |
| * sreal.c (sreal::dump): Change unsigned format to signed for |
| m_exp value. |
| (sreal::to_double): Replace exp2 with scalbln. |
| |
| 2015-01-09 Martin Liska <mliska@suse.cz> |
| |
| * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation. |
| * ipa-icf.c (sem_function::equals_private): Add support for target and |
| (sem_item_optimizer::merge_classes): Remove redundant function |
| optimization flags comparison. |
| * tree.h (target_opts_for_fn): New function. |
| |
| 2015-01-09 Tom de Vries <tom@codesourcery.com> |
| |
| * omp-low.c (expand_omp_for_static_chunk): Fix assert. |
| |
| 2015-01-09 Kito Cheng <kito@0xlab.org> |
| |
| PR rtl-optimization/64348 |
| * lra-constraints.c (split_reg): Fix caller-save store/restore |
| instruction generation. |
| |
| 2015-01-08 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR gcov-profile/61790 |
| * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has |
| long long. Fallback to int64_t if host doesn't have long long and |
| use strtol if int64_t is long. Otherwise, use sscanf for conversion. |
| |
| 2015-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/63989 |
| * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default |
| from 1000 to 10000. |
| * tree-ssa-strlen.c (get_strinfo): Moved earlier. |
| (get_stridx): If we don't have a record for certain SSA_NAME, |
| but it is POINTER_PLUS_EXPR of some SSA_NAME we do with |
| constant offset, call get_stridx_plus_constant. |
| (get_stridx_plus_constant): New function. |
| (zero_length_string): Don't use get_stridx here. |
| |
| PR target/55023 |
| PR middle-end/64388 |
| * dse.c (struct insn_info): Mention frame_read set also |
| before reload for tail calls on some targets. |
| (scan_insn): Revert 2014-12-22 change. Set frame_read |
| also before reload for tail calls if |
| HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read |
| instead of add_non_frame_wild_read for non-const/memset |
| tail calls after reload. |
| |
| 2015-01-08 Jason Merrill <jason@redhat.com> |
| |
| * ubsan.c (do_ubsan_in_current_function): New. |
| (pass_ubsan::gate): Use it. |
| * ubsan.h: Declare it. |
| * convert.c (convert_to_integer): Use it. |
| |
| 2015-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/64338 |
| * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse |
| compare_code when it is unconditionally overwritten afterwards. |
| Use ix86_reverse_condition instead of reverse_condition. Don't |
| change code if *reverse_condition* returned UNKNOWN and don't |
| swap ct/cf and negate diff in that case. |
| |
| 2015-01-08 Mike Stump <mikestump@comcast.net> |
| |
| * tsan.c (pass_tsan::gate): Add no_sanitize_thread support. |
| (pass_tsan_O0::gate): Likewise. |
| * extend.texi (Function Attributes): Add no_sanitize_thread |
| documentation. |
| |
| 2015-01-08 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi |
| for registering builtins. |
| * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't |
| add -fopenmp to the argv_obstack used when invoking |
| compile_for_target. |
| |
| * config/i386/intelmic-mkoffload.c (compile_for_target): Always |
| add "-m32" or "-m64" to argv_obstack. |
| (generate_host_descr_file): Likewise, when invoking host_compiler. |
| (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking |
| ld. |
| |
| 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * config/sh/sh-mem.cc: Use constant as second operand when emitting |
| tstsi_t insns. |
| |
| 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/55212 |
| * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of |
| constant load if constant operand fits into I08. |
| |
| 2015-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/64336 |
| * tree.c (build2_stat): Fix up initialization of TREE_READONLY |
| and TREE_THIS_VOLATILE for MEM_REFs. |
| (build5_stat): Fix up initialization of TREE_READONLY and |
| TREE_THIS_VOLATILE for TARGET_MEM_REFs. |
| |
| 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/64533 |
| * config/sh/sh.md (*addsi3_compact): Use u constraint instead |
| of r for the second alternative of the destination operand. |
| |
| 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/36557 |
| * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New. |
| |
| 2015-01-07 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-fvtable-verify]): Fix markup on option |
| keywords. |
| ([-fivar-visibility], [-fvisibility]): Likewise. |
| |
| 2015-01-07 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi: Fix incorrect uses of @samp markup throughout |
| the file where @code, @command, etc is more appropriate. |
| |
| 2015-01-06 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting |
| of -mrecip= documentation. |
| |
| 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/64505 |
| * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the |
| correct reload handler if -m32 -mpowerpc64 is used. |
| |
| 2015-01-06 Tom de Vries <tom@codesourcery.com> |
| |
| * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment. |
| |
| 2015-01-08 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/64507 |
| * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length. |
| |
| 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/63259 |
| * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking |
| if optab exists for 16bit byteswap. |
| |
| 2015-01-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * opts.c (common_handle_option): Add support for |
| -fno-sanitize=all and -f{,no-}sanitize-recover=all. |
| * doc/invoke.texi: Document -fno-sanitize=all, |
| -f{,no-}sanitize-recover=all. Document that |
| -fsanitize=float-cast-overflow is not enabled |
| by -fsanitize=undefined. Fix up documentation |
| of -f{,no-}sanitize-recover. |
| |
| 2015-01-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config.gcc: Add Visium support. |
| * configure.ac: Likewise. |
| * configure: Regenerate. |
| * doc/extend.texi (interrupt attribute): Add Visium. |
| * doc/invoke.texi: Document Visium options. |
| * doc/install.texi: Document Visium target. |
| * doc/md.texi: Document Visium constraints. |
| * common/config/visium: New directory. |
| * config/visium: Likewise. |
| |
| 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * simplify-rtx.c (simplify_binary_operation_1): Handle more cases |
| for the "(and X (ior (not X) Y) -> (and X Y)" transform. |
| |
| 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * combine.c (combine_validate_cost): Do not count the cost of a |
| split I2 twice. Do not display it twice in the dump, either. |
| |
| 2015-01-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| Revert parts of r219199. |
| * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on |
| <inttypes.h>. |
| ([-Wtraditional]): Restore markup on <limits.h>. |
| |
| 2015-01-05 Trevor Saunders <tsaunders@mozilla.com> |
| |
| PR c++/31397 |
| * doc/invoke.texi: Document -Wsuggest-override. |
| |
| 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com> |
| |
| PR rtl-optimization/64287 |
| * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default. |
| (process_options): Disable flag_ipa_ra if profiling. |
| |
| 2015-01-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/nds32/nds32-peephole2.md: Do not mention define_peephole. |
| |
| 2015-01-05 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail, |
| hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops): |
| put under #if TARGET_LOOPS guard. |
| |
| 2015-01-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (output_387_binary_op): Use std::swap. |
| |
| 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * rtlanal.c (refers_to_regno_p): Change return value from int to bool. |
| * rtl.h (refers_to_regno_p): Add overload. |
| * cse.c: Use it. |
| * bt-load.c: Likewise. |
| * combine.c: Likewise. |
| * df-scan.c: Likewise. |
| * sched-deps.c: Likewise. |
| * config/s390/s390.c: Likewise. |
| * config/m32r/m32r.c: Likewise. |
| * config/rs6000/spe.md: Likewise. |
| * config/rs6000/rs6000.c: Likewise. |
| * config/pa/pa.c: Likewise. |
| * config/stormy16/stormy16.c: Likewise. |
| * config/cris/cris.c: Likewise. |
| * config/arc/arc.md: Likewise. |
| * config/arc/arc.c: Likewise. |
| * config/sh/sh.md: Likewise. |
| * config/sh/sh.c: Likewise. |
| * config/frv/frv.c: Likewise. |
| |
| 2015-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/64265 |
| * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal |
| call as cleanup of the whole body. |
| * internal-fn.def (TSAN_FUNC_EXIT): New internal call. |
| * tsan.c (replace_func_exit): New function. |
| (instrument_func_exit): Moved earlier. |
| (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls. |
| Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have |
| been found. |
| (tsan_pass): Don't call instrument_func_exit. |
| * internal-fn.c (expand_TSAN_FUNC_EXIT): New function. |
| * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during |
| inlining. |
| |
| PR sanitizer/64344 |
| * ubsan.h (ubsan_instrument_float_cast): Add ARG argument. |
| * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass |
| it to libubsan handler instead of EXPR. Fold comparisons earlier, |
| if the result is integer_zerop, return NULL_TREE. |
| * convert.c (convert_to_integer): Pass expr as ARG. |
| |
| PR tree-optimization/64465 |
| * tree-inline.c (redirect_all_calls): During inlining |
| clean up EH stmts and EH edges if redirect_call_stmt_to_callee |
| changed the stmt to a non-throwing call. |
| |
| 2015-01-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp, |
| etc markup throughout the file. |
| |
| 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| Enable experimental TSAN support for Ada. |
| * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR. |
| |
| 2015-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/64494 |
| * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also |
| clear SSA_NAME_ANTI_RANGE_P flag. |
| |
| 2015-01-05 Marek Polacek <polacek@redhat.com> |
| |
| * doc/extend.texi (Arrays of Length Zero): Add missing comma. |
| |
| 2015-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| Update copyright years. |
| |
| * 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. |
| |
| * auto-profile.c, auto-profile.h: Fix up Copyright line. |
| |
| 2015-01-04 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix |
| verb tense, etc. |
| ([-fvtable-verify], [-fvtv-debug]): Likewise. |
| ([-Wabi]): Likewise. |
| ([-fmessage-length]): Likewise. |
| ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise. |
| ([-Wno-discarded-qualifiers]): Likewise. |
| ([-Wnodiscarded-array-qualifiers]): Likewise. |
| ([-Wno-virtual-move-assign]): Likewise. |
| ([-fsanitize=address], [-fsanitize=thread]): Likewise. |
| ([-fsanitize=leak], [-fsanitize=undefined]): Likewise. |
| ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise. |
| ([-fsanitize-undefined-trap-on-error]): Likewise. |
| ([-floop-interchange]): Likewise. |
| ([-ftree-coalesce-inlined-vars]): Likewise. |
| ([-fvect-cost-model]): Likewise. |
| ([-flto]): Likewise. |
| ([--param]): Likewise. |
| (Spec Files): Likewise. |
| ([-mstrict-align]): Likewise. |
| ([-mfix-cortex-a53-835769]): Likewise. |
| ([-march], [-mtune]): Likewise. |
| ([-mpic-register]): Likewise. |
| ([-munaligned-access]): Likewise. |
| ([-msp8]): Likewise. |
| (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise. |
| (AVR Built-in Macros): Likewise. |
| ([-mpreferred-stack-boundary]): Likewise. |
| ([-mtune-crtl]): Likewise. |
| ([-mashf]): Likewise. |
| ([-mmcu=]): Likewise. |
| ([-minrt]): Likewise. |
| ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise. |
| ([-mupper-regs]): Likewise. |
| ([-matomic-model]): Likewise. |
| ([-mdiv]): Likewise. |
| ([-mzdcbranch]): Likewise. |
| ([-mdisable-callt]): Likewise. |
| ([-msoft-float]): Likewise. |
| ([-m8byte-align]): Likewise. |
| ([-fstack-reuse]): Likewise. |
| |
| 2015-01-03 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]): |
| Fix markup, light copy-editing. |
| ([-fauto-profile]): Rewrite to fix formatting and content |
| problems. |
| |
| 2015-01-03 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]): |
| Copy-edit description. |
| ([-fisolate-erroneous-paths-attribute]): Likewise. |
| * common.opt (fisolate-erroneous-paths-dereference): |
| Copy-edit description. |
| (fisolate-erroneous-paths-attribute): Likewise. |
| |
| 2015-01-03 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and |
| tidy grammar. |
| |
| 2015-01-03 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex. |
| ([-fvtv-debug]): Likewise. |
| ([-Wc++-compat]): Likewise. |
| ([-Wc++11-compat]): Likewise. |
| ([-Wc++14-compat]): Likewise. |
| ([-Wno-sized-deallocation]): Likewise. |
| ([-femit-class-debug-always]): Likewise. |
| ([-femit-struct-debug-detailed]): Likewise. |
| ([-fno-keep-inline-dllexport]): Likewise. |
| ([-fira-algorithm]): Likewise. |
| ([-fira-region]): Likewise. |
| ([-flra-remat]): Likewise. |
| ([-fipa-ra]): Likewise. |
| ([-fhoist-adjacent-loads]): Likewise. |
| ([-fisolate-erroneous-paths-dereference]): Likewise. |
| ([-fisolate-erroneous-paths-attribute]): Likewise. |
| ([-ftree-switch-conversion]): Likewise. |
| ([-ftree-tail-merge]): Likewise. |
| ([-ftree-loop-if-convert]): Likewise. |
| ([-ftree-loop-if-convert-stores]): Likewise. |
| ([-ftree-loop-distribution]): Likewise. |
| ([-ftree-loop-distribute-patterns]): Likewise. |
| ([-flto-compression-level]): Likewise. |
| ([-flto-report]): Likewise. |
| ([-flto-report-wpa]): Likewise. |
| ([-fuse-linker-plugin]): Likewise. |
| ([-mfix-cortex-a53-835769]): Likewise. |
| ([-mno-fix-cortex-a53-835769]): Likewise. |
| ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the |
| explicit listing; add a note to the discussion indicating they |
| exist. Reorder table to group similar options. Add missing |
| @opindex entries. Add @need commands throughout the table to |
| allow it to be split across multiple pages. |
| ([-m8bit-idiv]): Fix @opindex. |
| ([-mavx256-split-unaligned-load]): Likewise. |
| ([-mavx256-split-unaligned-store]): Likewise. |
| ([-mstack-protector-guard]): Likewise. |
| ([-mcpu=]): Likewise. |
| ([-mcpu]): Likewise. |
| ([-mpointer-size=]): Likewise. |
| |
| 2015-01-03 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint |
| instead of `m' constraint. Likewise for unnamed movb comparison |
| patterns using reg_before_reload_operand predicate. |
| * config/pa/predicates.md (reg_before_reload_operand): Tighten |
| predicate to reject register index and LO_SUM DLT memory forms |
| after reload. |
| |
| 2015-01-02 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Option Summary): Fix spelling of |
| -fdevirtualize-at-ltrans. |
| ([-fdevirtualize]): Fix markup. |
| ([-fdevirtualize-speculatively]): Fix typo. |
| ([-fdevirtualize-at-ltrans]): Likewise. Make description less |
| implementor-speaky. |
| * common.opt (fdevirtualize-at-ltrans): Likewise. |
| * ipa-devirt.c: Fix typos in comments throughout the file. |
| (ipa_devirt): Fix typos in format strings for dump output. |
| |
| 2015-01-02 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate |
| discussion of defaults, light copy-editing. |
| |
| 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * tsan.c (instrument_expr): corrected previous checkin. |
| |
| 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| Instrument bit field and unaligned accesses for TSAN. |
| * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function. |
| (BUILT_IN_TSAN_WRITE_RANGE): New built-in function. |
| * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF. |
| Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for |
| unaligned memory regions. |
| |
| 2015-01-01 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/predicates.md (moxie_general_movsrc_operand): |
| Restrict move source register offsets to 16 bits. |
| |
| Copyright (C) 2015 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. |