5409 lines
188 KiB
Plaintext
5409 lines
188 KiB
Plaintext
2016-03-01 DJ Delorie <dj@redhat.com>
|
||
|
||
* config.gcc: Deprecate mep-*.
|
||
|
||
2016-03-01 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR middle-end/70025
|
||
* lra-constraints.c (regno_val_use_in): New.
|
||
(match_reload): Use it instead of regno_use_in.
|
||
|
||
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-03-01 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69196
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
|
||
Appropriately clamp the number of statements to copy when the
|
||
thread path does not traverse a loop backedge.
|
||
|
||
PR tree-optimization/69196
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
|
||
Do count some PHIs in the thread path against the insn count. Decrease
|
||
final statement count by one as the control statement in the last
|
||
block will get removed. Remove special cased code for handling PHIs in the last block.
|
||
|
||
2016-03-01 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/70027
|
||
* config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
|
||
asm dialect alternatives to explicit GOTPCREL calls.
|
||
|
||
2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/70017
|
||
* ira.c (do_reload): Issue warning for generic stack checking here...
|
||
* reload1.c (reload): ...instead of here and streamline it.
|
||
|
||
2016-03-01 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
|
||
|
||
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-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
Revert
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/constraints.md ("jm8"): New constraint.
|
||
* config/s390/predicates.md ("const_int_8bitset_operand"): New
|
||
predicate.
|
||
* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
|
||
into ...
|
||
("*setmem_long<setmem_and>"): New pattern.
|
||
("*setmem_long_31z", "*setmem_long_and_31z"): Merge
|
||
into ...
|
||
("*setmem_long_31z<setmem_and>"): New pattern.
|
||
* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
|
||
New substitution rules with the required attributes.
|
||
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
Revert
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* gensupport.c (process_substs_on_one_elem): Split loop to
|
||
complete mark_operands_used_in_match_dup on all expressions in the
|
||
vector first.
|
||
(adjust_operands_numbers): Inline into process_substs_on_one_elem
|
||
and remove function.
|
||
|
||
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-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69994
|
||
* tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
|
||
|
||
2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR tree-optimization/69956
|
||
* tree-vect-stmts.c (supportable_widening_operation): Support
|
||
multi-step conversion of boolean vectors.
|
||
(supportable_narrowing_operation): Likewise.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_decompose_address): Don't accept SImode
|
||
anymore.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/subst.md (DSI_VI): New mode iterator.
|
||
("addr_style_op_subst"): Use DSI_VI instead of DSI.
|
||
* config/s390/vector.md ("vec_set<mode>"): Move expander before
|
||
the insn definition.
|
||
("*vec_set<mode>"): Change predicate and add alternative to
|
||
support only either register or const_int operands as element
|
||
selector.
|
||
("*vec_set<mode>_plus"): New pattern to support reg + const_int
|
||
operands.
|
||
("vec_extract<mode>"): New expander.
|
||
("*vec_extract<mode>"): New insn definition supporting reg and
|
||
const_int element selectors.
|
||
("*vec_extract<mode>_plus"): New insn definition supporting
|
||
reg+const_int element selectors.
|
||
("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
|
||
following expander+insn definition.
|
||
("<vec_shifts_name><mode>3"): New expander.
|
||
("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("*tabort_1"): Change predicate to
|
||
nonmemory_operand. Add a second alternative to cover
|
||
register as well as const int operands.
|
||
("*tabort_1_plus"): New pattern definition.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("*ashrdi3_cc_31")
|
||
("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
|
||
("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
|
||
Merge insn definitions into ...
|
||
("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
|
||
New pattern definition.
|
||
("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
|
||
("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
|
||
("*ashr<mode>3_and"): Merge insn definitions into ...
|
||
("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
|
||
New pattern definition.
|
||
* config/s390/subst.md ("addr_style_op_cc_subst")
|
||
("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
|
||
substitutions patterns plus attributes.
|
||
Add ashiftrt to SUBST iterator.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("<shift><mode>3"): Change predicate of
|
||
op2 to nonmemory_operand.
|
||
("*<shift>di3_31", "*<shift>di3_31_and"):
|
||
Merge into single pattern definition ...
|
||
("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
|
||
("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
|
||
pattern definition ...
|
||
("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
|
||
* config/s390/subst.md: Add ashift and lshiftrt to SUBST
|
||
iterator.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/predicates.md (const_int_6bitset_operand): New
|
||
predicate.
|
||
* config/s390/s390.md: Include subst.md.
|
||
("rotl<mode>3"): New expander.
|
||
("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
|
||
...
|
||
("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
|
||
* config/s390/subst.md: New file.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.md ("op_type", "atype", "length" attributes):
|
||
Remove RRR type. It doesn't really exist.
|
||
("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
|
||
attributes.
|
||
("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
|
||
("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
|
||
("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
|
||
("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
|
||
("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
|
||
("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
|
||
`enabled' attribute.
|
||
|
||
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* gensupport.c (process_substs_on_one_elem): Split loop to
|
||
complete mark_operands_used_in_match_dup on all expressions in the
|
||
vector first.
|
||
(adjust_operands_numbers): Inline into process_substs_on_one_elem
|
||
and remove function.
|
||
|
||
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/69706
|
||
* config/sparc/sparc.c (NWORDS_UP): Rename to...
|
||
(CEIL_NWORDS): ...this. Use CEIL macro.
|
||
(compute_fp_layout): Adjust to above renaming.
|
||
(function_arg_union_value): Likewise.
|
||
(sparc_arg_partial_bytes): Likewise.
|
||
(sparc_function_arg_advance): Likewise.
|
||
|
||
2016-02-29 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/70005
|
||
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
|
||
where an object with a boolean range is compared against a value
|
||
outside [0..1].
|
||
|
||
PR tree-optimization/69999
|
||
* gimple-ssa-split-paths.c (split_paths): When duplicating a block
|
||
with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
|
||
loop cleanups.
|
||
|
||
2016-02-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69994
|
||
* tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
|
||
(get_unary_op): Look through nop conversions.
|
||
(ops_equal_values_p): New function, look for equality diregarding
|
||
nop conversions.
|
||
(eliminate_plus_minus_pair): Use ops_equal_values_p
|
||
(repropagate_negates): Do not use get_unary_op here.
|
||
|
||
2016-02-29 Martin Liska <mliska@suse.cz>
|
||
|
||
* system.h: Poison ENABLE_CHECKING macro.
|
||
|
||
2016-02-29 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
|
||
is presented in dump flags.
|
||
* hsa-regalloc.c (linear_scan_regalloc): Likewise.
|
||
(hsa_regalloc): Likewise.
|
||
|
||
2016-02-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69980
|
||
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
|
||
permutation of those we need to keep.
|
||
|
||
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/69706
|
||
* config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
|
||
(NWORDS_UP): ...this
|
||
(init_cumulative_args): Minor tweaks.
|
||
(sparc_promote_function_mode): Likewise.
|
||
(scan_record_type): Delete.
|
||
(traverse_record_type): New function template.
|
||
(classify_data_t): New structure type.
|
||
(classify_registers): New inline function.
|
||
(function_arg_slotno): In 64-bit mode, bail out early if FP slots are
|
||
exhausted. Instantiate traverse_record_type on classify_registers and
|
||
deal with the case of a structure passed in slot #15 with no FP field
|
||
in the first word.
|
||
(assign_data_t): New structure type.
|
||
(compute_int_layout): New static function.
|
||
(compute_fp_layout): Likewise.
|
||
(count_registers): New inline function.
|
||
(assign_int_registers): New static function.
|
||
(assign_fp_registers): Likewise.
|
||
(assign_registers): New inline function.
|
||
(function_arg_record_value_1): Delete.
|
||
(function_arg_record_value_2): Likewise.
|
||
(function_arg_record_value_3): Likewise.
|
||
(function_arg_record_value): Adjust to above changes. Instantiate
|
||
traverse_record_type on count_registers to first count the number of
|
||
registers to be used and then on assign_registers to assign them.
|
||
(function_arg_union_value): Adjust to above renaming.
|
||
(sparc_function_arg_1); Minor tweaks. Remove commented out code.
|
||
(sparc_arg_partial_bytes): Adjust to above renaming. Deal with the
|
||
case of a structure passed in slot #15
|
||
(sparc_function_arg_advance): Likewise.
|
||
(function_arg_padding): Minor tweak.
|
||
|
||
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-02-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
|
||
|
||
2016-02-27 Jeff Law <law@redhat.com>
|
||
|
||
Revert
|
||
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-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69896
|
||
* tree-vect-generic.c (get_compute_type): Avoid single element
|
||
vector types.
|
||
|
||
2016-02-26 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
Rename the AArch64 tuning option and related functions to enable the
|
||
Newton series for the reciprocal square root to reflect its
|
||
approximative characteristic.
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
|
||
function to "aarch64_emit_approx_rsqrt".
|
||
* config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
|
||
AARCH64_EXTRA_TUNE_APPROX_RSQRT.
|
||
* config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
|
||
(xgene1_tunings): Likewise.
|
||
(use_rsqrt_p): Likewise.
|
||
(aarch64_emit_swrsqrt): Use new function name.
|
||
* config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
|
||
* config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
|
||
text explaining this option.
|
||
* doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
|
||
|
||
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 Joel Sherrill <joel@rtems.org>
|
||
|
||
* config.gcc: Add x86_64-*-rtems*.
|
||
* gcc/config/i386/rtems-64.h: New file.
|
||
|
||
2016-02-26 Joel Sherrill <joel@rtems.org>
|
||
|
||
* config.gcc: Add aarch64-*-rtems*.
|
||
* gcc/config/aarch64/rtems.h: New file.
|
||
|
||
2016-02-26 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/69946
|
||
* config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
|
||
shift amount using %h. Add comment.
|
||
|
||
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 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR middle-end/69920
|
||
* tree-sra.c (sra_modify_assign): Do not remove loads of
|
||
uninitialized aggregates to SSA_NAMEs.
|
||
|
||
2016-02-26 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/69709
|
||
* config/s390/s390.md (risbg and risbgn splitters): Allocate new
|
||
pseudo in case the target rtx matches the source of the left
|
||
shift.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR hsa/69568
|
||
* hsa.h (hsa_type_packed_p): Declare.
|
||
* hsa.c (hsa_type_packed_p): New function.
|
||
* hsa-gen.c (mem_type_for_type): Use unsigned type for packed
|
||
loads.
|
||
(gen_hsa_insns_for_store): Use hsa_type_packed_p.
|
||
* hsa-brig.c (emit_basic_insn): Likewise.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
pr hsa/69674
|
||
* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
|
||
pointers.
|
||
(gen_hsa_addr): Allow integer constants in TMR_INDEX2.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* hsa.h (is_a_helper): New overload for hsa_op_immed for
|
||
hsa_op_with_type operands.
|
||
(hsa_unsigned_type_for_type): Declare.
|
||
* hsa.c (hsa_unsigned_type_for_type): New function.
|
||
* hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
|
||
(gen_hsa_insns_for_operation_assignment): Satisfy constrains of
|
||
the finalizer. Do not emit extra move.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
|
||
atomic operations in private segment.
|
||
|
||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* omp-low.c (grid_find_ungridifiable_statement): Store problematic
|
||
statements to wi->info. Also disallow omp simd constructs.
|
||
(grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
|
||
for not gridifying. Dump special string for omp_for.
|
||
|
||
2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69245
|
||
* config/aarch64/aarch64.c (aarch64_set_current_function):
|
||
Save/restore target globals when switching to
|
||
target_option_default_node.
|
||
|
||
2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69613
|
||
* config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
|
||
Return 0 if !SHIFT_COUNT_TRUNCATED.
|
||
|
||
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-26 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/extend.texi: Mention clog10, clog10f an clog10l
|
||
in Builtins section.
|
||
|
||
2016-02-26 Martin Liska <mliska@suse.cz>
|
||
|
||
* dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
|
||
CHECKING_P.
|
||
(resolve_args_picking_1): Likewise.
|
||
* dwarf2out.h (struct GTY): Likewise.
|
||
|
||
2016-02-26 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
|
||
with flag_checking.
|
||
* hsa-regalloc.c (linear_scan_regalloc): Likewise.
|
||
|
||
2016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/install.texi: Mention --enable-valgrind-annotations.
|
||
|
||
2016-02-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69551
|
||
* tree-ssa-structalias.c (get_constraint_for_ssa_var): When
|
||
looking through aliases adjust DECL_PT_UID to refer to the
|
||
ultimate alias target.
|
||
|
||
2016-02-25 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/69919
|
||
* alloc-pool.c (after_memory_report): New variable.
|
||
* alloc-pool.h (base_pool_allocator ::release): Do not use
|
||
the infrastructure if after_memory_report.
|
||
* toplev.c (toplev::main): Mark after memory report.
|
||
|
||
2016-02-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/48795
|
||
* tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
|
||
|
||
2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
PR driver/68463
|
||
* config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if
|
||
offloading is enabled and -fopenacc or -fopenmp is specified.
|
||
(CRTOFFLOADEND): Likewise.
|
||
(GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
|
||
(GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
|
||
* lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
|
||
(offload_objects_file_name): New static var.
|
||
(tool_cleanup): Remove offload_objects_file_name file.
|
||
(find_offloadbeginend): Replace with ...
|
||
(find_crtoffloadtable): ... this.
|
||
(run_gcc): Remove offload_argc and offload_argv.
|
||
Get offload_objects_file_name from -foffload-objects=... option.
|
||
Read names of object files with offload from this file, pass them to
|
||
compile_images_for_offload_targets. Don't call find_offloadbeginend and
|
||
don't pass offloadbegin and offloadend to the linker. Don't pass
|
||
offload non-LTO files to the linker, because now they're not claimed.
|
||
|
||
2016-02-25 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/69630
|
||
* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
|
||
on builtin_unreachable.
|
||
|
||
2016-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69896
|
||
* regcprop.c: Include cfgrtl.h.
|
||
(copyprop_hardreg_forward_1): If noop_p insn uses narrower
|
||
than remembered mode, either delete it (if noop_move_p), or
|
||
treat like copy_p but not noop_p instruction.
|
||
|
||
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-24 Jason Merrill <jason@redhat.com>
|
||
|
||
* common.opt (flifetime-dse): Add -flifetime-dse=1.
|
||
|
||
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-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/69915
|
||
* tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
|
||
elements.
|
||
|
||
2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/69886
|
||
* gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
|
||
argument. Use it when checking validity of set instructions.
|
||
(want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
|
||
(compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
|
||
callsite.
|
||
* rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
|
||
* store-motion.c (find_moveable_store): Update
|
||
can_assign_to_reg_without_clobbers_p callsite.
|
||
|
||
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-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm-cores.def (cortex-a32): New entry.
|
||
* config/arm/arm-tables.opt: Regenerate.
|
||
* config/arm/arm-tune.md: Regenerate.
|
||
* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
|
||
* config/arm/t-aprofile: Handle mcpu=cortex-a32.
|
||
* doc/invoke.texi (ARM Options): Document cortex-a32 as value
|
||
for -mcpu and -mtune.
|
||
|
||
2016-02-24 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-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69918
|
||
* params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
|
||
2 to 3.
|
||
|
||
2016-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
Richard Biener <rguenth@suse.de>
|
||
|
||
PR middle-end/69909
|
||
* expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
|
||
set_mem_attributes if tem is SSA_NAME which got expanded
|
||
as a MEM.
|
||
|
||
2016-02-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69907
|
||
* tree-vect-stmts.c (vectorizable_load): Check for gaps at the
|
||
end of permutations for BB vectorization.
|
||
|
||
2016-02-24 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/arm/arm-c.c (arm_option_override): Initialize
|
||
target_option_current_node.
|
||
* config/arm/arm.c (arm_pragma_target_parse): Replace
|
||
build_target_option_node call by target_option_current_node.
|
||
Set target_option_current_node.
|
||
Fix comments.
|
||
|
||
2016-02-23 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/69810
|
||
* config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
|
||
define_insn_and_split to define_insn.
|
||
(zero_extendqi<mode>2_dot2): Same.
|
||
(extendqi<mode>2_dot): Same.
|
||
(extendqi<mode>2_dot2): Same.
|
||
|
||
2016-02-23 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
* config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
|
||
and add bypass for AES{D,E} and AESMC pairs.
|
||
* config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
|
||
and AESMC pairs.
|
||
|
||
2016-02-23 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
* config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
|
||
series for reciprocal square root in Exynos M1.
|
||
|
||
2016-02-23 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/69759
|
||
* doc/extend.texi (Other Builtins): Document __builtin_alloca and
|
||
__builtin_alloca_with_align.
|
||
|
||
2016-02-23 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
|
||
(ix86_register_pragmas): Remove __seg_tls.
|
||
* config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
|
||
* config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
|
||
(ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
|
||
(ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
|
||
(ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
|
||
* doc/extend.texi (__seg_tls): Remove item.
|
||
|
||
2016-02-23 Richard Biener <rguenther@suse.de>
|
||
|
||
* alloc-pool.h (struct allocation_object): Make id member
|
||
conditional on CHECKING_P again.
|
||
(get_instance): Adjust.
|
||
(base_pool_allocator): Likewise.
|
||
|
||
2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* tree-parloops.c (create_parallel_loop, gen_parallel_loop)
|
||
(parallelize_loops): In OpenACC kernels mode, set n_threads to
|
||
zero.
|
||
(pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
|
||
flag_openacc.
|
||
* tree-ssa-loop.c (gate_oacc_kernels): Likewise.
|
||
|
||
2016-02-23 Richard Biener <rguenther@suse.de>
|
||
|
||
* mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
|
||
* bitmap.h (struct bitmap_usage): Likewise.
|
||
(bitmap_move): Declare.
|
||
* bitmap.c (register_overhead): Take size_t argument.
|
||
(bitmap_move): New function.
|
||
* df-problems.c (df_rd_transfer_function): Use bitmap_move
|
||
to properly account overhead.
|
||
* tree.c (free_node): Use tree_size.
|
||
|
||
2016-02-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69902
|
||
* fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
|
||
when inverting comparison.
|
||
|
||
PR c/69900
|
||
* common.opt (Wunreachable-code): Add Warning flag.
|
||
|
||
2016-02-23 Mark Wielaard <mjw@redhat.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69911
|
||
* cgraphunit.c (check_global_declaration): Check main_input_filename
|
||
and DECL_SOURCE_FILE are not NULL.
|
||
|
||
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-20 Mark Wielaard <mjw@redhat.com>
|
||
|
||
PR c/28901
|
||
* cgraphunit.c (check_global_declaration): Check level of
|
||
warn_unused_const_variable and main_input_filename.
|
||
* doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
|
||
(-Wunused-variable): For C implies -Wunused-const-variable=1.
|
||
(-Wunused-const-variable): Explain levels 1 and 2.
|
||
|
||
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.
|
||
|
||
PR target/69885
|
||
* doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
|
||
be specified.
|
||
|
||
PR target/69894
|
||
PR target/69895
|
||
* config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
|
||
and m68k-devices.def.
|
||
* config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
|
||
* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
|
||
|
||
2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
|
||
and HImode registers.
|
||
|
||
2016-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69882
|
||
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
|
||
preserve permutations present because of gaps.
|
||
(vect_supported_load_permutation_p): Always continue checking
|
||
permutations after vect_attempt_slp_rearrange_stmts.
|
||
|
||
2016-02-22 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
|
||
min_profitable_estimate, rather than min_profitable_iters.
|
||
|
||
2016-02-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69885
|
||
* config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
|
||
SImode for last match_operand.
|
||
|
||
2016-02-22 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa-gen.c (gen_hsa_clrsb): In case of zero value,
|
||
return bitsize - 1 as the return value.
|
||
|
||
2016-02-22 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/69806
|
||
PR target/54089
|
||
* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
|
||
Handle negative shift counts.
|
||
* config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
|
||
force_reg on the shift constant.
|
||
(lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d.
|
||
(lshrsi3_d): Handle negative shift counts.
|
||
|
||
2016-02-22 Richard Biener <rguenther@suse.de>
|
||
Tom de Vries <tom@codesourcery.com>
|
||
|
||
* graph.c: Include dumpfile.h.
|
||
(print_graph_cfg): Split into three overloads.
|
||
* gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
|
||
|
||
2016-02-22 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* gdbhooks.py (class DumpFn): Add and instantiate, adding command
|
||
dump-fn.
|
||
|
||
2016-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/37448
|
||
* ipa-inline-transform.c (inline_call): When not updating
|
||
overall summaries adjust self size by the growth estimate.
|
||
* ipa-inline.c (inline_to_all_callers_1): Add to the callers
|
||
hash-set, do not update overall summaries here. Renamed from ...
|
||
(inline_to_all_callers): ... this which is now wrapping the
|
||
above and performing delayed overall summary update.
|
||
(early_inline_small_functions): Delay updating of the overall
|
||
summary.
|
||
|
||
2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
* tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
|
||
variable.
|
||
|
||
2016-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR driver/69805
|
||
* gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
|
||
:%* in %:gt() argument.
|
||
(greater_than_spec_func): Adjust for expecting only numbers,
|
||
if there are more than two numbers, compare the last two.
|
||
|
||
2016-02-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (C++ Dialect Options): Clarify interaction of
|
||
-Wnarrowing with -std.
|
||
|
||
2016-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69851
|
||
* expr.c (store_field): Don't use bit-field path if exp is
|
||
COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
|
||
different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
|
||
and the assignment can be performed by bitwise copy. Formatting
|
||
fix.
|
||
|
||
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.
|
||
|
||
PR target/69820
|
||
* config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
|
||
if TARGET_AVX512BW.
|
||
|
||
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-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-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-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
|
||
|
||
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_vcond): Use the compare operand
|
||
mode.
|
||
|
||
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-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-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-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69671
|
||
* config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
|
||
*avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
|
||
*avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
|
||
*avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
|
||
*avx512f_<code>v8div16qi2_mask_1): New insns.
|
||
|
||
2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/68404
|
||
* config/rs6000/predicates.md (fusion_gpr_addis): Revert
|
||
2016-02-09 change.
|
||
|
||
* config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
|
||
earlyclobber from target. Use wF constraint for fused memory
|
||
address.
|
||
(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
|
||
|
||
2016-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/69863
|
||
* cfgexpand.c (asan_sanitize_stack_p): New function.
|
||
(partition_stack_vars): Use the function.
|
||
(expand_stack_vars): Likewise.
|
||
(defer_stack_allocation): Likewise.
|
||
(expand_used_vars): Likewise.
|
||
|
||
2016-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69553
|
||
* fold-const.c (operand_equal_p): Properly compare offsets for
|
||
IMAGPART_EXPR and ARRAY_REF.
|
||
|
||
2016-02-18 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/62254
|
||
PR target/69610
|
||
* config/arm/arm.c (arm_option_override_internal): Disable
|
||
interworking if the target does not support thumb instructions.
|
||
(arm_reload_in_hi): Handle the case where a register to register
|
||
move needs reloading because there is no simple pattern to handle
|
||
it.
|
||
(arm_reload_out_hi): Likewise.
|
||
|
||
2016-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69854
|
||
* match.pd: Don't use fold_binary or fold_unary for folding
|
||
constants.
|
||
|
||
2016-02-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69850
|
||
* gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
|
||
on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
|
||
* gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
|
||
warn on gimple_no_warning_p statements.
|
||
|
||
2016-02-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/extend.texi (C++ Attributes): Correct description of
|
||
warn_unused type attribute.
|
||
|
||
2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
|
||
correct instruction.
|
||
|
||
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-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69161
|
||
* config/aarch64/predicates.md (aarch64_comparison_operator_mode):
|
||
New predicate.
|
||
(aarch64_comparison_operator): Break overly long line into two.
|
||
(aarch64_comparison_operation): Likewise.
|
||
* config/aarch64/aarch64.md (cstorecc4): Use
|
||
aarch64_comparison_operator_mode instead of
|
||
aarch64_comparison_operator.
|
||
(cstore<mode>4): Likewise.
|
||
(aarch64_cstore<mode>): Likewise.
|
||
(*cstoresi_insn_uxtw): Likewise.
|
||
(cstore<mode>_neg): Likewise.
|
||
(*cstoresi_neg_uxtw): Likewise.
|
||
|
||
2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69161
|
||
* config/arm/predicates.md (arm_comparison_operator_mode):
|
||
New predicate.
|
||
* config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
|
||
instead of arm_comparison_operator.
|
||
(*mov_negscc): Likewise.
|
||
(*mov_notscc): Likewise.
|
||
* config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
|
||
(*thumb2_mov_negscc): Likewise.
|
||
(*thumb2_mov_negscc_strict_it): Likewise.
|
||
(*thumb2_mov_notscc): Likewise.
|
||
(*thumb2_mov_notscc_strict_it): Likewise.
|
||
|
||
2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
|
||
Add missing return.
|
||
|
||
2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/visium/visium.c (machine_libfunc_index): New enum.
|
||
(machine_libfuncs): New structure.
|
||
(visium_libfuncs): New static variable.
|
||
(TARGET_INIT_LIBFUNCS): Define to...
|
||
(visium_init_libfuncs): ...this. New function.
|
||
(expand_block_move_4): Use the appropriate libfunc.
|
||
(expand_block_move_2): Likewise.
|
||
(expand_block_move_1): Likewise.
|
||
(expand_block_set_4): Likewise.
|
||
(expand_block_set_2): Likewise.
|
||
(expand_block_set_1): Likewise.
|
||
(visium_trampoline_init): Likewise.
|
||
|
||
2016-02-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/msp430/msp430.c (msp430_mcu_data): Sync with data from
|
||
TI's devices.csv file as of March 2016.
|
||
|
||
2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR Target/48344
|
||
* opts-global.c (handle_common_deferred_options): Introduce and
|
||
initialize two global variables to remember command-line options
|
||
specifying a stack-limiting register.
|
||
* opts.h: Add extern declarations of the two new global variables.
|
||
* emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
|
||
variable based on the values of the two new global variables.
|
||
|
||
2016-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69835
|
||
* common.opt (Wnonnull-compare): New warning.
|
||
* doc/invoke.texi (-Wnonnull): Remove text about comparison
|
||
of arguments against NULL.
|
||
(-Wnonnull-compare): Document.
|
||
* Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
|
||
* tree-pass.h (make_pass_warn_nonnull_compare): Declare.
|
||
* passes.def (pass_warn_nonnull_compare): Add.
|
||
* gimple-ssa-nonnull-compare.c: New file.
|
||
|
||
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (cortexa57_tunings): Remove
|
||
AARCH64_EXTRA_TUNE_RECIP_SQRT.
|
||
|
||
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (use_rsqrt_p): Always use software
|
||
reciprocal sqrt for -mlow-precision-recip-sqrt.
|
||
|
||
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
|
||
always use lane loads to construct non-constant vectors.
|
||
|
||
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64.md
|
||
(arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
|
||
constraints for operand 3.
|
||
(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
|
||
|
||
2016-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69820
|
||
* tree-vect-patterns.c (type_conversion_p): Return false if
|
||
*orig_type is unsigned single precision or boolean.
|
||
(vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
|
||
Formatting fix.
|
||
|
||
2016-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
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-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-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 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
|
||
* config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
|
||
(FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
|
||
* config/arc/arc.c (arc_init): Check FPU options.
|
||
(get_arc_condition_code): Handle new CC_FPU* modes.
|
||
(arc_select_cc_mode): Likewise.
|
||
(arc_conditional_register_usage): Allow 64 bit datum into even-odd
|
||
register pair only. Allow access for ARCv2 accumulator.
|
||
(gen_compare_reg): Whenever we have FPU support use FPU compare
|
||
instructions.
|
||
(arc_reorg): Don't generate brcc insns when FPU compare
|
||
instructions are involved.
|
||
* config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
|
||
(TARGET_OPTFPE): Add condition when ARC EM can use optimized
|
||
floating point emulation.
|
||
(ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
|
||
(REVERSE_CONDITION): Add new CC_FPU* modes.
|
||
(TARGET_FP_SP_BASE): Define.
|
||
(TARGET_FP_DP_BASE): Likewise.
|
||
(TARGET_FP_SP_FUSED): Likewise.
|
||
(TARGET_FP_DP_FUSED): Likewise.
|
||
(TARGET_FP_SP_CONV): Likewise.
|
||
(TARGET_FP_DP_CONV): Likewise.
|
||
(TARGET_FP_SP_SQRT): Likewise.
|
||
(TARGET_FP_DP_SQRT): Likewise.
|
||
(TARGET_FP_DP_AX): Likewise.
|
||
* config/arc/arc.md (ARCV2_ACC): New constant.
|
||
(type): New fpu type attribute.
|
||
(SDF): Conditional iterator.
|
||
(cstore<mode>, cbranch<mode>): Change expand condition.
|
||
(addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
|
||
handles FPU/FPX cases as well.
|
||
* config/arc/arc.opt (mfpu): New option.
|
||
* config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
|
||
Renamed.
|
||
(adddf3, muldf3, subdf3): Removed.
|
||
* config/arc/predicates.md (proper_comparison_operator): Recognize
|
||
CC_FPU* modes.
|
||
* config/arc/fpu.md: New file.
|
||
* doc/invoke.texi (ARC Options): Document mfpu option.
|
||
|
||
2016-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/69291
|
||
* ifcvt.c (noce_try_store_flag_constants): Re-instantiate
|
||
noce_operand_ok check.
|
||
|
||
2016-02-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR lto/67709
|
||
* omp-low.c (simd_clone_create): Remove call to
|
||
symtab->call_cgraph_insertion_hooks.
|
||
|
||
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.
|
||
|
||
2016-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69586
|
||
* tree-vrp.c (register_edge_assert_for_2): Handle all integral
|
||
types for conversion sources.
|
||
|
||
2016-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69801
|
||
* fold-const.c (operand_equal_p): For COND_EXPR zero operand
|
||
mask OEP_ADDRESS_OF.
|
||
|
||
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>): Make clobber IF. Adjust for above
|
||
changes.
|
||
(reload_fpr_from_gpr<mode>): Similarly. 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-02-15 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
Add support for the FCCMP insn types
|
||
|
||
* config/aarch64/aarch64.md (fccmp): Change insn type.
|
||
(fccmpe): Likewise.
|
||
* config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
|
||
* config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
|
||
* config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
|
||
* config/arm/xgene1.md (xgene1_fcmp): Likewise.
|
||
* config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
|
||
* config/arm/types.md (fccmps): Add new insn type.
|
||
(fccmpd): Likewise.
|
||
|
||
2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* alias.c (get_alias_set): Fix a typo in comment.
|
||
|
||
2016-02-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69595
|
||
* match.pd: Complete range test simplification to true.
|
||
|
||
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.
|
||
|
||
PR rtl-optimization/69752
|
||
* ira.c (update_equiv_regs): When looking for more than a single SET,
|
||
also take other side effects into account.
|
||
|
||
2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
|
||
|
||
* config/s390/s390.c (s390_function_profiler): Add a new sequence
|
||
for z900+ CPUs in 31-bit mode.
|
||
|
||
2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
|
||
|
||
* common/config/s390/s390-common.c (s390_supports_split_stack):
|
||
New function.
|
||
(TARGET_SUPPORTS_SPLIT_STACK): New macro.
|
||
* config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
|
||
* config/s390/s390.c (struct machine_function): New field
|
||
split_stack_varargs_pointer.
|
||
(s390_register_info): Mark r12 as clobbered if it'll be used as temp
|
||
in s390_emit_prologue.
|
||
(s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
|
||
vararg pointer.
|
||
(morestack_ref): New global.
|
||
(SPLIT_STACK_AVAILABLE): New macro.
|
||
(s390_expand_split_stack_prologue): New function.
|
||
(s390_live_on_entry): New function.
|
||
(s390_va_start): Use split-stack vararg pointer if appropriate.
|
||
(s390_asm_file_end): Emit the split-stack note sections.
|
||
(TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
|
||
* config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
|
||
(UNSPECV_SPLIT_STACK_CALL): New unspec.
|
||
(UNSPECV_SPLIT_STACK_DATA): New unspec.
|
||
(split_stack_prologue): New expand.
|
||
(split_stack_space_check): New expand.
|
||
(split_stack_data): New insn.
|
||
(split_stack_call): New expand.
|
||
(split_stack_call_*): New insn.
|
||
(split_stack_cond_call): New expand.
|
||
(split_stack_cond_call_*): New insn.
|
||
|
||
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-15 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR lto/69655
|
||
* lto-cgraph.c (input_offload_tables): Add and handle bool parameter
|
||
do_force_output.
|
||
* lto-streamer.h (input_offload_tables): Add and handle bool parameter.
|
||
|
||
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-14 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
|
||
|
||
2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
|
||
|
||
* config/i386/znver1.md
|
||
(znver1_pop, znver1_pop_mem,
|
||
znver1_load_imov_double_store,
|
||
znver1_load_imov_direct_store,
|
||
znver1_load_imov_direct_load,
|
||
znver1_load_imov_double_load): Add new.
|
||
(znver1_insn, znver1_insn_load): Add icmov type.
|
||
(znver1_sseavx_fma,
|
||
znver1_sseavx_fma_load,
|
||
znver1_avx256_fma,
|
||
znver1_avx256_fma_load): Fix pipe usage.
|
||
|
||
2016-02-14 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/68973
|
||
* reloads.c (find_reloads_address_1): For pre/post-inc/dec
|
||
with an invalid hard reg, reload just the reg not the entire
|
||
pre/post-inc/dec address expression.
|
||
|
||
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.
|
||
(sibcall_value_pcrel_fdpic): Likewise.
|
||
|
||
2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/67636
|
||
PR target/64345
|
||
* config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
|
||
|
||
2016-02-12 Walter Lee <walt@tilera.com>
|
||
|
||
* config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
|
||
* config/tilegx/t-tilegx: Likewise.
|
||
|
||
2016-02-12 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR other/69554
|
||
* diagnostic-show-locus.c (struct line_span): New struct.
|
||
(layout::get_first_line): Delete.
|
||
(layout::get_last_line): Delete.
|
||
(layout::get_num_line_spans): New member function.
|
||
(layout::get_line_span): Likewise.
|
||
(layout::print_heading_for_line_span_index_p): Likewise.
|
||
(layout::get_expanded_location): Likewise.
|
||
(layout::calculate_line_spans): Likewise.
|
||
(layout::m_first_line): Delete.
|
||
(layout::m_last_line): Delete.
|
||
(layout::m_line_spans): New field.
|
||
(layout::layout): Update comment. Replace m_first_line and
|
||
m_last_line with m_line_spans, replacing their initialization
|
||
with a call to calculate_line_spans.
|
||
(diagnostic_show_locus): When printing source lines and
|
||
annotations, rather than looping over a single span
|
||
of lines, instead loop over each line_span within
|
||
the layout, with an inner loop over the lines within them.
|
||
Call the context's start_span callback when changing line spans.
|
||
* diagnostic.c (diagnostic_initialize): Initialize start_span.
|
||
(diagnostic_build_prefix): Break out the building of the location
|
||
part of the string into...
|
||
(diagnostic_get_location_text): ...this new function, rewriting
|
||
it from nested ternary expressions to a sequence of "if"
|
||
statements.
|
||
(default_diagnostic_start_span_fn): New function.
|
||
* diagnostic.h (diagnostic_start_span_fn): New typedef.
|
||
(diagnostic_context::start_span): New field.
|
||
(default_diagnostic_start_span_fn): New prototype.
|
||
|
||
2016-02-12 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR driver/69779
|
||
* gcc.c (driver::finalize): Fix cleanup of "specs".
|
||
|
||
2016-02-12 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR driver/69265
|
||
PR driver/69453
|
||
* gcc.c (driver::driver): Initialize m_option_suggestions.
|
||
(driver::~driver): Clean up m_option_suggestions.
|
||
(suggest_option): Convert to...
|
||
(driver::suggest_option): ...this, and split out into
|
||
driver::build_option_suggestions and find_closest_string.
|
||
(driver::build_option_suggestions): New function, from
|
||
first half of suggest_option. Special-case
|
||
OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
|
||
the sanitizer_opts array. For options of enum types, add the
|
||
various enum values to the candidate strings.
|
||
(driver::handle_unrecognized_options): Remove "const".
|
||
* gcc.h (driver::handle_unrecognized_options): Likewise.
|
||
(driver::build_option_suggestions): New decl.
|
||
(driver::suggest_option): New decl.
|
||
(driver::m_option_suggestions): New field.
|
||
* opts-common.c (add_misspelling_candidates): New function.
|
||
* opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
|
||
and make non-static.
|
||
* opts.h (sanitizer_opts): New array decl.
|
||
(add_misspelling_candidates): New function decl.
|
||
* spellcheck.c (find_closest_string): New function.
|
||
* spellcheck.h (find_closest_string): New function decl.
|
||
|
||
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.
|
||
|
||
2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69729
|
||
* lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
|
||
to correctly determine instrumentation thunks.
|
||
|
||
2016-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/69241
|
||
* ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
|
||
type by reference, force lhs on the call.
|
||
|
||
PR ipa/68672
|
||
* ipa-split.c (split_function): Don't compute/use main_part_return_p.
|
||
Compute retval and retbnd 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-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
revert:
|
||
2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
PR middle-end/66726
|
||
* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
|
||
whose result is used in PHI.
|
||
(maybe_optimize_range_tests): Likewise.
|
||
(final_range_test_p): Likweise.
|
||
|
||
2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
PR middle-end/66726
|
||
* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
|
||
whose result is used in PHI.
|
||
(maybe_optimize_range_tests): Likewise.
|
||
(final_range_test_p): Likweise.
|
||
|
||
2016-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cgraph.c: Spelling fixes - behaviour -> behavior and
|
||
neighbour -> neighbor.
|
||
* target.def: Likewise.
|
||
* sel-sched.c: Likewise.
|
||
* config/mips/mips.c: Likewise.
|
||
* config/arc/arc.md: Likewise.
|
||
* config/arm/cortex-a57.md: Likewise.
|
||
* config/arm/arm.c: Likewise.
|
||
* config/arm/neon.md: Likewise.
|
||
* config/arm/arm-c.c: Likewise.
|
||
* config/vms/vms-c.c: Likewise.
|
||
* config/s390/s390.c: Likewise.
|
||
* config/i386/znver1.md: Likewise.
|
||
* config/i386/i386.c: Likewise.
|
||
* config/ia64/hpux-unix2003.h: Likewise.
|
||
* config/msp430/msp430.md: Likewise.
|
||
* config/rx/rx.c: Likewise.
|
||
* config/rx/rx.md: Likewise.
|
||
* config/aarch64/aarch64-simd.md: Likewise.
|
||
* config/aarch64/aarch64.c: Likewise.
|
||
* config/nvptx/nvptx.c: Likewise.
|
||
* config/bfin/bfin.c: Likewise.
|
||
* config/cris/cris.opt: Likewise.
|
||
* config/rs6000/rs6000.c: Likewise.
|
||
* target.h: Likewise.
|
||
* spellcheck.c: Likewise.
|
||
* ira-build.c: Likewise.
|
||
* tree-inline.c: Likewise.
|
||
* builtins.c: Likewise.
|
||
* lra-constraints.c: Likewise.
|
||
* explow.c: Likewise.
|
||
* hwint.h: Likewise.
|
||
* targhooks.c: Likewise.
|
||
* tree-vect-data-refs.c: Likewise.
|
||
* expr.c: Likewise.
|
||
* doc/tm.texi: Likewise.
|
||
* doc/extend.texi: Likewise.
|
||
* doc/install.texi: Likewise.
|
||
* doc/md.texi: Likewise.
|
||
* tree-ssa-tail-merge.c: Likewise.
|
||
* sched-int.h: Likewise.
|
||
* match.pd: Likewise.
|
||
* sched-ebb.c: Likewise.
|
||
* target.def (omit_struct_return_reg): Likewise.
|
||
* gimple-ssa-isolate-paths.c: Likewise.
|
||
(find_implicit_erroneous_behaviour): Renamed to...
|
||
(find_implicit_erroneous_behavior): ... this.
|
||
(find_explicit_erroneous_behaviour): Renamed to...
|
||
(find_explicit_erroneous_behavior): ... this.
|
||
(gimple_ssa_isolate_erroneous_paths): Adjust caller.
|
||
|
||
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 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
|
||
New variable.
|
||
(aarch64_last_printed_tune_string): Likewise.
|
||
(aarch64_declare_function_name): Only output .arch assembler
|
||
directive if it will be different from the previously output
|
||
directive. Same for .tune comment but only if -dA is set.
|
||
(aarch64_start_file): New function.
|
||
(TARGET_ASM_FILE_START): Define.
|
||
|
||
2016-02-11 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR plugins/69758
|
||
* Makefile.in (PLUGIN_HEADERS): Add params.list.
|
||
|
||
2016-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65313
|
||
* tree-vect-slp.c (vect_schedule_slp_instance): Avoid
|
||
-Wmaybe-uninitialized warning.
|
||
|
||
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-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/69291
|
||
* ifcvt.c (noce_try_store_flag_constants): Do not allow
|
||
subexpressions affected by changing the result.
|
||
|
||
2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/69148
|
||
* lra-constraints.c (curr_insn_transform): Find in/out operands
|
||
for secondary memory moves. Update dups.
|
||
|
||
2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR tree-optimization/69652
|
||
* tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
|
||
to nested loop, did source re-formatting, skip debug statements,
|
||
add check on statement with volatile operand, remove dead scalar
|
||
statements.
|
||
|
||
2016-02-10 Jakub Jelinek <jakub@redhat.com>
|
||
Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR ipa/69241
|
||
PR c++/69649
|
||
* gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
|
||
calls if the return type is TREE_ADDRESSABLE.
|
||
* cgraphunit.c (cgraph_node::expand_thunk): Likewise.
|
||
* ipa-split.c (split_function): Fix doubled "we" in comment.
|
||
Use void return type for the split part even if
|
||
!split_point->split_part_set_retval.
|
||
|
||
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.
|
||
|
||
2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
|
||
(cortexa57_tunings): Likewise.
|
||
(cortexa72_tunings): Likewise.
|
||
(arch_macro_fusion_pair_p): Add support for AES fusion.
|
||
* config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
|
||
* config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
|
||
Allow virtual registers before reload so early scheduling works.
|
||
* config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
|
||
correct latency and pipeline.
|
||
(cortex_a57_crypto_complex): Likewise.
|
||
(cortex_a57_crypto_xor): Likewise.
|
||
(define_bypass): Add AES bypass.
|
||
|
||
2016-02-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69726
|
||
* passes.def: Add DCE pass before late uninit.
|
||
* match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
|
||
really fixup if-conversions job.
|
||
|
||
2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
|
||
(arm_cortex_a57_tune): Likewise.
|
||
(aarch_macro_fusion_pair_p): Add support for AES fusion.
|
||
* config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
|
||
|
||
2016-02-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* timevar.def (TV_PHASE_DBGINFO): Delete.
|
||
(TV_PHASE_CHECK_DBGINFO): Likewise.
|
||
* varpool.c (varpool_node::assemble_decl): Do not change timevar.
|
||
|
||
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-09 Andrew Pinski <apinski@cavium.com>
|
||
|
||
PR tree-opt/69282
|
||
* optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
|
||
get_vcond_mask_icode returns false.
|
||
|
||
2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/68404
|
||
* config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
|
||
an ADDIS that adds a pointer to a large constant that sets the
|
||
upper16 bits with a load operation.
|
||
|
||
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
|
||
|
||
PR target/68532
|
||
* config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
|
||
order.
|
||
* config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
|
||
endian.
|
||
(vzipq_s16): Likewise.
|
||
(vzipq_s32): Likewise.
|
||
(vzipq_f32): Likewise.
|
||
(vzipq_u8): Likewise.
|
||
(vzipq_u16): Likewise.
|
||
(vzipq_u32): Likewise.
|
||
(vzipq_p8): Likewise.
|
||
(vzipq_p16): Likewise.
|
||
|
||
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
|
||
|
||
PR target/68532
|
||
* config/arm/arm.c (neon_endian_lane_map): New function.
|
||
(neon_vector_pair_endian_lane_map): New function.
|
||
(arm_evpc_neon_vuzp): Allow for big endian lane order.
|
||
* config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
|
||
endian.
|
||
(vuzpq_s16): Likewise.
|
||
(vuzpq_s32): Likewise.
|
||
(vuzpq_f32): Likewise.
|
||
(vuzpq_u8): Likewise.
|
||
(vuzpq_u16): Likewise.
|
||
(vuzpq_u32): Likewise.
|
||
(vuzpq_p8): Likewise.
|
||
(vuzpq_p16): Likewise.
|
||
|
||
2016-02-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR target/69634
|
||
* regstat.c (regstat_bb_compute_calls_crossed): Disregard
|
||
debug insns.
|
||
|
||
2016-02-09 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
|
||
truncate const_int operand 1 to QImode.
|
||
|
||
2016-02-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
|
||
corresponding to an abnormal edge.
|
||
|
||
2016-02-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69599
|
||
* tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
|
||
function.
|
||
(find_func_aliases_for_builtin_call, find_func_clobbers)
|
||
(ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
|
||
partition.
|
||
|
||
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-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR lto/69707
|
||
* lto-wrapper.c (append_diag_options): New function.
|
||
(compile_offload_image): Call append_diag_options.
|
||
|
||
2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR other/69722
|
||
* doc/extend.texi (Flag Output Operands): Correct sectioning.
|
||
Minor copy-edit to fix verb tenses.
|
||
|
||
2016-02-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69209
|
||
* ipa-split.c (split_function): If split part is not
|
||
returning retval, retval has gimple type but is not
|
||
gimple value, force it into a SSA_NAME first.
|
||
|
||
2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com>
|
||
|
||
* doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
|
||
outdated section.
|
||
|
||
2016-02-08 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/69631
|
||
* convert.c (convert_to_integer_1): Check dofold on truncation
|
||
distribution.
|
||
(convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
|
||
(convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
|
||
Rename from *_nofold.
|
||
* convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
|
||
(convert_to_real_nofold, convert_to_complex_nofold): New inlines.
|
||
|
||
2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR target/60410
|
||
* tree.c (build_common_tree_nodes): Remove short_double argument.
|
||
All callers changed.
|
||
* tree.h (build_common_tree_nodes): Adjust declaration.
|
||
* doc/invoke.texi (-fshort-double): Remove documentation.
|
||
* config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
|
||
MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
|
||
* lto-wrapper.c (merge_and_complain, append_compiler_options)
|
||
(append_linker_options): Don't handle OPT_fshort_double.
|
||
|
||
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.
|
||
|
||
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-08 Richard Biener <rguenther@suse.de>
|
||
Jeff Law <law@redhat.com>
|
||
|
||
PR target/68273
|
||
* tree-ssanames.c (make_ssa_name_fn): Always use unqualified
|
||
types for anonymous SSA names.
|
||
|
||
2016-02-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/69274
|
||
* ira.c (ira_setup_alts): Do not change recog_data.operand order.
|
||
|
||
2016-02-08 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/65917
|
||
* tree-ssa-dom.c (record_temporary_equivalences): Record both
|
||
equivalences from if (x == y) style conditionals.
|
||
(loop_depth_of_name): Remove.
|
||
(record_equality): Remove loop depth check.
|
||
* tree-ssa-scopedtables.h (const_and_copies): Refine comments.
|
||
(const_and_copies::record_const_or_copy_raw): New member function.
|
||
* tree-ssa-scopedtables.c
|
||
(const_and_copies::record_const_or_copy_raw): New, factored out of
|
||
(const_and_copies::record_const_or_copy): Call new member function.
|
||
|
||
2016-02-05 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/68541
|
||
* gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
|
||
(count_stmts_in_block): New function.
|
||
(poor_ifcvt_candidate_code): Likewise.
|
||
(is_feasible_trace): Add some heuristics to determine when path
|
||
splitting is profitable.
|
||
(find_block_to_duplicate_for_splitting_paths): Make sure the graph
|
||
is a diamond with a single exit.
|
||
|
||
2016-02-05 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/69662
|
||
* doc/invoke.texi: Update -Wplacement-new to take an optional
|
||
argument.
|
||
|
||
2016-02-06 Richard Henderson <rth@redhat.com>
|
||
|
||
PR c/69643
|
||
* tree.c (tree_nop_conversion_p): Do not strip casts into or
|
||
out of non-standard address spaces.
|
||
|
||
2016-02-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69691
|
||
* lra-eliminations.c (move_plus_up): Don't add the addend twice.
|
||
|
||
2016-02-05 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
|
||
* config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
|
||
(*ieee128_mfvsrd_64bit): Likewise.
|
||
(*ieee128_mfvsrd_32bit): Likewise.
|
||
|
||
2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69369
|
||
Revert r232560:
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* cgraphunit.c (cgraph_node::reset): Clear thunk info and
|
||
instrumented_version.
|
||
|
||
2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
|
||
|
||
* doc/invoke.texi (Optimize Options): In table of --param options
|
||
rename second occurrence of tracer-min-branch-ratio to
|
||
tracer-min-branch-probability, rename
|
||
tracer-min-branch-ratio-feedback to
|
||
tracer-min-branch-probability-feedback and clarify description,
|
||
rename sched-spec-state-edge-prob-cutoff to
|
||
sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
|
||
to selsched-insns-to-rename, rename lto-minpartition to
|
||
lto-min-partition, delete reorder-blocks-duplicate and
|
||
reorder-blocks-duplicate-feedback.
|
||
|
||
2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_register_info_set_ranges): Remove
|
||
superfluous loops.
|
||
|
||
2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* doc/extend.texi: S/390: Correct some typos.
|
||
|
||
2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
|
||
|
||
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-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/69677
|
||
* config/i386/i386.c (convert_scalars_to_vector): Readd stack
|
||
alignment fixes.
|
||
(ix86_option_override_internal): Disable TARGET_STV even for
|
||
-m{incoming,preferred}-stack-boundary=3.
|
||
|
||
2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* config.gcc: Mark deprecated rtems targets as obsolete.
|
||
|
||
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 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/msp430/msp430.c (msp430_start_function): Add function type.
|
||
|
||
2016-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/69368
|
||
* tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
|
||
|
||
2016-02-04 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR rtl-optimization/69577
|
||
Revert:
|
||
2015-10-29 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/68124
|
||
PR rtl-opt/67609
|
||
* config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
|
||
sse check to the exact conditions of PR 67609.
|
||
|
||
2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/69667
|
||
* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
|
||
instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
|
||
not allowed into the traditional Altivec registers.
|
||
(movtd_64bit_nodm): Likewise.
|
||
(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
|
||
|
||
2016-02-04 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* config/aarch64/cortex-a57-fma-steering.c
|
||
(aarch64_register_fma_steering): Remove "static" from arguments
|
||
to register_pass.
|
||
|
||
2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
PR target/69619
|
||
* ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
|
||
twice when complex.
|
||
|
||
2016-02-04 Mike Frysinger <vapier@gentoo.org>
|
||
|
||
* doc/invoke.texi: Delete -mno-fma4.
|
||
|
||
2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/69577
|
||
* reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
|
||
(find_subregs_of_mode): Update accordingly. Iterate over partial
|
||
definitions.
|
||
|
||
2016-02-04 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/arm/arm-protos.h (neon_reinterpret): Remove.
|
||
* config/arm/arm.c (neon_reinterpret): Remove.
|
||
* config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
|
||
vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
|
||
vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
|
||
vreinterpretti): Remove.
|
||
* config/arm/neon.md (neon_vreinterpretv8qi<mode>,
|
||
neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
|
||
neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
|
||
neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
|
||
neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
|
||
neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
|
||
* config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
|
||
vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
|
||
vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
|
||
vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
|
||
vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
|
||
vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
|
||
vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
|
||
vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
|
||
vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
|
||
vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
|
||
vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
|
||
vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
|
||
vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
|
||
vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
|
||
vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
|
||
vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
|
||
vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
|
||
vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
|
||
vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
|
||
vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
|
||
vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
|
||
vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
|
||
vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
|
||
vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
|
||
vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
|
||
vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
|
||
vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
|
||
vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
|
||
vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
|
||
vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
|
||
vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
|
||
vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
|
||
vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
|
||
vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
|
||
vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
|
||
vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
|
||
vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
|
||
vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
|
||
vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
|
||
vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
|
||
vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
|
||
vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
|
||
vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
|
||
vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
|
||
vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
|
||
vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
|
||
vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
|
||
vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
|
||
vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
|
||
vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
|
||
vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
|
||
vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
|
||
vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
|
||
vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
|
||
vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
|
||
vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
|
||
vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
|
||
vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
|
||
vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
|
||
vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
|
||
vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
|
||
vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
|
||
vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
|
||
vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
|
||
vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
|
||
vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
|
||
vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
|
||
vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
|
||
vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
|
||
vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
|
||
vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
|
||
vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
|
||
vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
|
||
vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
|
||
vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
|
||
vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
|
||
vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
|
||
vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
|
||
vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
|
||
vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
|
||
vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
|
||
vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
|
||
vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
|
||
vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
|
||
vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
|
||
vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
|
||
vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
|
||
vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
|
||
vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
|
||
vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
|
||
vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
|
||
vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
|
||
vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
|
||
vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
|
||
vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
|
||
vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
|
||
vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
|
||
|
||
2016-02-04 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/69276
|
||
* asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
|
||
that are gimple_store_p.
|
||
(maybe_instrument_call): Likewise.
|
||
|
||
2016-02-04 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_legitimize_address): Force
|
||
register scaling out of memory reference and comment why.
|
||
|
||
2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/65932
|
||
PR target/67714
|
||
* cse.c (cse_insn): Pass NULL to fold_rtx when initially
|
||
folding the source of a SET.
|
||
|
||
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-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-04 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
|
||
* config/arm/arm.c (arm_set_current_function): Likewise.
|
||
|
||
2016-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69454
|
||
* config/i386/i386.c (convert_scalars_to_vector): Remove
|
||
stack alignment fixes.
|
||
(ix86_option_override_internal): Disable TARGET_STV if stack
|
||
might not be aligned enough.
|
||
(ix86_minimum_alignment): Assert that TARGET_STV is false.
|
||
|
||
2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com>
|
||
|
||
* gcc/config/i386/x86-tune.def: Disable default prefetching
|
||
for -march=znver1.
|
||
|
||
2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/69461
|
||
* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
|
||
in validating fused toc addresses.
|
||
|
||
2016-02-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69627
|
||
* diagnostic-show-locus.c (layout::get_state_at_point): Don't read
|
||
range->m_caret fields if range->m_show_caret_p is false.
|
||
|
||
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 Vladimir Makarov <vmakarov@redhat.com>
|
||
Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR target/69461
|
||
* lra-constraints.c (simplify_operand_subreg): Check additionally
|
||
address validity after potential reloading.
|
||
(process_address_1): Check insns validity. In case of failure do
|
||
nothing.
|
||
|
||
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 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* wide-int.cc (canonize_uhwi): New function.
|
||
(wi::divmod_internal): Use it.
|
||
|
||
2016-02-02 James Norris <jnorris@codesourcery.com
|
||
|
||
* gimplify.c (omp_notice_variable): Add usage check.
|
||
|
||
2016-02-02 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
|
||
like LE, GE, LT, GT when emitting relational operator.
|
||
|
||
2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* ira-costs.c (find_costs_and_classes): Add extra argument.
|
||
* target.def (ira_change_pseudo_allocno_class): Add parameter.
|
||
* targhooks.h (ira_change_pseudo_allocno_class): Likewise.
|
||
* targhooks.c (ira_change_pseudo_allocno_class): Likewise.
|
||
* config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
|
||
Add best_class parameter, and return it if not ALL_REGS.
|
||
* config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
|
||
Add parameter.
|
||
* doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
|
||
Update target hook.
|
||
|
||
2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c
|
||
(TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
|
||
(aarch64_ira_change_pseudo_allocno_class): New function.
|
||
|
||
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 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
|
||
|
||
* config/avr/avr.c (avr_option_override): Set
|
||
PARAM_ALLOW_STORE_DATA_RACES to 1.
|
||
|
||
2016-02-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69595
|
||
* match.pd: Add range test simplifications to true/false.
|
||
|
||
2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
|
||
* omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
|
||
instead.
|
||
|
||
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-02 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR middle-end/68542
|
||
* config/i386/i386.c (ix86_expand_branch): Add support for conditional
|
||
branch with vector comparison.
|
||
* config/i386/sse.md (VI48_AVX): New mode iterator.
|
||
(define_expand "cbranch<mode>4): Add support for conditional branch
|
||
with vector comparison.
|
||
* tree-vect-loop.c (optimize_mask_stores): New function.
|
||
* tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
|
||
has_mask_store field of vect_info.
|
||
* tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
|
||
vectorized loops having masked stores after vec_info destroy.
|
||
* tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
|
||
correspondent macros.
|
||
(optimize_mask_stores): Add prototype.
|
||
|
||
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-02 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/68662
|
||
* config/rs6000/rs6000.c (need_toc_init): New var, set it
|
||
whenever toc_label_name used.
|
||
(rs6000_file_start): Don't set up toc section here,
|
||
(rs6000_output_function_epilogue): do so here instead,
|
||
(rs6000_xcoff_file_start): and here.
|
||
* config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
|
||
(load_toc_aix_di): Likewise.
|
||
|
||
2016-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69592
|
||
* rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
|
||
(cached_nonzero_bits): Use it instead of ARITHMETIC_P.
|
||
(num_sign_bit_copies_binary_arith_p): New inline function.
|
||
(cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
|
||
|
||
2016-02-01 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69580
|
||
* params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
|
||
* tree-ssa-threadbackward.c
|
||
(fsm_find_control_statement_thread_paths): Do not try to walk
|
||
through large PHI nodes.
|
||
|
||
2016-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
|
||
when count is incremented above limit, don't analyze further
|
||
insns afterwards.
|
||
|
||
* omp-low.c (oacc_parse_default_dims): Avoid
|
||
-Wsign-compare warning, make sure value fits into int
|
||
rather than just unsigned int.
|
||
|
||
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-02-01 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
|
||
(nvptx_goacc_validate_dims): Extend to handle global defaults.
|
||
* target.def (OACC_VALIDATE_DIMS): Extend documentation.
|
||
* doc/tm.texti: Rebuilt.
|
||
* doc/invoke.texi (fopenacc-dim): Document.
|
||
* lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
|
||
(append_compiler_options): Likewise.
|
||
* omp-low.c (oacc_default_dims, oacc_min_dims): New.
|
||
(oacc_parse_default_dims): New.
|
||
(oacc_validate_dims): Add USED arg. Select non-unity default when
|
||
possible.
|
||
(oacc_loop_fixed_partitions): Return mask of used partitions.
|
||
(oacc_loop_auto_partitions): Emit dump info.
|
||
(oacc_loop_partition): Return mask of used partitions.
|
||
(execute_oacc_device_lower): Parse default dimension arg. Adjust
|
||
loop partitioning and validation calls.
|
||
|
||
2016-02-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69556
|
||
* match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
|
||
|
||
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 Martin Liska <mliska@suse.cz>
|
||
|
||
* mem-stats-traits.h: Add copyright header.
|
||
* mem-stats.h: Likewise.
|
||
|
||
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-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* postreload.c (reload_cse_simplify): Remove dead code.
|
||
|
||
2016-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/69570
|
||
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
|
||
if there is more than one set, not if there is a single set.
|
||
|
||
2016-02-01 Richard Henderson <rth@redhat.com>
|
||
|
||
PR rtl-opt/69535
|
||
* combine.c (make_compound_operation): When looking through a
|
||
subreg, make sure to re-extend to the width of the outer mode.
|
||
|
||
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-29 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
|
||
Use short lowercase names.
|
||
(get_memory_order): Mask with MEMMODEL_BASE_MASK. Support
|
||
MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
|
||
acq_rel one. Protect warning agains segfaults if
|
||
get_memory_order_name returns NULL.
|
||
(gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
|
||
with release semantics. Do not warn if get_memory_order already did.
|
||
(gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
|
||
semantics. Fix check for relaxed or acquire semantics. Do not warn
|
||
if get_memory_order already did.
|
||
|
||
2016-01-29 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* doc/install.texi: Document that isl-0.16 is supported.
|
||
|
||
2016-01-29 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/69299
|
||
* config/i386/constraints.md (Bm): Describe as special memory
|
||
constraint.
|
||
* doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
|
||
* genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
|
||
* genpreds.c (struct constraint_data): Add is_special_memory.
|
||
(have_special_memory_constraints, special_memory_start): New
|
||
static vars.
|
||
(special_memory_end): Ditto.
|
||
(add_constraint): Add new arg is_special_memory. Add code to
|
||
process its true value. Update have_special_memory_constraints.
|
||
(process_define_constraint): Pass the new arg.
|
||
(process_define_register_constraint): Ditto.
|
||
(choose_enum_order): Process special memory.
|
||
(write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
|
||
function insn_extra_special_memory_constraint.
|
||
(main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
|
||
* gensupport.c (process_rtx): Process
|
||
DEFINE_SPECIAL_MEMORY_CONSTRAINT.
|
||
* ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
|
||
* ira-lives.c (single_reg_class): Use
|
||
insn_extra_special_memory_constraint.
|
||
* ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
|
||
* lra-constraints.c (process_alt_operands): Ditto.
|
||
(curr_insn_transform): Use insn_extra_special_memory_constraint.
|
||
* recog.c (asm_operand_ok, preprocess_constraints): Process
|
||
CT_SPECIAL_MEMORY.
|
||
* reload.c (find_reloads): Ditto.
|
||
* rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
|
||
* stmt.c (parse_input_constraint): Use
|
||
insn_extra_special_memory_constraint.
|
||
|
||
2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69530
|
||
* lra-splill.c (lra_final_code_change): Revert r229087 by
|
||
removing all sub-registers.
|
||
|
||
2016-01-29 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
PR target/65604
|
||
* config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
|
||
|
||
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-29 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
|
||
with vm.
|
||
|
||
2016-01-29 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* ginclude/stdarg.h: Test __cplusplus instead of
|
||
__GXX_EXPERIMENTAL_CXX0X__.
|
||
|
||
2016-01-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69547
|
||
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
|
||
Do not mark clobbers necessary.
|
||
(mark_all_reaching_defs_necessary_1): Likewise.
|
||
|
||
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-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-01-29 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR c++/69462
|
||
* ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
|
||
for C++-11.
|
||
|
||
2016-01-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69537
|
||
* match.pd: Allow all integral types when simplifying a
|
||
widening or sign-changing conversion.
|
||
|
||
2016-01-28 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
|
||
back to setting codegen_error to fail codegen.
|
||
|
||
2016-01-28 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-28 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
PR target/68400
|
||
* config/mips/mips.c (and_operands_ok): Add MIPS16 check.
|
||
|
||
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 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (output_cbranch): Don't statically predict
|
||
branches if using guessed profile.
|
||
|
||
2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* graphite-optimize-isl.c (optimize_isl): Fix dump.
|
||
|
||
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-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
|
||
|
||
* graphite-optimize-isl.c (optimize_isl): Print a different debug
|
||
message when isl does not return a valid schedule.
|
||
|
||
2016-01-28 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
|
||
Remove comments from class declarations: they are already in the code
|
||
close by the defs.
|
||
|
||
2016-01-28 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
|
||
codegen_error_p.
|
||
(ternary_op_to_tree): Same.
|
||
(unary_op_to_tree): Same.
|
||
(nary_op_to_tree): Same.
|
||
(gcc_expression_from_isl_expr_op): Same.
|
||
(gcc_expression_from_isl_expression): Same.
|
||
(graphite_create_new_loop): Same.
|
||
(graphite_create_new_loop_guard): Same.
|
||
(build_iv_mapping): Same.
|
||
(graphite_create_new_guard): Same.
|
||
(translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
|
||
(translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
|
||
|
||
2016-01-28 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
|
||
instead of setting codegen_error to fail codegen.
|
||
|
||
2016-01-28 Jason Merrill <jason@redhat.com>
|
||
|
||
* tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
|
||
|
||
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_if_then_else_costs):
|
||
Remove CONST_INT_P check in CCMP cost calculation.
|
||
|
||
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (generic_vector_cost):
|
||
Set vec_permute_cost.
|
||
(cortexa57_vector_cost): Likewise.
|
||
(exynosm1_vector_cost): Likewise.
|
||
(xgene1_vector_cost): Likewise.
|
||
(aarch64_builtin_vectorization_cost): Use vec_permute_cost.
|
||
* config/aarch64/aarch64-protos.h (cpu_vector_cost):
|
||
Add vec_permute_cost entry.
|
||
|
||
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (ccmp<mode>): Disassemble
|
||
immediate as %1.
|
||
(add<mode>3_compare0): Likewise.
|
||
(addsi3_compare0_uxtw): Likewise.
|
||
(add<mode>3nr_compare0): Likewise.
|
||
(compare_neg<mode>): Likewise.
|
||
(<optab><mode>3): Likewise.
|
||
|
||
2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* tree-vect-stmts.c (vectorizable_comparison): Add
|
||
NULL check for vectype.
|
||
|
||
2016-01-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69466
|
||
* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
|
||
Account for PHIs we couldn't duplicate.
|
||
|
||
2016-01-28 Martin Liska <mliska@suse.cz>
|
||
|
||
PR pch/68758
|
||
* ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
|
||
instead of ENABLE_VALGRIND_CHECKING.
|
||
|
||
2016-01-27 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-27 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68986
|
||
* config/i386/i386.c (ix86_update_stack_boundary): Don't
|
||
change stack_alignment_needed for __tls_get_addr call.
|
||
|
||
2016-01-27 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
|
||
|
||
2016-01-27 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/68398
|
||
PR tree-optimization/69196
|
||
* params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
|
||
(PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
|
||
Only count PHIs in the last block in the path. The others will
|
||
const/copy propagate away. Add heuristic to allow more irreducible
|
||
subloops to be created when it is likely profitable to do so.
|
||
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
|
||
Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL
|
||
check from within the loop. Use gsi_next_nondebug rather than gsi_next.
|
||
|
||
2016-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/69254
|
||
* sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
|
||
END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
|
||
* asan.c (DEF_BUILTIN_STUB): Temporarily define.
|
||
* tree-streamer-in.c: Include asan.h.
|
||
(streamer_get_builtin_tree): For builtins in sanitizer
|
||
range call initialize_sanitizer_builtins and retry.
|
||
|
||
2016-01-27 Ian Lance Taylor <iant@google.com>
|
||
|
||
* common.opt (fkeep-gc-roots-live): New undocumented option.
|
||
* tree-ssa-loop-ivopts.c (add_candidate_1): If
|
||
-fkeep-gc-roots-live, skip pointers.
|
||
(add_iv_candidate_for_biv): Handle add_candidate_1 returning
|
||
NULL.
|
||
|
||
2016-01-27 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69512
|
||
* config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
|
||
(*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
|
||
|
||
2016-01-27 Thomas Klausner <wiz@NetBSD.org>
|
||
|
||
PR target/68380
|
||
* configure.ac: NetBSD provides SSP in its C library.
|
||
* configure: Updated.
|
||
|
||
2016-01-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69166
|
||
* tree-vect-loop.c (vect_is_simple_reduction): Always check
|
||
reduction code for commutativity / associativity.
|
||
|
||
2016-01-27 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/69355
|
||
* tree-sra.c (analyze_access_subtree): Correct hole detection when
|
||
total_scalarization fails.
|
||
|
||
2016-01-27 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* config/rs6000/driver-rs6000.c (detect_processor_aix): Add
|
||
power9.
|
||
|
||
2016-01-27 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/69245
|
||
* config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
|
||
Move arm_reset_previous_fndecl and set_target_option_current_node in
|
||
the conditional part. Call save_restore_target_globals.
|
||
* config/arm/arm.c (arm_set_current_function):
|
||
Refactor to better support #pragma target and attribute mix.
|
||
Call save_restore_target_globals.
|
||
* config/arm/arm-protos.h (save_restore_target_globals): New function.
|
||
|
||
2016-01-27 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
|
||
reference for an HSA kernel and its host function.
|
||
|
||
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-27 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/predicates.md (proper_comparison_operator): Reject
|
||
constant-constant comparison.
|
||
|
||
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 Abderrazek Zaafrani <a.zaafrani@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
|
||
isl_ast_op_cond and isl_ast_op_select.
|
||
(gcc_expression_from_isl_expr_op): Same.
|
||
|
||
2016-01-26 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68782
|
||
* tree.c (recompute_constructor_flags): Split out from
|
||
build_constructor.
|
||
(verify_constructor_flags): New.
|
||
* tree.h: Declare them.
|
||
|
||
2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR rtl-optimization/69217
|
||
* var-tracking.c (tracked_record_parameter_p): Don't segfault if there
|
||
are no TYPE_FIELDS set for the record type.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/68662
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
|
||
toc_label_name unconditionally.
|
||
(rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
|
||
SYMBOL_REF string. Use toc_label_name instead of constructing
|
||
LCTOC1.
|
||
(rs6000_elf_declare_function_name): Use toc_label_name instead of
|
||
constructing LCTOC1.
|
||
|
||
2016-01-26 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR other/69477
|
||
* doc/extend.texi (Common Type Attributes): Move text that talks about
|
||
attribute packed from attribute aligned to the section discussing
|
||
the former attribute for clarity.
|
||
|
||
2016-01-26 Richard Henderson <rth@redhat.com>
|
||
|
||
PR middle-end/60908
|
||
* trans-mem.c (tm_region_init): Mark entry block as visited.
|
||
|
||
2016-01-26 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR other/69006
|
||
* diagnostic-show-locus.c (layout::print_source_line): Replace
|
||
call to pp_newline with call to layout::print_newline.
|
||
(layout::print_annotation_line): Likewise.
|
||
(layout::move_to_column): Likewise.
|
||
(layout::print_any_fixits): After printing any fixits, print a
|
||
trailing newline, if necessary.
|
||
(layout::print_newline): New method, resetting any colorization
|
||
before a newline.
|
||
(diagnostic_show_locus): Move the pp_newline to before the
|
||
early bailout. Remove dummy block enclosing the layout instance.
|
||
* diagnostic.c (default_diagnostic_finalizer): Replace invocation
|
||
of pp_newline_and_flush with pp_flush.
|
||
(diagnostic_append_note): Delete use of pp_newline.
|
||
(diagnostic_append_note_at_rich_loc): Delete.
|
||
* diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
|
||
* pretty-print.h (output_buffer_append_r): Reset buff->line_length
|
||
when newline characters are added to the buffer.
|
||
|
||
2016-01-26 Michael Matz <matz@suse.de>
|
||
|
||
* configure.ac (ac_cv_std_swap_in_utility): New test.
|
||
* system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
|
||
2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.md (cstoresi4): Force operand into register.
|
||
(arcset<code>): Fix predicate.
|
||
(arcsetltu): Likewise.
|
||
(arcsetgeu): Likewise.
|
||
(arcsethi): Likewise.
|
||
(arcsetls): Likewise.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69483
|
||
* gimple-fold.c (canonicalize_constructor_val): Return NULL
|
||
if base has error_mark_node type.
|
||
|
||
2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
PR target/68620
|
||
* config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
|
||
* config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
|
||
New helper macros.
|
||
(vget_lane_f16): Handle big-endian.
|
||
(vgetq_lane_f16): Likewise.
|
||
(vset_lane_f16): Likewise.
|
||
(vsetq_lane_f16): Likewise.
|
||
* config/arm/iterators.md (VQXMOV): Add V8HF.
|
||
(VDQ): Add V4HF and V8HF.
|
||
(V_reg): Handle V4HF and V8HF.
|
||
(Is_float_mode): Likewise.
|
||
* config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
|
||
neon_vdup_nv8hf): New patterns.
|
||
(vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
|
||
Use VD_LANE iterator.
|
||
(neon_vld1_dup<mode>): Use VQ2 iterator.
|
||
|
||
2016-01-26 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* omp-low.h (oacc_fn_attrib_kernels_p): Declare.
|
||
(set_oacc_fn_attrib): Add IS_KERNEL arg.
|
||
* omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
|
||
(oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
|
||
(expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
|
||
(oacc_validate_dims): Add LEVEL arg, don't return level.
|
||
(new_oacc_loop_routine): Use oacc_fn_attrib_level, not
|
||
oacc_validate_dims.
|
||
(execute_oacc_device_lower): Adjust, add more dump output.
|
||
* tree-ssa-loop.c (gate_oacc_kernels): Use
|
||
oacc_fn_attrib_kernels_p.
|
||
* tree-parloops.c (create_parallel_loop): Adjust
|
||
set_oacc_fn_attrib call.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/69254
|
||
* lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
|
||
(append_compiler_options): Handle -fcilkplus.
|
||
(append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
|
||
|
||
2016-01-26 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/66655
|
||
* config/i386/winnt.c (i386_pe_binds_local_p): If a function has
|
||
been marked as DECL_ONE_ONLY but we do not the means to make it
|
||
so, then do not allow it to bind locally.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/69254
|
||
* opts.h (parse_sanitizer_options): New prototype.
|
||
* opts.c (sanitizer_opts): New array.
|
||
(parse_sanitizer_options): New function.
|
||
(common_handle_option): Use parse_sanitizer_options.
|
||
|
||
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 for
|
||
__tls_get_addr.
|
||
(ix86_finalize_stack_realign_flags): Use stack_alignment_needed
|
||
if __tls_get_addr is called.
|
||
|
||
2016-01-26 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
|
||
|
||
2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
|
||
|
||
2016-01-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69467
|
||
* match.pd: Guard X * CST CMP 0 pattern with single_use.
|
||
|
||
2016-01-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69452
|
||
* tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
|
||
(move_computations_dom_walker::before_dom_children): Rename
|
||
to ...
|
||
(move_computations_worker): This.
|
||
(move_computations): Perform an RPO rather than a DOM walk.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69442
|
||
* combine.c (combine_instructions): For REG_EQUAL note with
|
||
SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
|
||
to the underlying register.
|
||
* doc/rtl.texi (REG_EQUAL): Document the behavior of
|
||
REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
|
||
|
||
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-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-01-25 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-poly.c (apply_poly_transforms): Simplify.
|
||
(print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
|
||
(print_isl_map): Same.
|
||
(print_isl_union_map): Same.
|
||
(print_isl_schedule): New.
|
||
(debug_isl_schedule): New.
|
||
* graphite-dependences.c (scop_get_reads): Do not call
|
||
isl_union_map_add_map that is undocumented isl functionality.
|
||
(scop_get_must_writes): Same.
|
||
(scop_get_may_writes): Same.
|
||
(scop_get_original_schedule): Remove.
|
||
(scop_get_dependences): Do not call isl_union_map_compute_flow that
|
||
is deprecated in isl 0.15. Instead, use isl_union_access_* interface.
|
||
(compute_deps): Remove.
|
||
* graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
|
||
(debug_schedule_ast): New.
|
||
(translate_isl_ast_to_gimple::scop_to_isl_ast): Call
|
||
set_separate_option.
|
||
(graphite_regenerate_ast_isl): Add dump.
|
||
(translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
|
||
from scop->transformed_schedule.
|
||
(graphite_regenerate_ast_isl): Add more dump.
|
||
* graphite-optimize-isl.c (optimize_isl): Set
|
||
scop->transformed_schedule. Check whether schedules are equal.
|
||
(apply_poly_transforms): Move here.
|
||
* graphite-poly.c (apply_poly_transforms): ... from here.
|
||
(free_poly_bb): Static.
|
||
(free_scop): Static.
|
||
(pbb_number_of_iterations_at_time): Remove.
|
||
(print_isl_ast): New.
|
||
(debug_isl_ast): New.
|
||
(debug_scop_pbb): New.
|
||
* graphite-scop-detection.c (print_edge): Move.
|
||
(print_sese): Move.
|
||
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
|
||
(build_scop_scattering): Remove.
|
||
(create_pw_aff_from_tree): Assert instead of bailing out.
|
||
(add_condition_to_pbb): Remove unused code, do not fail.
|
||
(add_conditions_to_domain): Same.
|
||
(add_conditions_to_constraints): Remove.
|
||
(build_scop_context): New.
|
||
(add_iter_domain_dimension): New.
|
||
(build_iteration_domains): Initialize pbb->iterators.
|
||
Call add_conditions_to_domain.
|
||
(nested_in): New.
|
||
(loop_at): New.
|
||
(index_outermost_in_loop): New.
|
||
(index_pbb_in_loop): New.
|
||
(outermost_pbb_in): New.
|
||
(add_in_sequence): New.
|
||
(add_outer_projection): New.
|
||
(outer_projection_mupa): New.
|
||
(add_loop_schedule): New.
|
||
(build_schedule_pbb): New.
|
||
(build_schedule_loop): New.
|
||
(embed_in_surrounding_loops): New.
|
||
(build_schedule_loop_nest): New.
|
||
(build_original_schedule): New.
|
||
(build_poly_scop): Call build_original_schedule.
|
||
* graphite.h: Declare print_isl_schedule and debug_isl_schedule.
|
||
(free_poly_dr): Remove.
|
||
(struct poly_bb): Add iterators. Remove schedule, transformed, saved.
|
||
(free_poly_bb): Remove.
|
||
(debug_loop_vec): Remove.
|
||
(print_isl_ast): Declare.
|
||
(debug_isl_ast): Declare.
|
||
(scop_do_interchange): Remove.
|
||
(scop_do_strip_mine): Remove.
|
||
(scop_do_block): Remove.
|
||
(flatten_all_loops): Remove.
|
||
(optimize_isl): Remove.
|
||
(pbb_number_of_iterations_at_time): Remove.
|
||
(debug_scop_pbb): Declare.
|
||
(print_schedule_ast): Declare.
|
||
(debug_schedule_ast): Declare.
|
||
(struct scop): Remove schedule. Add original_schedule,
|
||
transformed_schedule.
|
||
(free_gimple_poly_bb): Remove.
|
||
(print_generated_program): Remove.
|
||
(debug_generated_program): Remove.
|
||
(unify_scattering_dimensions): Remove.
|
||
* sese.c (print_edge): ... here.
|
||
(print_sese): ... here.
|
||
(debug_edge): ... here.
|
||
(debug_sese): ... here.
|
||
* sese.h (print_edge): Declare.
|
||
(print_sese): Declare.
|
||
(dump_edge): Declare.
|
||
(dump_sese): Declare.
|
||
|
||
2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* Makefile.in: Set ISLVER in site.exp.
|
||
|
||
2016-01-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
|
||
DECL_VALUE_EXPR of new_var even for the non-array case. Look
|
||
through DECL_VALUE_EXPR for expansion.
|
||
|
||
2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* config/mips/mips.c (mips_compute_frame_info): Skip re-computing
|
||
the frame info after reload completed.
|
||
|
||
2016-01-25 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69196
|
||
PR tree-optimization/68398
|
||
* tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
|
||
tree-ssa-threadupdate.c.
|
||
(determine_bb_domination_status): Prototype
|
||
* tree-ssa-threadupdate.c (enum bb_dom_status): Remove
|
||
(determine_bb_domination_status): No longer static.
|
||
(valid_jump_thread_path): Remove code to detect characteristics
|
||
of the jump thread path not associated with correctness.
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
|
||
Correct test for thread path length. Count PHIs for real operands as
|
||
statements that need to be copied. Do not count ASSERT_EXPRs.
|
||
Look at all the blocks in the thread path. Compute and selectively
|
||
filter thread paths based on threading through the latch, threading
|
||
a multiway branch or crossing a multiway branch.
|
||
|
||
2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
|
||
decl with __attribute__ ((unused)) annotation.
|
||
|
||
2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69421
|
||
* tree-vect-stmts.c (vectorizable_condition): Check vectype
|
||
of operands is compatible with a statement vectype.
|
||
|
||
2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/extend.texi (scalar_storage_order type attribute): Fix typo and
|
||
improve wording for mixed storage order support.
|
||
|
||
2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
|
||
|
||
* config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
|
||
(vcvt_u64_f64): Likewise.
|
||
(vcvta_s64_f64): Likewise.
|
||
(vcvta_u64_f64): Likewise.
|
||
(vcvtm_s64_f64): Likewise.
|
||
(vcvtm_u64_f64): Likewise.
|
||
(vcvtn_s64_f64): Likewise.
|
||
(vcvtn_u64_f64): Likewise.
|
||
(vcvtp_s64_f64): Likewise.
|
||
(vcvtp_u64_f64): Likewise.
|
||
|
||
2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
|
||
(arc_init): Check validity mll64 option.
|
||
(arc_save_restore): Use double load/store instruction.
|
||
(arc_expand_movmem): Likewise.
|
||
(arc_split_move): Don't split if we have double load/store
|
||
instructions. Returns a boolean.
|
||
(arc_process_double_reg_moves): Change function to return boolean
|
||
instead of a sequence of instructions.
|
||
(arc_dwarf_register_span): New function.
|
||
* config/arc/arc-protos.h (arc_split_move): Change prototype.
|
||
* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
|
||
* config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
|
||
(*movdf_insn): Likewise.
|
||
* config/arc/arc.opt (mll64): New option.
|
||
* config/arc/predicates.md (even_register_operand): New predicate.
|
||
* doc/invoke.texi (ARC Options): Add mll64 documentation.
|
||
|
||
2016-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/69393
|
||
* dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
|
||
* tree-streamer-out.c (pack_ts_base_value_fields): Stream
|
||
DECL_NAMELESS.
|
||
* tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
|
||
|
||
2016-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69376
|
||
* tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
|
||
flag.
|
||
(VN_INFO_ANTI_RANGE_P): New inline.
|
||
(VN_INFO_RANGE_TYPE): Likewise.
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
|
||
SSA_NAME_ANTI_RANGE_P.
|
||
(free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
|
||
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
|
||
Properly query VN_INFO_RANGE_TYPE.
|
||
|
||
2016-01-25 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/66655
|
||
* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
|
||
|
||
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-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-ssanames.c (release_free_names_and_compact_live_names): Replace
|
||
"the the" with "the" in the comments.
|
||
* ipa-devirt.c (build_type_inheritance_graph,
|
||
update_type_inheritance_graph): Likewise.
|
||
* tree.c (build_function_type_list_1): Likewise.
|
||
* cfgloopmanip.c (scale_loop_profile): Likewise.
|
||
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
|
||
* gimple-ssa-split-paths.c
|
||
(find_block_to_duplicate_for_splitting_paths): Likewise.
|
||
* tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
|
||
* expr.c (convert_move): Likewise.
|
||
* var-tracking.c (vt_stack_adjustments): Likewise.
|
||
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
|
||
* tree-vrp.c (test_for_singularity): Likewise.
|
||
|
||
* tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
|
||
directly instead of building a temporary tree.
|
||
|
||
PR bootstrap/69434
|
||
* genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
|
||
remove <algorithm> include.
|
||
|
||
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 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/69347
|
||
* tree-ssa-dom.c (back_propagate_equivalences): Factored out of
|
||
record_temporary_equivalences. Rewritten to avoid unnecessary calls
|
||
into dominated_by_p.
|
||
(cprop_into_successor_phis): Avoid unnecessary tests.
|
||
|
||
2016-01-22 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/69416
|
||
* config/aarch64/aarch64.md (UNSPEC_NZCV): New.
|
||
(ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
|
||
|
||
2016-01-22 Michael Matz <matz@suse.de>
|
||
|
||
* system.h (string, algorithm): Include only conditionally.
|
||
(new): Include always under C++.
|
||
* bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
|
||
* final.c (toplevel): Ditto.
|
||
* ipa-chkp.c (toplevel): Define INCLUDE_STRING.
|
||
* genconditions.c (write_header): Make gencondmd.c define
|
||
INCLUDE_STRING.
|
||
* mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
|
||
|
||
* config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
|
||
* common/config/aarch64/aarch64-common.c (toplevel): Ditto.
|
||
|
||
2016-01-22 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/68674
|
||
* expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
|
||
|
||
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-22 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
* ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
|
||
|
||
2016-01-22 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/arm/arm-c.c (arm_pragma_target_parse):
|
||
Remove warn_builtin_macro_redefined overwrite.
|
||
|
||
2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* ipa-inline.c (can_inline_edge_p): Back out overzealous check on
|
||
flag_non_call_exceptions compatibility.
|
||
|
||
2016-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/66668
|
||
* dwarf2out.c (add_child_die_after): New function.
|
||
(dwarf_qual_info_t): New type.
|
||
(dwarf_qual_info): New variable.
|
||
(qualified_die_p): New function.
|
||
(modified_type_die): For -fdebug-types-section, ensure
|
||
canonical order of qualifiers. Put qualified DIEs adjacent
|
||
to the corresponding non-qualified type DIE and search there
|
||
for existing qualified DIEs.
|
||
|
||
2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/extend.texi (scalar_storage_order type attribute): Document
|
||
restriction on type punning and aliasing, and remove future tense.
|
||
|
||
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-01-21 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/69347
|
||
* tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
|
||
useless call to record_temporary_equivalences.
|
||
* tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
|
||
allocate 10 slots in the bb_path vector and let it grow as needed.
|
||
(fsm_find_control_statement_thread_paths): Similarly for the next_path
|
||
vector.
|
||
|
||
2016-01-21 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
|
||
Detangle.
|
||
* configure: Regenerate.
|
||
|
||
2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
|
||
* config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
|
||
|
||
2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR middle-end/66178
|
||
* expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
|
||
drop EXPAND_INITIALIZER.
|
||
* rtl.h (contains_symbolic_reference_p): Declare.
|
||
* rtlanal.c (contains_symbolic_reference_p): New function.
|
||
* simplify-rtx.c (simplify_binary_operation_1): Don't turn
|
||
a subtraction into a NOT if symbolic constants are involved.
|
||
|
||
2016-01-21 Anton Blanchard <anton@samba.org>
|
||
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/63354
|
||
* config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
|
||
#define.
|
||
* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
|
||
function.
|
||
|
||
2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
|
||
|
||
* config/microblaze/microblaze.c
|
||
(get_branch_target): New.
|
||
(insert_wic_for_ilb_runout): New.
|
||
(insert_wic): New.
|
||
(microblaze_machine_dependent_reorg): New.
|
||
(TARGET_MACHINE_DEPENDENT_REORG): Define macro.
|
||
* config/microblaze/microblaze.md
|
||
(UNSPEC_IPREFETCH): Define.
|
||
(iprefetch): New pattern
|
||
* config/microblaze/microblaze.opt
|
||
(mxl-prefetch): New flag.
|
||
|
||
2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
|
||
|
||
* config/microblaze/microblaze.h
|
||
(FIXED_REGISTERS): Update in macro.
|
||
(CALL_USED_REGISTERS): Update in macro.
|
||
|
||
2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR rtl-optimization/68920
|
||
* ifcvt.c (cond_move_process_if_block): Limit number of conditional
|
||
moves.
|
||
|
||
2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/68990
|
||
* lra-coalesce.c (lra_coalesce): Invalidate value for the result
|
||
pseudo instead of inheritance ones.
|
||
|
||
2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/69129
|
||
PR target/69012
|
||
* config/mips/mips.c (mips_compute_frame_info): Initialise
|
||
args_size and hard_frame_pointer_offset fields of the frame
|
||
structure before calling mips_global_pointer.
|
||
|
||
2016-01-21 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
|
||
label reference.
|
||
* configure: Regenerate.
|
||
|
||
2016-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
* graphite-optimize-isl.c (get_schedule_map): Fix typo.
|
||
|
||
2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
|
||
|
||
* config/s390/s390.c (s390_asm_declare_function_size): Add code
|
||
to actually emit the .size directive.
|
||
|
||
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 Marcin Kościelnicki <koriakin@0x04.net>
|
||
|
||
* config/s390/s390.md (pool_section_start): Use switch_to_section
|
||
to select proper read-only data section instead of hardcoding
|
||
.rodata.
|
||
(pool_section_end): Use switch_to_section to match the above.
|
||
|
||
2016-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69378
|
||
* tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
|
||
(set_ssa_val_to): Use it for dominance checks taking into
|
||
account not executable edges.
|
||
|
||
2016-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69355
|
||
* tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
|
||
for bitsize instead of GET_MODE_PRECISION (mode).
|
||
|
||
2016-01-20 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/52291
|
||
* extend.texi (__sync Builtins): Clarify the semantics of
|
||
__sync_fetch_and_OP built-ins on pointers.
|
||
(__atomic Builtins): Same.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
|
||
(class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
|
||
(is_valid_rename): Same.
|
||
(translate_isl_ast_to_gimple::get_rename): Same.
|
||
(translate_isl_ast_to_gimple::rename_all_uses): Same.
|
||
(translate_isl_ast_to_gimple::rename_uses): Same.
|
||
(get_new_name): Check for close_phi nodes.
|
||
(copy_loop_phi_args): Use phi_node_kind.
|
||
(translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
|
||
(translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
Revert commit r229783.
|
||
* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
|
||
Remove use of parameter_rename_map.
|
||
(copy_def): Remove.
|
||
(copy_internal_parameters): Remove.
|
||
(graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
|
||
* sese.c (new_sese_info): Do not initialize parameter_rename_map.
|
||
(free_sese_info): Do not free parameter_rename_map.
|
||
(set_rename): Do not use parameter_rename_map.
|
||
(rename_uses): Update call to set_rename.
|
||
(graphite_copy_stmts_from_block): Do not use parameter_rename_map.
|
||
* sese.h (parameter_rename_map_t): Remove.
|
||
(struct sese_info_t): Remove field parameter_rename_map.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c: Fix comment.
|
||
* graphite-scop-detection.c (defined_in_loop_p): New.
|
||
(canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
|
||
names defined in loop.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
|
||
Discard unstructured if-then-else regions.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
|
||
(cleanup_loop_iter_dom): Remove.
|
||
(build_loop_iteration_domains): Remove.
|
||
(build_scop_context): Remove.
|
||
(build_scop_iteration_domain): Remove.
|
||
(add_loop_constraints): New.
|
||
(build_iteration_domains): New.
|
||
(build_poly_scop): Call build_iteration_domains.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c
|
||
(scop_detection::harmful_loop_in_region): Free dom and loops.
|
||
(scop_detection::loop_body_is_valid_scop): Free bbs.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c (record_loop_in_sese): New.
|
||
(gather_bbs::before_dom_children): Call record_loop_in_sese.
|
||
(build_scops): Remove call to build_sese_loop_nests.
|
||
* sese.c (sese_record_loop): Remove.
|
||
(build_sese_loop_nests): Remove.
|
||
(new_sese_info): Remove region->loops.
|
||
(free_sese_info): Same.
|
||
* sese.h (sese_contains_loop): Same.
|
||
(build_sese_loop_nests): Remove.
|
||
(sese_contains_loop): Remove.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c (loop_is_valid_scop): Renamed
|
||
loop_is_valid_in_scop.
|
||
(scop_detection::harmful_stmt_in_region): Renamed
|
||
harmful_loop_in_region.
|
||
Call loop_is_valid_in_scop.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
|
||
isl_ast_node_mark.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
|
||
* graphite.h (struct poly_bb): Remove field is_reduction.
|
||
(PBB_IS_REDUCTION): Remove.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
|
||
(add_pdr_constraints): Same.
|
||
(scop_get_reads): Same.
|
||
(scop_get_must_writes): Same.
|
||
(scop_get_may_writes): Same.
|
||
(scop_get_original_schedule): Same.
|
||
(extend_schedule): Same.
|
||
(apply_schedule_on_deps): Same.
|
||
(carries_deps): Same.
|
||
(compute_deps): Same.
|
||
(scop_get_dependences): Same.
|
||
* graphite-isl-ast-to-gimple.c
|
||
(translate_isl_ast_to_gimple::generate_isl_schedule): Same.
|
||
* graphite-optimize-isl.c (get_schedule_for_band): Same.
|
||
(get_schedule_for_band_list): Same.
|
||
(get_schedule_map): Same.
|
||
(apply_schedule_map_to_scop): Same.
|
||
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
|
||
(build_loop_iteration_domains): Same.
|
||
(add_condition_to_pbb): Same.
|
||
(add_param_constraints): Same.
|
||
(pdr_add_memory_accesses): Same.
|
||
(pdr_add_data_dimensions): Same.
|
||
|
||
2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
|
||
requirements.
|
||
|
||
2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* common.opt (feliminate-dwarf2-dups): Replace references to
|
||
"DWARF 2" with just "DWARF".
|
||
* config/ia64/ia64.opt (mdwarf2-asm): Likewise.
|
||
* doc/extend.texi: Likewise.
|
||
* doc/cpp.texi: Likewise.
|
||
* doc/invoke.texi: Likewise.
|
||
(Option Summary): Add -gdwarf to list of Debugging Options.
|
||
(Debugging Options): Document -gdwarf.
|
||
* doc/contrib.texi: Spell "DWARF" like that.
|
||
|
||
2016-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
|
||
warning. Fix up formatting.
|
||
|
||
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-20 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
* config/rs6000/ppc-auxv.h: New file.
|
||
* config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
|
||
(cpu_is): Likewise.
|
||
(cpu_supports): Likewise.
|
||
* config/rs6000/rs6000.c: include "ppc-auxv.h".
|
||
(cpu_is_info): New variable.
|
||
(cpu_supports_info): Likewise.
|
||
(tcb_verification_symbol): Likewise.
|
||
(cpu_builtin_p): Likewise.
|
||
(cpu_expand_builtin): New function.
|
||
(rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
|
||
(rs6000_init_builtins): Likewise.
|
||
(rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
|
||
* config/rs6000/rs6000.h (TLS_REGNUM): New define.
|
||
* configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
|
||
* configure: Regenerate.
|
||
* config.in: Likewise.
|
||
* doc/extend.texi (PowerPC Built-in Functions): Document
|
||
__builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
|
||
|
||
2016-01-20 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/68609
|
||
* config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
|
||
domain check.
|
||
* config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
|
||
for V4SFmode.
|
||
|
||
2016-01-20 Richard Henderson <rth@redhat.com>
|
||
|
||
PR bootstrap/69343
|
||
PR bootstrap/69339
|
||
PR tree-opt/68964
|
||
Revert:
|
||
* tree.c (tm_define_builtin): New.
|
||
(find_tm_vector_type): New.
|
||
(build_tm_vector_builtins): New.
|
||
(build_common_builtin_nodes): Call it.
|
||
|
||
2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
|
||
(arm_fp_ok): Likewise.
|
||
(arm_fp): Likewise.
|
||
(arm_crypto): Likewise.
|
||
|
||
2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69328
|
||
* tree-vect-stmts.c (vect_is_simple_cond): Check compared
|
||
vectors have same number of elements.
|
||
(vectorizable_condition): Fix masked version recognition.
|
||
|
||
2016-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69345
|
||
* tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
|
||
(VN_INFO_PTR_INFO): Likewise.
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
|
||
info when it is equal between non-dominating SSA names.
|
||
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
|
||
Make sure to look at original SSA infos.
|
||
|
||
2016-01-20 Jeff Law <law@redhat.com>
|
||
|
||
PR target/25114
|
||
* config/m68k/predicates.md (pow2_m1_operand): New predicate
|
||
extracted from ...
|
||
(reg_or_pow2_m1_operand): Call pow2_m1_operand.
|
||
(pc_or_label_operand): New predicate.
|
||
* config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
|
||
tests for small integers that are 2^n - 1.
|
||
|
||
2016-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (Options Summary): Add '.' after @xref.
|
||
|
||
2016-01-19 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/69347
|
||
* tree-ssa-threadbackwards.c
|
||
(fsm_find_control_statement_thread_paths): Do not try to lookup
|
||
FSM paths for SSA_NAMEs appearing in abnormal PHIs.
|
||
|
||
2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
* doc/lto.texi: Remove text that says only Gold has linker plugin
|
||
support.
|
||
|
||
2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* dwarf2out.c (need_endianity_attribute_p): New inline predicate.
|
||
(base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
|
||
the DIE accordingly.
|
||
(modified_type_die): Add REVERSE parameter and pass it recursively,
|
||
as well as to base_type_die. Adjust presence check accordingly.
|
||
(base_type_for_mode): Adjust call to modified_type_die.
|
||
(add_type_attribute): Add REVERSE parameter and pass it to
|
||
modified_type_die.
|
||
(generic_parameter_die): Adjust call to add_type_attribute.
|
||
(add_scalar_info): Likewise.
|
||
(add_subscript_info): Likewise.
|
||
(gen_array_type_die): Likewise.
|
||
(gen_descr_array_type_die): Likewise.
|
||
(gen_entry_point_die): Likewise.
|
||
(gen_enumeration_type_die): Likewise.
|
||
(gen_formal_parameter_die): Likewise.
|
||
(gen_subprogram_die): Likewise.
|
||
(gen_variable_die ): Likewise.
|
||
(gen_const_die): Likewise.
|
||
(gen_field_die): Likewise.
|
||
(gen_pointer_type_die): Likewise.
|
||
(gen_reference_type_die): Likewise.
|
||
(gen_ptr_to_mbr_type_die): Likewise.
|
||
(gen_inheritance_die): Likewise.
|
||
(gen_subroutine_type_die): Likewise.
|
||
(gen_typedef_die): Likewise.
|
||
(force_type_die): Adjust call to modified_type_die.
|
||
|
||
2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/standards.texi: Copy-editing for grammar, markup, and sentence
|
||
flow throughout the file. Fix broken link to Objective-C 2.0
|
||
documentation.
|
||
* doc/invoke.texi: More copy-editing; fix numerous typos and spelling
|
||
errors.
|
||
|
||
2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/66223
|
||
* ipa-devirt.c (is_cxa_pure_virtual_p): New function.
|
||
(maybe_record_node): Record cxa_pure_virtual as the only possible
|
||
target if there are not ohter candidates.
|
||
(possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
|
||
|
||
2016-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
* hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
|
||
(get_memory_order): Likewise.
|
||
|
||
2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
* tree-vect-stmts.c (vectorizable_store): Check
|
||
rhs vectype.
|
||
|
||
2016-01-19 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR jit/68446
|
||
* gcc.c (driver::decode_argv): Add call to
|
||
init_opts_obstack before init_options_struct.
|
||
* opts.c (init_opts_obstack): Remove idempotency.
|
||
(init_options_struct): Replace call to init_opts_obstack
|
||
with a gcc_assert to verify that it has already been called.
|
||
* toplev.c (toplev::main): Add call to init_opts_obstack before
|
||
calls to init_options_struct.
|
||
(toplev::finalize): Move cleanup of opts_obstack next to
|
||
cleanup of save_decoded_options, clearing the latter, and
|
||
save_decoded_options_count.
|
||
|
||
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.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
|
||
generated from different expand order.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
|
||
Add support for CCMP costing.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
|
||
* config/aarch64/aarch64.md (fccmp<mode>): New pattern.
|
||
(fccmpe<mode>): Likewise.
|
||
(fcmp): Rename to fcmp and globalize pattern.
|
||
(fcmpe): Likewise.
|
||
* config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
|
||
(aarch64_gen_ccmp_next): Add FP support.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* target.def (gen_ccmp_first): Update documentation.
|
||
(gen_ccmp_next): Likewise.
|
||
* doc/tm.texi (gen_ccmp_first): Update documentation.
|
||
(gen_ccmp_next): Likewise.
|
||
* ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
|
||
expand_ccmp_expr_1. Improve comments.
|
||
* config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
|
||
(ccmp_ior<mode>): Remove pattern.
|
||
(cmp<mode>): Remove expand.
|
||
(cmp): Globalize pattern.
|
||
(cstorecc4): Use cc_register.
|
||
(mov<mode>cc): Remove ccmp_cc_register check.
|
||
* config/aarch64/aarch64.c (aarch64_get_condition_code_1):
|
||
Simplify after removal of CC_DNE/* modes.
|
||
(aarch64_ccmp_mode_to_code): Remove.
|
||
(aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
|
||
In 'k' case use integer as condition.
|
||
(aarch64_nzcv_codes): Remove inverted cases.
|
||
(aarch64_code_to_ccmode): Remove.
|
||
(aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
|
||
comparison with CC register to be used in folowing CCMP/branch/CSEL.
|
||
(aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
|
||
pattern. Return the comparison with CC register. Invert conditions
|
||
when bitcode is OR.
|
||
* config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
|
||
* config/aarch64/predicates.md (ccmp_cc_register): Remove.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* cgraphunit.c (cgraph_node::reset): Clear thunk info and
|
||
instrumented_version.
|
||
|
||
2016-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69336
|
||
* tree-ssa-scopedtables.c (avail_expr_hash): Handle all
|
||
handled components with get_ref_base_and_extent.
|
||
(equal_mem_array_ref_p): Adjust.
|
||
|
||
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.
|
||
|
||
2016-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69352
|
||
* tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
|
||
(equal_mem_array_ref_p): Constrain size and max size properly.
|
||
Compare the reverse flag.
|
||
|
||
2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* ira.c (ira): Update regstat data if we deleted insns.
|
||
|
||
2016-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
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-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/69133
|
||
* cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
|
||
assume that the node has body.
|
||
* cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
|
||
check.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* lto-streamer-out.c (lto_output): Do not stream instrumentation
|
||
thunks.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* symtab.c (symtab_node::asm_name): Do not call printable name directly.
|
||
(symtab_node::name): Report name as unnamed if DECL_NAME is not set.
|
||
|
||
2016-01-19 Martin Jambor <mjambor@suse.cz>
|
||
Martin Liska <mliska@suse.cz>
|
||
Michael Matz <matz@suse.de>
|
||
|
||
* Makefile.in (OBJS): Add new source files.
|
||
(GTFILES): Add hsa.c.
|
||
* common.opt (disable_hsa): New variable.
|
||
(-Whsa): New warning.
|
||
* config.in (ENABLE_HSA): New.
|
||
* configure.ac: Treat hsa differently from other accelerators.
|
||
(OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
|
||
$enable_offloading.
|
||
(ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
|
||
* doc/install.texi (Configuration): Document --with-hsa-runtime,
|
||
--with-hsa-runtime-include, --with-hsa-runtime-lib and
|
||
--with-hsa-kmt-lib.
|
||
* doc/invoke.texi (-Whsa): Document.
|
||
(hsa-gen-debug-stores): Likewise.
|
||
* lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
|
||
to invoke offload compiler for hsa acclerator.
|
||
* opts.c (common_handle_option): Determine whether HSA offloading
|
||
should be performed.
|
||
* params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
|
||
* builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
|
||
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
|
||
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
|
||
* gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
|
||
* gimple-pretty-print.c (dump_gimple_omp_for): Also handle
|
||
GF_OMP_FOR_KIND_GRID_LOOP.
|
||
(dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
|
||
(pp_gimple_stmt_1): Likewise.
|
||
* gimple-walk.c (walk_gimple_stmt): Likewise.
|
||
* gimple.c (gimple_build_omp_grid_body): New function.
|
||
(gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
|
||
* gimple.def (GIMPLE_OMP_GRID_BODY): New.
|
||
* gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
|
||
GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
|
||
GF_OMP_TEAMS_GRID_PHONY.
|
||
(gimple_statement_omp_single_layout): Updated comments.
|
||
(gimple_build_omp_grid_body): New function.
|
||
(gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
|
||
(gimple_omp_for_grid_phony): New function.
|
||
(gimple_omp_for_set_grid_phony): Likewise.
|
||
(gimple_omp_parallel_grid_phony): Likewise.
|
||
(gimple_omp_parallel_set_grid_phony): Likewise.
|
||
(gimple_omp_teams_grid_phony): Likewise.
|
||
(gimple_omp_teams_set_grid_phony): Likewise.
|
||
(gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
|
||
* omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
|
||
(BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
|
||
(BUILT_IN_GOMP_TARGET): Updated type.
|
||
* omp-low.c: Include symbol-summary.h, hsa.h and params.h.
|
||
(adjust_for_condition): New function.
|
||
(get_omp_for_step_from_incr): Likewise.
|
||
(extract_omp_for_data): Moved parts to adjust_for_condition and
|
||
get_omp_for_step_from_incr.
|
||
(build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
|
||
(fixup_child_record_type): Bail out if receiver_decl is NULL.
|
||
(scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
|
||
(scan_omp_parallel): Do not create child functions for phony
|
||
constructs.
|
||
(check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
|
||
(scan_omp_1_op): Checking assert we are not remapping to
|
||
ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
|
||
(parallel_needs_hsa_kernel_p): New function.
|
||
(expand_parallel_call): Register apprpriate parallel child
|
||
functions as HSA kernels.
|
||
(grid_launch_attributes_trees): New type.
|
||
(grid_attr_trees): New variable.
|
||
(grid_create_kernel_launch_attr_types): New function.
|
||
(grid_insert_store_range_dim): Likewise.
|
||
(grid_get_kernel_launch_attributes): Likewise.
|
||
(get_target_argument_identifier_1): Likewise.
|
||
(get_target_argument_identifier): Likewise.
|
||
(get_target_argument_value): Likewise.
|
||
(push_target_argument_according_to_value): Likewise.
|
||
(get_target_arguments): Likewise.
|
||
(expand_omp_target): Call get_target_arguments instead of looking
|
||
up for teams and thread limit.
|
||
(grid_expand_omp_for_loop): New function.
|
||
(grid_arg_decl_map): New type.
|
||
(grid_remap_kernel_arg_accesses): New function.
|
||
(grid_expand_target_kernel_body): New function.
|
||
(expand_omp): Call it.
|
||
(lower_omp_for): Do not emit phony constructs.
|
||
(lower_omp_taskreg): Do not emit phony constructs but create for them
|
||
a temporary variable receiver_decl.
|
||
(lower_omp_taskreg): Do not emit phony constructs.
|
||
(lower_omp_teams): Likewise.
|
||
(lower_omp_grid_body): New function.
|
||
(lower_omp_1): Call it.
|
||
(grid_reg_assignment_to_local_var_p): New function.
|
||
(grid_seq_only_contains_local_assignments): Likewise.
|
||
(grid_find_single_omp_among_assignments_1): Likewise.
|
||
(grid_find_single_omp_among_assignments): Likewise.
|
||
(grid_find_ungridifiable_statement): Likewise.
|
||
(grid_target_follows_gridifiable_pattern): Likewise.
|
||
(grid_remap_prebody_decls): Likewise.
|
||
(grid_copy_leading_local_assignments): Likewise.
|
||
(grid_process_kernel_body_copy): Likewise.
|
||
(grid_attempt_target_gridification): Likewise.
|
||
(grid_gridify_all_targets_stmt): Likewise.
|
||
(grid_gridify_all_targets): Likewise.
|
||
(execute_lower_omp): Call grid_gridify_all_targets.
|
||
(make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
|
||
* tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
|
||
(tree_omp_clause): Added union field dimension.
|
||
* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
|
||
* tree.c (omp_clause_num_ops): Added number of arguments of
|
||
OMP_CLAUSE__GRIDDIM_.
|
||
(omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
|
||
(walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
|
||
* tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
|
||
(OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
|
||
(OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
|
||
(OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
|
||
* passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
|
||
* tree-pass.h (make_pass_gen_hsail): Declare.
|
||
(make_pass_ipa_hsa): Likewise.
|
||
* ipa-hsa.c: New file.
|
||
* lto-section-in.c (lto_section_name): Add hsa section name.
|
||
* lto-streamer.h (lto_section_type): Add hsa section.
|
||
* timevar.def (TV_IPA_HSA): New.
|
||
* hsa-brig-format.h: New file.
|
||
* hsa-brig.c: New file.
|
||
* hsa-dump.c: Likewise.
|
||
* hsa-gen.c: Likewise.
|
||
* hsa.c: Likewise.
|
||
* hsa.h: Likewise.
|
||
* toplev.c (compile_file): Call hsa_output_brig.
|
||
* hsa-regalloc.c: New file.
|
||
|
||
2016-01-18 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69320
|
||
* tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
|
||
ranged object, do nothing if the RHS constant is not [0..1].
|
||
(optimize_stmt): Comparing a boolean ranged object against a
|
||
constant outside [0..1] results in a compile-time constant.
|
||
|
||
* tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
|
||
test.
|
||
|
||
2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Invoking GCC): Add new section to menu.
|
||
(Option Summary): Update to reflect new section and moved options.
|
||
(C++ Dialect Options): Move -fstats to new section.
|
||
(Debugging Options): Move all dump, statistics, and other GCC
|
||
developer options to new section. Rewrite section introduction
|
||
and re-order remaining options to put the more basic ones first.
|
||
(Optimization Options): Move -fira-verbose and -flto-report* to
|
||
new section.
|
||
(Developer Options): New section incorporating moved options.
|
||
* doc/cppopts.texi (-dM): Update cross-reference.
|
||
|
||
2016-01-18 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/69176
|
||
* config/aarch64/aarch64.md (add<GPI>3): Move long immediate
|
||
operands to pseudo only if CSE is expected. Split long immediate
|
||
operands only after reload, and for the stack pointer.
|
||
(*add<GPI>3_pluslong): Remove.
|
||
(*addsi3_aarch64, *adddi3_aarch64): Merge into...
|
||
(*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
|
||
(*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
|
||
(*add<GPI>3 peepholes): New.
|
||
(*add<GPI>3 splitters): New.
|
||
* config/aarch64/constraints.md (Upl): New.
|
||
* config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
|
||
|
||
2016-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69297
|
||
* tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
|
||
stmt at most once.
|
||
(vect_bb_vectorization_profitable_p): Clear visited flag again.
|
||
|
||
2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR middle-end/68542
|
||
* fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
|
||
of mixind vector and scalar types.
|
||
(fold_relational_const): Add handling of vector
|
||
comparison with boolean result.
|
||
* tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
|
||
comparison of vector operands with boolean result for EQ/NE only.
|
||
(verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
|
||
(verify_gimple_cond): Likewise.
|
||
* tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
|
||
valid type of VAL.
|
||
|
||
2016-01-18 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
|
||
!TARGET_OCTEON.
|
||
|
||
2016-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69308
|
||
* gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
|
||
|
||
2016-01-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
|
||
|
||
2016-01-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (set_oacc_fn_attrib): Make extern.
|
||
* omp-low.h (set_oacc_fn_attrib): Declare.
|
||
* tree-parloops.c (struct reduction_info): Add reduc_addr field.
|
||
(create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
|
||
(create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
|
||
Add and handle function parameter oacc_kernels_p.
|
||
(find_reduc_addr, get_omp_data_i_param): New function.
|
||
(ref_conflicts_with_region, oacc_entry_exit_ok_1)
|
||
(oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
|
||
(parallelize_loops): Add and handle function parameter oacc_kernels_p.
|
||
Calculate dominance info. Skip loops that are not in a kernels region
|
||
in oacc_kernels_p mode. Skip inner loops of parallelized loops.
|
||
(pass_parallelize_loops::execute): Call parallelize_loops with
|
||
oacc_kernels_p argument.
|
||
(pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
|
||
New member function.
|
||
(pass_parallelize_loops::bool oacc_kernels_p): New member var.
|
||
* passes.def: Add argument to pass_parallelize_loops instantation.
|
||
|
||
2016-01-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-parloops.c (pass_parallelize_loops::execute): Allow
|
||
pass_parallelize_loops to be run outside the loop pipeline.
|
||
|
||
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* tree-scalar-evolution.c (follow_copies_to_constant): New.
|
||
(analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
|
||
|
||
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR target/63679
|
||
* tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
|
||
using get_ref_base_and_extent.
|
||
(equal_mem_array_ref_p): New.
|
||
(hashable_expr_equal_p): Add call to previous.
|
||
|
||
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR target/63679
|
||
* tree-sra.c (disqualified_constants, constant_decl_p): New.
|
||
(sra_initialize): Allocate disqualified_constants.
|
||
(sra_deinitialize): Free disqualified_constants.
|
||
(disqualify_candidate): Update disqualified_constants when appropriate.
|
||
(create_access): Scan for constant-pool entries as we go along.
|
||
(scalarizable_type_p): Add check against type_contains_placeholder_p.
|
||
(maybe_add_sra_candidate): Allow constant-pool entries.
|
||
(load_assign_lhs_subreplacements): Bind debug for constant pool vars.
|
||
(initialize_constant_pool_replacements): New.
|
||
(sra_modify_assign): Avoid mangling assignments created by previous,
|
||
and don't generate writes into constant pool.
|
||
(sra_modify_function_body): Call initialize_constant_pool_replacements.
|
||
|
||
2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* config/i386/i386.c (scalar_to_vector_candidate_p): Support
|
||
andnot instruction.
|
||
(scalar_chain::convert_op): Likewise.
|
||
* config/i386/i386.md (*andndi3_doubleword): New.
|
||
|
||
2016-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69170
|
||
* tree-vect-slp.c (vect_build_slp_tree): Verify we are not
|
||
building a vector from scalar results of a pattern stmt.
|
||
|
||
2016-01-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* haifa-sched.c (autopref_multipass_init): Work around
|
||
-Wmaybe-uninitialized warning.
|
||
|
||
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-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 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (mark_loops_in_oacc_kernels_region): Work around
|
||
-Wmaybe-uninitialized warning.
|
||
|
||
2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Invoking GCC): Add new section to menu.
|
||
(Option Summary): Update to reflect new section and moved options.
|
||
(C++ Dialect Options): Move -fvtable-verify and related options.
|
||
(Debugging Options): Move Sanitizer, Pointer Bounds Checker,
|
||
and profiling-related options.
|
||
(Optimization Options): Move profile generation options and
|
||
-fstack-protector and related options.
|
||
(Instrumentation Options): New section incorporating moved options.
|
||
(Code Generation Options): Move -finstrument-functions and
|
||
related options, -fstack-check, -fstack-limit*, and -fbounds-check.
|
||
|
||
2016-01-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
|
||
|
||
2016-01-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
|
||
|
||
2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* hash-table.h (hash_table::empty): Turn into an inline wrapper
|
||
that checks whether the table is already empty. Rename the
|
||
original implementation to...
|
||
(hash_table::empty_slot): ...this new private function.
|
||
|
||
2016-01-15 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR diagnostic/68899
|
||
* diagnostic-show-locus.c (layout::print_source_line): Move x
|
||
offset of line until after call to
|
||
get_line_width_without_trailing_whitespace.
|
||
|
||
2016-01-15 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69270
|
||
* tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
|
||
tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
|
||
* tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
|
||
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
|
||
ssa_name_has_boolean_range and constant_boolean_node.
|
||
|
||
2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/69030
|
||
* lra-spills.c (remove_pseudos): Check nrefs and make the function
|
||
returning bool.
|
||
(spill_pseudos): Delete debug insn for dead pseudo.
|
||
(lra_spill): Initiate spill_hard_reg and slots memory separately.
|
||
|
||
2016-01-15 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
|
||
New.
|
||
(TYPES_UNOPUS): Likewise.
|
||
* config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
|
||
builtin type, from UNOP to UNOPUS.
|
||
(lbtruncuv4sf): Likewise.
|
||
(lbtruncuv2df): Likewise.
|
||
(lrounduv2sf): Likewise.
|
||
(lrounduv4sf): Likewise.
|
||
(lrounduv2df): Likewise.
|
||
(lroundusf): Likewise.
|
||
(lroundusf): Likewise.
|
||
(lceiluv2sf): Likewise.
|
||
(lceiluv4sf): Likewise.
|
||
(lceiluv2df): Likewise.
|
||
(lceilusf): Likewise.
|
||
(lceiludf): Likewise.
|
||
(lflooruv2sf): Likewise.
|
||
(lflooruv4sf): Likewise.
|
||
(lflooruv2df): Likewise.
|
||
(lfloorusf): Likewise.
|
||
(lfloorudf): Likewise.
|
||
(lfrintnuv2sf): Likewise.
|
||
(lfrintnuv4sf): Likewise.
|
||
(lfrintnuv2df): Likewise.
|
||
(lfrintnusf): Likewise.
|
||
(lfrintnudf): Likewise.
|
||
* config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
|
||
conversion.
|
||
(vcvtq_u32_f32): Likewise.
|
||
(vcvtq_u64_f64): Likewise.
|
||
(vcvta_u32_f32): Likewise.
|
||
(vcvtaq_u32_f32): Likewise.
|
||
(vcvtaq_u64_f64): Likewise.
|
||
(vcvtm_u32_f32): Likewise.
|
||
(vcvtmq_u32_f32): Likewise.
|
||
(vcvtmq_u64_f64): Likewise.
|
||
(vcvtn_u32_f32): Likwise.
|
||
(vcvtnq_u32_f32): Likewise.
|
||
(vcvtnq_u64_f64): Likewise.
|
||
(vcvtp_u32_f32): Likewise.
|
||
(vcvtpq_u32_f32): Likewise.
|
||
(vcvtpq_u64_f64): Likewise.
|
||
(vcvtmd_u64_f64): Likewise.
|
||
(vcvtms_u32_f32): Likewise.
|
||
(vcvtad_u64_f64): Likewise.
|
||
(vcvtas_u32_f32): Likewise.
|
||
(vcvtnd_u64_f64): Likewise.
|
||
(vcvtns_u32_f32): Likewise.
|
||
(vcvtpd_u64_f64): Likewise.
|
||
(vcvtps_u32_f32): Likewise.
|
||
|
||
2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
|
||
CSEL of zero_extended registers.
|
||
|
||
2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
|
||
Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
|
||
|
||
2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
|
||
false when argument string is not found in the attributes table
|
||
at all.
|
||
|
||
2016-01-15 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/68609
|
||
* config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
|
||
(rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
|
||
* config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
|
||
precision estimate.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66856
|
||
* tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
|
||
* tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
|
||
(vect_create_new_slp_node): Increment stmt reference count.
|
||
(vect_get_and_check_slp_defs): Make sure stmts are nor already in
|
||
an SLP tree before swapping operands.
|
||
(vect_build_slp_tree): Likewise.
|
||
(destroy_bb_vec_info): Free stmt info after SLP instances.
|
||
* tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
|
||
* tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
|
||
(STMT_VINFO_NUM_SLP_USES): New macro.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/69137
|
||
* dwarf2out.c (add_linkage_name_raw): New function split out from ...
|
||
(add_linkage_name): ... here.
|
||
(gen_typedef_die): Use add_linkage_name_raw instead of
|
||
add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
|
||
if necessary.
|
||
|
||
2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* gimplify.c (oacc_default_clause): Decode reference and pointer
|
||
types for both kernels and parallel regions.
|
||
|
||
2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/69246
|
||
* calls.c (emit_call_1): Force n_popped to zero for sibcalls.
|
||
|
||
2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
|
||
(convert_scalars_to_vector): Likewise.
|
||
|
||
2016-01-15 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/extend.texi (Type Traits): Fix grammar.
|
||
|
||
2016-01-15 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* tree-inline.c (remap_decl): Use existing dclarations if
|
||
remapping a type and prevent_decl_creation_for_types.
|
||
(replace_locals_stmt): Do an initial remapping of non-VLA typed
|
||
decls first. Do real remapping with
|
||
prevent_decl_creation_for_types set.
|
||
* tree-inline.h (copy_body_data): New field
|
||
prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
|
||
padding.
|
||
|
||
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.opt (mmvcle): More verbose help text.
|
||
|
||
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.opt: Add period to -mzvector option text.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/68961
|
||
* tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
|
||
of invariants in stores again.
|
||
|
||
2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
|
||
|
||
2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* config/i386/i386.c (ix86_expand_branch): Don't split
|
||
DI mode xor instruction to SI mode.
|
||
|
||
2016-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/68148
|
||
* ipa-icf.c (sem_function::merge): Virtual functions may become
|
||
reachable even if they address is not taken and there are no
|
||
idrect calls.
|
||
|
||
2016-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* lto-streamer-out.c (subtract_estimated_size): New function.
|
||
(get_symbol_initial_value): Use it.
|
||
|
||
2016-01-15 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/65837
|
||
* config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
|
||
(arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
|
||
(arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
|
||
use add_builtin_function_ext_scope instead of add_builtin_function.
|
||
(neon_set_p, neon_crypto_set_p): Remove.
|
||
(arm_init_builtins): Always call arm_init_neon_builtins and
|
||
arm_init_crypto_builtins.
|
||
(arm_expand_builtin): Check that builtins are allowed for the arch.
|
||
* config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
|
||
* config/arm/arm.c (arm_valid_target_attribute_tree): Remove
|
||
arm_init_neon_builtins call.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69117
|
||
* tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
|
||
of the leader conservatively.
|
||
(free_scc_vn): Restore original SSA name infos.
|
||
|
||
2016-01-14 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69270
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
|
||
single bit of precision, verify it's also unsigned.
|
||
(record_edge_info): Use constant_boolean_node rather than fold_convert
|
||
to convert boolean_true/boolean_false to the right type.
|
||
|
||
2016-01-14 Richard Henderson <rth@redhat.com>
|
||
|
||
PR rtl-opt/69014
|
||
* loop-doloop.c (record_reg_sets): New.
|
||
(doloop_optimize): Reject the transform if the sequence
|
||
clobbers registers live at the end of the loop block.
|
||
(doloop_optimize_loops): Enable df_live if needed.
|
||
|
||
2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
|
||
* gcc/config/rs6000/rs6000.c: Likewise.
|
||
* gcc/config/rs6000/rs6000.h: Likewise.
|
||
* gcc/config/rs6000/rs6000.md: Likewise.
|
||
* gcc/doc/extend.texi: Likewsie.
|
||
|
||
2016-01-14 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
|
||
typo.
|
||
|
||
2016-01-14 Richard Henderson <rth@redhat.com>
|
||
|
||
PR c/69272
|
||
PR tree-opt/68964
|
||
* trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
|
||
* tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
|
||
instead of builtin_decl_declared_p to test for declaration.
|
||
|
||
2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
|
||
|
||
* doc/loop.texi (Loop Analysis and Representation): Document
|
||
loop_depth function.
|
||
|
||
2016-01-14 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/68773
|
||
* omp-low.c (expand_omp_target): Don't set force_output.
|
||
* varpool.c (varpool_node::get_create): Same.
|
||
* lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
|
||
offload_funcs with force_output.
|
||
|
||
2016-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/69244
|
||
* lra-eliminations.c (move_plus_up): Don't change anything if either
|
||
the outer or inner subreg mode is not MODE_INT.
|
||
* dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
|
||
integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
|
||
|
||
2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
|
||
reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
|
||
reduc_uplus_@var{m}): Remove.
|
||
* expr.c (expand_expr_real_2): Remove expansion path for
|
||
reduc_[us](min|max|plus) optabs.
|
||
* optabs-tree.c (scalar_reduc_to_vector): Remove.
|
||
* optabs-tree.h (scalar_reduc_to_vector): Remove.
|
||
* optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
|
||
reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
|
||
* tree-vect-loop.c (vectorizable_reduction): Remove test for
|
||
reduc_[us](min|max|plus) optabs.
|
||
|
||
2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
|
||
(reduc_plus_scal_v2sf): New.
|
||
(reduc_smax_v2sf): Rename to...
|
||
(reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
|
||
(reduc_smin_v2sf): Rename to...
|
||
(reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
|
||
|
||
2016-01-14 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* alias.c (compare_base_symbol_refs): New function.
|
||
(rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
|
||
it.
|
||
|
||
2016-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/68146
|
||
PR tree-optimization/69155
|
||
* tree-complex.c: Include cfganal.h.
|
||
(phis_to_revisit): New variable.
|
||
(extract_component): Add phiarg_p argument. Assert that returned
|
||
SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
|
||
(update_phi_components): Partly rewrite to use loop over real/imag
|
||
components instead of code duplication. If extract_component returns
|
||
SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
|
||
create_tmp_reg into the PHI node instead, and mention the phi triplet
|
||
in phis_to_revisit.
|
||
(tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
|
||
in phis_to_revisit at the end.
|
||
|
||
2016-01-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/68060
|
||
* tree-vect-loop.c (vect_is_simple_reduction): Check the
|
||
outer loop reduction is only used in the inner loop before
|
||
detecting a double reduction.
|
||
|
||
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-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66856
|
||
* tree-vect-slp.c (vect_build_slp_tree): Refactor to build
|
||
SLP node only if it built successfully.
|
||
(vect_analyze_slp_instance): Adjust.
|
||
|
||
2016-01-14 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69270
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
|
||
(record_edge_info): Use it. Convert boolean_{true,false}_node
|
||
to the type of op0.
|
||
|
||
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-13 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Submodel Options): Rename section to
|
||
"Machine-Dependent Options" to better reflect its content.
|
||
Rewrite introductory text to remove archaic CPU names.
|
||
Update references.
|
||
|
||
2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Code Gen Options): Move section up in file,
|
||
before target-specific options. Update menu and option summary
|
||
to reflect the new section ordering.
|
||
|
||
2016-01-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
|
||
(C++ Dialect Options): Add cross-reference to -std option.
|
||
* doc/standards.texi (C++ Language): Document C++14 support.
|
||
|
||
2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
|
||
for pack/unpack functions for __ibm128.
|
||
(PACK_IF): Likewise.
|
||
(UNPACK_IF): Likewise.
|
||
|
||
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
|
||
support for __ibm128 pack/unpack functions.
|
||
(rs6000_invalid_builtin): Likewise.
|
||
(rs6000_init_builtins): Likewise.
|
||
(rs6000_opt_masks): Likewise.
|
||
|
||
* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
|
||
(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
|
||
functions
|
||
(RS6000_BTM_COMMON): Likewise.
|
||
|
||
* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
|
||
(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
|
||
disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
|
||
128-bit floating point. Add support for the double values to be
|
||
in Altivec registers for TF/IF packing and unpacking, but restrict
|
||
TD packing sub-fields to be FPR registers. Don't allow overlapped
|
||
register support for packing. Allow pack inputs to be memory
|
||
locations. Don't build generator functions for unpack<mode>_dm
|
||
and unpack<mode>_nodm.
|
||
(unpack<mode>_dm): Likewise.
|
||
(unpack<mode>_nodm): Likewise.
|
||
(pack<mode>): Likewise.
|
||
|
||
* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
|
||
built-in functions to pack/unpack explicit __ibm128 values.
|
||
(__builtin_unpack_ibm128): Likewise.
|
||
|
||
* doc/extend.texi (PowerPC Built-in Functions): Document
|
||
__builtin_pack_ibm128 and __builtin_unpack_ibm128.
|
||
|
||
2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR c/66208
|
||
* c-common.c (check_function_nonnull): Remove unnecessary declaration.
|
||
Add new arg loc and pass it down as context.
|
||
(check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
|
||
to the location to use for the warning.
|
||
(check_function_arguments): New arg loc. All callers changed. Pass
|
||
it to check_function_nonnull.
|
||
* c-common.h (check_function_arguments): Adjust declaration.
|
||
|
||
2016-01-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69156
|
||
* gimple.c (validate_type): Removed.
|
||
(gimple_builtin_call_types_compatible_p): Use
|
||
useless_type_conversion_p instead of validate_type.
|
||
* value-prof.c (gimple_stringop_fixed_value): Fold
|
||
icall_size to correct type.
|
||
|
||
2016-01-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/extend.texi (__atomic Builtins): Clarify compare_exchange
|
||
effects.
|
||
|
||
2016-01-13 Richard Henderson <rth@redhat.com>
|
||
|
||
PR tree-opt/68964
|
||
* target.def (builtin_tm_load, builtin_tm_store): Remove.
|
||
* config/i386/i386.c (ix86_builtin_tm_load): Remove.
|
||
(ix86_builtin_tm_store): Remove.
|
||
(TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
|
||
(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
|
||
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
|
||
(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
|
||
* doc/tm.texi: Rebuild.
|
||
|
||
* gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
|
||
(BUILT_IN_TM_MEMCPY_RTWN): New.
|
||
* trans-mem.c (tm_log_emit_stmt): Rearrange code for better
|
||
fallback from vector to integer helpers.
|
||
(build_tm_load): Handle vector types directly, instead of
|
||
via target hook.
|
||
(build_tm_store): Likewise.
|
||
(expand_assign_tm): Prepare for register types not handled by
|
||
the above. Copy them to memory and use memcpy.
|
||
* tree.c (tm_define_builtin): New.
|
||
(find_tm_vector_type): New.
|
||
(build_tm_vector_builtins): New.
|
||
(build_common_builtin_nodes): Call it.
|
||
|
||
2016-01-13 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
|
||
TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
|
||
|
||
2016-01-13 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69169
|
||
* tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
|
||
handled_struct_type param.
|
||
(create_variable_info_for, intra_create_variable_infos): Call
|
||
create_variable_info_for_1 with extra arg.
|
||
|
||
2016-01-13 Yvan Roux <yvan.roux@linaro.org>
|
||
|
||
* config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
|
||
and "armv8.1-a+crc" entries.
|
||
|
||
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-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/69247
|
||
* config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
|
||
|
||
2016-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69242
|
||
* tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
|
||
assert with a check.
|
||
|
||
2016-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69186
|
||
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
|
||
Properly guard vect_update_misalignment_for_peel call.
|
||
|
||
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-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Spec Files): Move section down in file, past
|
||
all command-line option descriptions.
|
||
|
||
2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
PR middle-end/54809
|
||
* doc/gty.texi: Remove documentation of mark_hook.
|
||
* gengtype.c (struct write_types_data): Remove code to support
|
||
mark_hook attribute.
|
||
(walk_type): Likewise.
|
||
(write_func_for_structure): Likewise.
|
||
|
||
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
|
||
Directory Options, and -specs= to Overall Options.
|
||
(Overall Options): Adjust similarly. Reorder to group related
|
||
options together. Make -specs= cross-reference the spec file details.
|
||
(Directory Options): Adjust similarly.
|
||
|
||
2016-01-12 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-threadupdate.c: Various whitespace and typo fixes.
|
||
|
||
2016-01-12 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc.c (spec_undefvar_allowed): New global.
|
||
(process_command): Set to true when running for --version or --help,
|
||
alone or together.
|
||
(getenv_spec_function): When the variable is not defined, use the
|
||
variable name as the variable value if we're allowed not to issue
|
||
a fatal error.
|
||
|
||
2016-01-12 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/68911
|
||
* tree-vrp.c (adjust_range_with_scev): Check overflow in range
|
||
information computed for expression "init + nit * step".
|
||
|
||
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
|
||
about name of GCC executable. Remove deleted node from menu.
|
||
(Directory Options) <-B>: Remove cross-reference to deleted node.
|
||
(Target Options): Delete section.
|
||
|
||
2016-01-12 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/69180
|
||
* config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
|
||
for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
|
||
|
||
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.
|
||
|
||
PR target/69175
|
||
* ifcvt.c (cond_exec_process_if_block): When removing the last
|
||
insn from then_bb, remove also any possible barriers that follow it.
|
||
|
||
2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68456
|
||
PR target/69226
|
||
* config/i386/iamcu.h (SIZE_TYPE): New macro.
|
||
(PTRDIFF_TYPE): Likewise.
|
||
(WCHAR_TYPE): Likewise.
|
||
(WCHAR_TYPE_SIZE): Likewise.
|
||
(STDINT_LONG32): Likewise.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69053
|
||
* tree-vect-loop.c (get_initial_def_for_reduction): Properly
|
||
convert initial value for cond reductions.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69007
|
||
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
|
||
widen_sum after dot_prod and sad.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69168
|
||
* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
|
||
pattern stmt SLP type.
|
||
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
|
||
end up unused so cope with that case.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69157
|
||
* tree-vect-stmts.c (vectorizable_mask_load_store): Check
|
||
stmts def type only during analyze phase.
|
||
(vectorizable_call): Likewise.
|
||
(vectorizable_simd_clone_call): Likewise.
|
||
(vectorizable_conversion): Likewise.
|
||
(vectorizable_assignment): Likewise.
|
||
(vectorizable_shift): Likewise.
|
||
(vectorizable_operation): Likewise.
|
||
(vectorizable_store): Likewise.
|
||
(vectorizable_load): Likewise.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69174
|
||
* tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
|
||
space.
|
||
(vectorizable_load): Properly compute the number of loads needed
|
||
for permuted strided SLP loads and do not spuriously assign
|
||
to SLP_TREE_VEC_STMTS.
|
||
|
||
2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
|
||
|
||
* config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
|
||
(TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
|
||
(MD_EXEC_PREFIX): Remove.
|
||
(MD_STARTFILE_PREFIX) Removee.
|
||
(FILE_NAME_ABSOLUTE_P): Remove.
|
||
(CPP_SPEC): Do not read macros from sys/version.h.
|
||
(LINK_COMMAND_SPEC): Remove.
|
||
(LOCAL_INCLUDE_DIR): Remove.
|
||
(TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
|
||
(TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
|
||
(POST_LINK_SPEC): Define to invoke stubify after linker
|
||
(LIBSTDCXX): Remove define
|
||
(DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
|
||
(DEFAULT_PCC_STRUCT_RETURN): Define to 1.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
|
||
(IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
|
||
(i386_djgpp_asm_named_section): Add propotype of new procedure
|
||
|
||
* config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
|
||
(MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
|
||
(STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
|
||
in config/i386/djgpp.h).
|
||
(STANDARD_STARTFILE_PREFIX_2): Define identical to
|
||
STANDARD_STARTFILE_PREFIX_1.
|
||
(LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
|
||
(GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
|
||
installation errors.
|
||
(MAX_OFILE_ALIGNMENT): Define to 128.
|
||
(HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
|
||
|
||
* config/i386/djgpp.c: New file. Add implementation of
|
||
i386_djgpp_asm_named_section.
|
||
|
||
* config/i386/djgpp.opt: Remove obsolete option -mbnu210.
|
||
|
||
* config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
|
||
Add rule for building djgpp.o.
|
||
|
||
2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (v2df_reduction_p): New function.
|
||
(rtx_is_swappable_p): Reductions are swappable.
|
||
(insn_is_swappable_p): V2DF reductions are swappable.
|
||
|
||
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-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-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69225
|
||
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
|
||
TARGET_80387 is true.
|
||
|
||
2016-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69071
|
||
* lra-eliminations.c (move_plus_up): Only move plus up
|
||
if subreg of the constant can be simplified into constant
|
||
and use the simplified subreg of the constant instead of
|
||
the original constant.
|
||
|
||
* fold-const.c (fold_convertible_p): Don't return true
|
||
for conversion of VECTOR_TYPE to same sized integral type.
|
||
(fold_convert_loc): Fix up formatting. Fold conversion of
|
||
VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
|
||
instead of NOP_EXPR.
|
||
|
||
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.
|
||
|
||
PR tree-optimization/69207
|
||
* tree-vect-slp.c (vect_get_constant_vectors): For
|
||
VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
|
||
fold_convertible_p to vector_type's element type, and always
|
||
use VCE for non-VECTOR_BOOLEAN_TYPE_P.
|
||
|
||
2016-01-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69173
|
||
* tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
|
||
fixup the cycle if all stmts are in a pattern.
|
||
|
||
2016-01-11 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR middle-end/68999
|
||
* alias.c (base_alias_check): Move check for addresses with
|
||
alignment ANDs before the call for compare_base_decls.
|
||
(memrefs_conflict_p): Return -1 for different decls
|
||
that went through alignment adjustments.
|
||
|
||
2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68796
|
||
* config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
|
||
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
|
||
and QImode comparisons against zero with CC_NZmode.
|
||
* config/aarch64/iterators.md (short_mask): New mode_attr.
|
||
|
||
2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
|
||
(<avx512>_store<mode>_mask): Likewise.
|
||
|
||
2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
|
||
Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68841
|
||
* ifcvt.c (struct noce_if_info): Add orig_x field.
|
||
(bbs_ok_for_cmove_arith): Add to_rename parameter.
|
||
Don't record conflicts on to_rename if it's present.
|
||
Allow memory destinations in sets.
|
||
(noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
|
||
blocks, passing orig_x to the checks.
|
||
(noce_process_if_block): Set if_info->orig_x appropriately.
|
||
|
||
2016-01-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69069
|
||
* tree-parloops.c (create_parallel_loop): Add missing phi args.
|
||
|
||
2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR rtl-optimization/68920
|
||
* config/i386/i386.c (ix86_option_override_internal): Restrict number
|
||
of conditional moves for RTL if-conversion to 1 for
|
||
TARGET_ONE_IF_CONV_INSN.
|
||
* config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
|
||
* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
|
||
* params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
|
||
parameter to restirct number of conditional moves for
|
||
RTL if-conversion.
|
||
* doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
|
||
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
|
||
conditionl moves.
|
||
|
||
2016-01-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR bootstrap/69123
|
||
* var-tracking.c (drop_overlapping_mem_locs): Operate on all
|
||
onepart vars. Fix typo in comment. Fix reversed condition in
|
||
unshare test.
|
||
(dataflow_set_remove_mem_locs): Operate on all onepart vars.
|
||
|
||
PR bootstrap/69123
|
||
* var-tracking.c (dump_onepart_variable_differences): New.
|
||
(dataflow_set_different): If a detailed dump is requested,
|
||
delay early returns and dump differences between onepart
|
||
variables present before and after, and added variables.
|
||
|
||
2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69010
|
||
* expr.c (expand_expr_real_1): For boolean vector constants
|
||
with a scalar mode use const_scalar_mask_from_tree.
|
||
(const_scalar_mask_from_tree): New.
|
||
* optabs.c (expand_vec_cond_mask_expr): Use mask mode
|
||
assigned to a mask type to handle constants.
|
||
|
||
2016-01-11 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/69044
|
||
* ipa-cp.c (estimate_local_effects): Do not clone for removal of
|
||
useless parameters if we cannot change function signature.
|
||
|
||
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 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69109
|
||
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
|
||
latch with phi.
|
||
|
||
2016-01-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69108
|
||
* tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
|
||
res is not used in a phi.
|
||
|
||
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-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69058
|
||
* tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
|
||
not supported.
|
||
|
||
2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* config/arc/arc.opt (mdiv-rem): Add period to the end.
|
||
(mcode-density): Likewise.
|
||
|
||
2016-01-10 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69062
|
||
* tree-parloops.c (loop_has_phi_with_address_arg): New function.
|
||
(parallelize_loops): Don't paralelize loop that has phi with address
|
||
arg.
|
||
|
||
2016-01-10 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69039
|
||
* tree-parloops.c (try_create_reduction_list): Only allow single exit
|
||
phi for reduction.
|
||
|
||
2016-01-09 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR middle-end/68743
|
||
* match.pd: Require target has function_c99_misc before doing
|
||
truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
|
||
|
||
2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* configure.ac (isl_options_set_schedule_serialize_sccs): Also
|
||
use GMPINC.
|
||
* configure: Regenerate.
|
||
|
||
2016-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/50865
|
||
PR tree-optimization/69097
|
||
* fold-const.h (expr_not_equal_to): New prototype.
|
||
* fold-const.c: Include stringpool.h and tree-ssanames.h.
|
||
(expr_not_equal_to): New function.
|
||
* match.pd (X % -Y is the same as X % Y): Don't optimize
|
||
unless X is known not to be equal to minimum or Y is known
|
||
not to be equal to -1.
|
||
* tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
|
||
fold TRUNC_MOD_EXPR if the second argument is not a power of two.
|
||
(simplify_stmt_using_ranges): Adjust caller.
|
||
(vrp_finalize): Call set_value_range on SSA_NAMEs before calling
|
||
substitute_and_fold.
|
||
|
||
2016-01-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
|
||
w/o DECL_NAME.
|
||
|
||
2016-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69167
|
||
* gimple-fold.c (replace_stmt_with_simplification): Also punt if
|
||
new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
|
||
ops[0] comparison.
|
||
* gimple-match-head.c (maybe_push_res_to_seq): Likewise.
|
||
|
||
2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/68707
|
||
* tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
|
||
instances that can be handled via vect_load_lanes.
|
||
|
||
2016-01-08 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
|
||
if we can't determine address equivalence.
|
||
* alias.c (compare_base_decl): Update for changed return value of
|
||
symtab_node::equal_address_to.
|
||
|
||
2016-01-08 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68983
|
||
PR c++/67557
|
||
* function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
|
||
* expr.c (store_field): Not here.
|
||
* tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
|
||
call with TREE_ADDRESSABLE type.
|
||
* tree-cfg.c (verify_gimple_call): Adjust.
|
||
|
||
2016-01-08 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
|
||
libc_internal.
|
||
|
||
2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
|
||
(reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
|
||
(reduc_smin_v2sf): Rename to...
|
||
(reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
|
||
(reduc_splus_v2sf): Rename to...
|
||
(reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
|
||
|
||
2016-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69162
|
||
* gimplify.c (gimplify_va_arg_expr): Encode original type of
|
||
valist argument in another argument.
|
||
(gimplify_modify_expr): Adjust for the above change. Cleanup.
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
|
||
to determine the va_list type, build a MEM_REF instead of
|
||
build_fold_indirect_ref.
|
||
|
||
PR tree-optimization/69172
|
||
* gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
|
||
gimple_build.
|
||
|
||
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-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69083
|
||
* tree-vect-slp.c (vect_get_constant_vectors): For
|
||
VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
|
||
element type. If op is fold_convertible_p to vector_type's element
|
||
type, use NOP_EXPR instead of VCE.
|
||
|
||
2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/67778
|
||
PR rtl-optimization/68634
|
||
PR rtl-optimization/68909
|
||
* shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
|
||
block from the stack until done with it. Remove a superfluous
|
||
bitmap set. Remove a superfluous bitmap test.
|
||
|
||
2016-01-07 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/68966
|
||
* doc/extend.texi (__atomic Builtins, __sync Builtins): Document
|
||
constraint on the type of arguments.
|
||
|
||
2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
|
||
SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
|
||
unaligned_access on the gcc_options set.
|
||
* config/arm/arm.c (arm_option_override_internal): Use
|
||
SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
|
||
|
||
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-07 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Revert
|
||
2016-01-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69140
|
||
* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
|
||
depending on frame_pointer_needed before remaining integer and SSE
|
||
registers are saved.
|
||
|
||
2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (Nvidia PDX Function Attributes): New section.
|
||
|
||
2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69171
|
||
* config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
|
||
Use the "xBm" constraint.
|
||
(float<sseintvecmodelower><mode>2<mask_name><round_name):
|
||
Likewise.
|
||
(sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
|
||
(sse_cvtsi2ssq<round_name>): Likewise.
|
||
(sse_cvtss2si<round_name>): Likewise.
|
||
(sse_cvtss2siq<round_name>): Likewise.
|
||
(sse2_cvtsi2sdq<round_name>): Likewise.
|
||
(sse2_cvtsd2si<round_name>): Likewise.
|
||
(sse2_cvtsd2siq<round_name>): Likewise.
|
||
* config/i386/subst.md (round_nimm_scalar_predicate): New
|
||
predicate.
|
||
|
||
2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR middle-end/67639
|
||
* varasm.c (make_decl_rtl): Mark invalid register vars as
|
||
DECL_EXTERNAL.
|
||
|
||
PR rtl-optimization/66206
|
||
* bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
|
||
All callers changed.
|
||
|
||
2016-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69141
|
||
* tree-ssa-pre.c: Include langhooks.h.
|
||
(eliminate_dom_walker::before_dom_children): Use
|
||
lang_hooks.decl_printable_name instead of
|
||
cgraph_node::get ()->name ().
|
||
|
||
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-06 Robert Suchanek <robert.suchanek@imgtec.com>
|
||
|
||
* config/mips/mips-ftypes.def: Sort to lexicographical order.
|
||
|
||
2016-01-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69140
|
||
* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
|
||
depending on frame_pointer_needed before remaining integer and SSE
|
||
registers are saved.
|
||
|
||
2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
|
||
mode iterator with VSX_M2.
|
||
(*p9_vecstore_<mode>): Likewise.
|
||
(*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
|
||
(*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
|
||
(*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
|
||
(define_split for VSX_LE128 stores): Likewise.
|
||
(define_peephole2 for TImode LE swaps): Likewise.
|
||
(define_split for VSX_LE128 post-reload stores): Likewise.
|
||
|
||
2016-01-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/69099
|
||
* convert.c (convert_to_integer_1): Adjust call to
|
||
ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
|
||
* ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
|
||
EXPR instead of ARG.
|
||
* ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
|
||
|
||
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (RL78 Variable Attributes): New section.
|
||
|
||
2016-01-05 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/69104
|
||
* builtins.c (get_memmodel): Use expansion point location rather than
|
||
the input location. Call warning_at rather than warning.
|
||
(expand_builtin_atomic_compare_exchange): Likewise.
|
||
(expand_builtin_atomic_load): Likewise.
|
||
(expand_builtin_atomic_store): Likewise.
|
||
(expand_builtin_atomic_clear): Likewise.
|
||
|
||
2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68991
|
||
* config/i386/i386.c (ix86_expand_vector_logical_operator):
|
||
Replace nonimmediate_operand with vector_operand.
|
||
* config/i386/predicates.md (vector_operand): New predicate.
|
||
(general_vector_operand): Replace nonimmediate_operand with
|
||
vector_operand.
|
||
* config/i386/sse.md: Replace nonimmediate_operand with
|
||
vector_operand and m constraint with Bm constraint on SSE
|
||
patterns with 16-byte memory operand.
|
||
* config/i386/subst.md (round_nimm_predicate): Replace
|
||
nonimmediate_operand with vector_operand.
|
||
(round_saeonly_nimm_predicate): Likewise.
|
||
(round_saeonly_nimm_scalar_predicate): New.
|
||
|
||
2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68991
|
||
* config/i386/constraints.md (Bm): New constraint.
|
||
* config/i386/predicates.md (vector_memory_operand): New
|
||
predicate.
|
||
* config/i386/sse.md: Replace xm with xBm in plusminus and
|
||
any_logic patterns.
|
||
|
||
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (V850 Function Attributes): New section.
|
||
(V850 Variable Attributes): New section.
|
||
|
||
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (MicroBlaze Function Attributes): Document
|
||
interrupt_handler and fast_interrupt attributes.
|
||
|
||
2016-01-05 Sergei Trofimovich <siarheit@google.com>
|
||
|
||
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-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68651
|
||
* combine.c (combine_simplify_rtx): Canonicalize x + x into
|
||
x << 1.
|
||
|
||
2016-01-05 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* alias.c (compare_base_decls): Use symtab_node::get.
|
||
|
||
2016-01-05 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/68770
|
||
* ira-costs.c (copy_cost): Initialise the t_icode field of the
|
||
secondary_reload_info structure.
|
||
|
||
PR target/66655
|
||
* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
|
||
decls if weak support is available.
|
||
|
||
2016-01-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
|
||
|
||
2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
|
||
OPTION_MASK_P9_DFORM.
|
||
|
||
* config/rs6000/constraints.md (wo constraint): New constraint for
|
||
ISA 3.0 (power9).
|
||
|
||
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
|
||
for wo constraint.
|
||
(rs6000_init_hard_regno_mode_ok): Likewise.
|
||
|
||
* config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
|
||
wo constraint.
|
||
|
||
* config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
|
||
expanders not to have constraints. Add support for ISA 3.0 xxperm
|
||
instruction. Add support for fusing xxlor with xxperm.
|
||
(altivec_vperm_<mode>_internal): Likewise.
|
||
(altivec_vperm_v8hiv16qi): Likewise.
|
||
(altivec_vperm_<mode>v16q): Likewise.
|
||
(altivec_vperm_<mode>_uns): Likewise.
|
||
(vperm_v8hiv4si): Likewise.
|
||
(vperm_v16qiv8hi): Likewise.
|
||
|
||
* doc/md.texi (RS/6000 constraints): Document wo constraint.
|
||
|
||
2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
* gcc.c (process_command): Update copyright notice dates.
|
||
* gcov-dump.c (print_version): Ditto.
|
||
* gcov.c (print_version): Ditto.
|
||
* gcov-tool.c (print_version): Ditto.
|
||
* gengtype.c (create_file): 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.
|
||
|
||
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
|
||
modes larger than TImode as TImode if NEON is not enabled.
|
||
|
||
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/69100
|
||
* config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
|
||
mode for %f0-%f31 only if TARGET_FPU.
|
||
|
||
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/69072
|
||
* config/sparc/sparc.c (scan_record_type): Take into account subfields
|
||
to compute the PACKED_P predicate.
|
||
(function_arg_record_value): Minor tweaks.
|
||
|
||
2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* doc/install.texi (--with-multilib-list): Describe the meaning of the
|
||
option for arm*-*-* targets.
|
||
|
||
2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Common Function Attributes): Move docs for
|
||
MSP430-specific attributes to....
|
||
(MSP430 Function Attributes): ...here. Delete the redundant
|
||
entries and copy-edit the remaining text.
|
||
(MSP430 Variable Attributes): Use uniform format for index
|
||
entries and add a cross-reference to the corresponding function
|
||
attribute docs.
|
||
|
||
2016-01-03 Vladimír Čunát <vcunat@gmail.com>
|
||
|
||
* doc/invoke.texi (RS/6000 and PowerPC Options): Fix
|
||
-finite-math typo.
|
||
(x86 Options): Likewise.
|
||
|
||
2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
|
||
* extend.texi (Common Function Attributes) <no_stack_limit>: New.
|
||
* invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
|
||
to corresponding attribute.
|
||
|
||
2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Common Function Attributes) <noplt>: Move
|
||
to correct alphabetization of table. Copy-edit and correct
|
||
markup.
|
||
<stack_protect>: Likewise.
|
||
<target_clones>: Likewise.
|
||
<simd>: Likewise.
|
||
* doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
|
||
Correct punctuation.
|
||
(Code Gen Options) <-fno-plt>: Copy-edit.
|
||
|
||
2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR target/68917
|
||
* config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
|
||
SI values. Explicitly convert SI to DI and vice-versa.
|
||
|
||
2016-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69070
|
||
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
|
||
REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
|
||
|
||
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).
|
||
|
||
Copyright (C) 2016 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.
|