739 lines
28 KiB
Plaintext
739 lines
28 KiB
Plaintext
2017-01-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77484
|
||
* predict.def (PRED_INDIR_CALL): Set to 86.
|
||
|
||
2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR preprocessor/54124
|
||
|
||
* doc/cppopts.texi: Reformat -d subtable to list the full name
|
||
of the options. Add cross-reference to the docs for the general
|
||
compiler -d options.
|
||
* doc/invoke.texi (Developer Options): Add cross-reference to the
|
||
preprocessor-specific -d option documentation.
|
||
|
||
2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR preprocessor/13498
|
||
|
||
* doc/cpp.texi (Search Path): Rewrite to remove obsolete and
|
||
redudant material, and reflect new command-line options.
|
||
(System Headers): Likewise.
|
||
|
||
2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/cppdiropts.texi: Merge documentation of -I, -iquote,
|
||
-isystem, and -idirafter. Copy-edit.
|
||
* doc/cppopts.texi: Copy-edit. Remove contradiction about
|
||
default for -ftrack-macro-expansion. Delete obsolete and
|
||
badly-formatted implementation details about -fdebug-cpp output.
|
||
* doc/cppwarnopts.texi: Copy-edit.
|
||
|
||
2017-01-07 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c++/72803
|
||
* input.c (selftest::test_accessing_ordinary_linemaps): Verify
|
||
that the transition from a max line width >= 1<<10 to narrower
|
||
lines works correctly.
|
||
|
||
2017-01-07 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* doc/options.texi (PerFunction): New.
|
||
* opt-functions.awk (switch_flags): Map both Optimization and
|
||
PerFunction to CL_OPTIMIZATION.
|
||
* opth-gen.awk: Test for PerFunction flag along with
|
||
Optimization.
|
||
* optc-save-gen.awk: Likewise. Introduce var_opt_hash and set
|
||
it only when the latter is present. Skip those that don't in
|
||
the hash function generator.
|
||
* common.opt (fvar-tracking): Mark as PerFunction instead of
|
||
Optimization.
|
||
(fvar-tracking-assignments): Likewise.
|
||
(fvar-tracking-assignments-toggle): Likewise.
|
||
(fvar-tracking-uninit): Likewise.
|
||
|
||
2017-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR translation/79018
|
||
* params.def (PARAM_MAX_STORES_TO_MERGE): Add missing space between
|
||
the and store.
|
||
|
||
2017-01-06 Mikael Pettersson <mikpelinux@gmail.com>
|
||
|
||
PR target/57583
|
||
* config/m68k/m68k.opt (LONG_JUMP_TABLE_OFFSETS): New option.
|
||
* config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Handle
|
||
TARGET_LONG_JUMP_TABLE_OFFSETS.
|
||
* config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
|
||
* config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
|
||
* config/m68k/m68k.h (CASE_VECTOR_MODE): Likewise.
|
||
(ASM_OUTPUT_ADDR_DIFF_ELF): Likewise.
|
||
* config/m68k/m68k.md (tablejump expander): Likewise.
|
||
(*tablejump_pcrel_hi): Renamed from unnamed insn, reject
|
||
TARGET_LONG_JUMP_TABLE_OFFSETS.
|
||
(*tablejump_pcrel_si): New insn, handle TARGET_LONG_JUMP_TABLE_OFFSETS.
|
||
* doc/invoke.texi (M68K options): Add -mlong-jump-table-offsets.
|
||
|
||
2017-01-06 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
|
||
David Holsgrove <david.holsgrove@xilinx.com>
|
||
|
||
* common/config/microblaze/microblaze-common.c
|
||
(TARGET_EXCEPT_UNWIND_INFO): Remove.
|
||
* config/microblaze/microblaze-protos.h (microblaze_eh_return):
|
||
New prototype.
|
||
* config/microblaze/microblaze.c (microblaze_must_save_register)
|
||
(microblaze_expand_epilogue, microblaze_return_addr): Handle
|
||
calls_eh_return.
|
||
(microblaze_eh_return): New function.
|
||
* config/microblaze/microblaze.h (RETURN_ADDR_OFFSET)
|
||
(EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM)
|
||
(EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros.
|
||
* config/microblaze/microblaze.md (eh_return): New pattern.
|
||
|
||
2017-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* system.h (GCC_DIAGNOSTIC_PUSH_IGNORED, GCC_DIAGNOSTIC_POP,
|
||
GCC_DIAGNOSTIC_STRINGIFY): Define.
|
||
|
||
* read-rtl.c (rtx_reader::read_rtx_code): Avoid -Wsign-compare
|
||
warning.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm.md (<mcrr>): New.
|
||
(<mrrc>): New.
|
||
* config/arm/arm.c (arm_arch5te): New.
|
||
(arm_option_override): Set arm_arch5te.
|
||
(arm_coproc_builtin_available): Add support for mcrr, mcrr2, mrrc
|
||
and mrrc2.
|
||
* config/arm/arm-builtins.c (MCRR_QUALIFIERS): Define to...
|
||
(arm_mcrr_qualifiers): ... this. New.
|
||
(MRRC_QUALIFIERS): Define to...
|
||
(arm_mrrc_qualifiers): ... this. New.
|
||
* config/arm/arm_acle.h (__arm_mcrr, __arm_mcrr2, __arm_mrrc,
|
||
__arm_mrrc2): New.
|
||
* config/arm/arm_acle_builtins.def (mcrr, mcrr2, mrrc, mrrc2): New.
|
||
* config/arm/iterators.md (MCRRI, mcrr, MCRR): New.
|
||
(MRRCI, mrrc, MRRC): New.
|
||
* config/arm/unspecs.md (VUNSPEC_MCRR, VUNSPEC_MCRR2, VUNSPEC_MRRC,
|
||
VUNSPEC_MRRC2): New.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm.md (<mcr>): New.
|
||
(<mrc>): New.
|
||
* config/arm/arm.c (arm_coproc_builtin_available): Add
|
||
support for mcr, mrc, mcr2 and mrc2.
|
||
* config/arm/arm-builtins.c (MCR_QUALIFIERS): Define to...
|
||
(arm_mcr_qualifiers): ... this. New.
|
||
(MRC_QUALIFIERS): Define to ...
|
||
(arm_mrc_qualifiers): ... this. New.
|
||
(MCR_QUALIFIERS): Define to ...
|
||
(arm_mcr_qualifiers): ... this. New.
|
||
* config/arm/arm_acle.h (__arm_mcr, __arm_mrc, __arm_mcr2,
|
||
__arm_mrc2): New.
|
||
* config/arm/arm_acle_builtins.def (mcr, mcr2, mrc, mrc2): New.
|
||
* config/arm/iterators.md (MCRI, mcr, MCR, MRCI, mrc, MRC): New.
|
||
* config/arm/unspecs.md (VUNSPEC_MCR, VUNSPEC_MCR2, VUNSPEC_MRC,
|
||
VUNSPEC_MRC2): New.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm.md (*ldc): New.
|
||
(*stc): New.
|
||
(<ldc>): New.
|
||
(<stc>): New.
|
||
* config/arm/arm.c (arm_coproc_builtin_available): Add
|
||
support for ldc,ldcl,stc,stcl,ldc2,ldc2l,stc2 and stc2l.
|
||
(arm_coproc_ldc_stc_legitimate_address): New.
|
||
* config/arm/arm-builtins.c (arm_type_qualifiers): Add
|
||
'qualifier_const_pointer'.
|
||
(LDC_QUALIFIERS): Define to...
|
||
(arm_ldc_qualifiers): ... this. New.
|
||
(STC_QUALIFIERS): Define to...
|
||
(arm_stc_qualifiers): ... this. New.
|
||
* config/arm/arm-protos.h
|
||
(arm_coproc_ldc_stc_legitimate_address): New.
|
||
* config/arm/arm_acle.h (__arm_ldc, __arm_ldcl, __arm_stc,
|
||
__arm_stcl, __arm_ldc2, __arm_ldc2l, __arm_stc2, __arm_stc2l): New.
|
||
* config/arm/arm_acle_builtins.def (ldc, ldc2, ldcl, ldc2l, stc,
|
||
stc2, stcl, stc2l): New.
|
||
* config/arm/constraints.md (Uz): New.
|
||
* config/arm/iterators.md (LDCI, STCI, ldc, stc, LDC STC): New.
|
||
* config/arm/unspecs.md (VUNSPEC_LDC, VUNSPEC_LDC2, VUNSPEC_LDCL,
|
||
VUNSPEC_LDC2L, VUNSPEC_STC, VUNSPEC_STC2, VUNSPEC_STCL,
|
||
VUNSPEC_STC2L): New.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm.md (<cdp>): New.
|
||
* config/arm/arm.c (neon_const_bounds): Rename this ...
|
||
(arm_const_bounds): ... this.
|
||
(arm_coproc_builtin_available): New.
|
||
* config/arm/arm-builtins.c (SIMD_MAX_BUILTIN_ARGS): Increase.
|
||
(arm_type_qualifiers): Add 'qualifier_unsigned_immediate'.
|
||
(CDP_QUALIFIERS): Define to...
|
||
(arm_cdp_qualifiers): ... this. New.
|
||
(void_UP): Define.
|
||
(arm_expand_builtin_args): Add case for 6 arguments.
|
||
* config/arm/arm-protos.h (neon_const_bounds): Rename this ...
|
||
(arm_const_bounds): ... this.
|
||
(arm_coproc_builtin_available): New.
|
||
* config/arm/arm_acle.h (__arm_cdp): New.
|
||
(__arm_cdp2): New.
|
||
* config/arm/arm_acle_builtins.def (cdp): New.
|
||
(cdp2): New.
|
||
* config/arm/iterators.md (CDPI,CDP,cdp): New.
|
||
* config/arm/neon.md: Rename all 'neon_const_bounds' to
|
||
'arm_const_bounds'.
|
||
* config/arm/types.md (coproc): New.
|
||
* config/arm/unspecs.md (VUNSPEC_CDP, VUNSPEC_CDP2): New.
|
||
* gcc/doc/extend.texi (ACLE): Add a mention of Coprocessor intrinsics.
|
||
* gcc/doc/sourcebuild.texi (arm_coproc1_ok, arm_coproc2_ok,
|
||
arm_coproc3_ok, arm_coproc4_ok): Document new effective targets.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm-builtins.c (arm_unsigned_binop_qualifiers): New.
|
||
(UBINOP_QUALIFIERS): New.
|
||
(si_UP): Define.
|
||
(acle_builtin_data): New. Change comment.
|
||
(arm_builtins): Remove ARM_BUILTIN_CRC32B, ARM_BUILTIN_CRC32H,
|
||
ARM_BUILTIN_CRC32W, ARM_BUILTIN_CRC32CB, ARM_BUILTIN_CRC32CH,
|
||
ARM_BUILTIN_CRC32CW. Add ARM_BUILTIN_ACLE_BASE and include
|
||
arm_acle_builtins.def.
|
||
(ARM_BUILTIN_ACLE_PATTERN_START): Define.
|
||
(arm_init_acle_builtins): New.
|
||
(CRC32_BUILTIN): Remove.
|
||
(bdesc_2arg): Remove entries for crc32b, crc32h, crc32w,
|
||
crc32cb, crc32ch and crc32cw.
|
||
(arm_init_crc32_builtins): Remove.
|
||
(arm_init_builtins): Use arm_init_acle_builtins rather
|
||
than arm_init_crc32_builtins.
|
||
(arm_expand_acle_builtin): New.
|
||
(arm_expand_builtin): Use 'arm_expand_acle_builtin'.
|
||
* config/arm/arm_acle_builtins.def: New.
|
||
|
||
2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/arm/arm-builtins.c (neon_builtin_datum): Rename to ..
|
||
(arm_builtin_datum): ... this.
|
||
(arm_init_neon_builtin): Rename to ...
|
||
(arm_init_builtin): ... this. Add a new parameters PREFIX
|
||
and USE_SIG_IN_NAME.
|
||
(arm_init_neon_builtins): Replace 'arm_init_neon_builtin' with
|
||
'arm_init_builtin'. Replace type 'neon_builtin_datum' with
|
||
'arm_builtin_datum'.
|
||
(arm_init_vfp_builtins): Likewise.
|
||
(builtin_arg): Rename enum's replacing 'NEON_ARG' with
|
||
'ARG_BUILTIN' and add a 'ARG_BUILTIN_NEON_MEMORY.
|
||
(arm_expand_neon_args): Rename to ...
|
||
(arm_expand_builtin_args): ... this. Rename builtin_arg
|
||
enum values and differentiate between ARG_BUILTIN_MEMORY
|
||
and ARG_BUILTIN_NEON_MEMORY.
|
||
(arm_expand_neon_builtin_1): Rename to ...
|
||
(arm_expand_builtin_1): ... this. Rename builtin_arg enum
|
||
values, arm_expand_builtin_args and add bool parameter NEON.
|
||
(arm_expand_neon_builtin): Use arm_expand_builtin_1.
|
||
(arm_expand_vfp_builtin): Likewise.
|
||
(NEON_MAX_BUILTIN_ARGS): Remove, it was unused.
|
||
|
||
2017-01-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77484
|
||
* predict.def (PRED_POLYMORPHIC_CALL): Set to 59.
|
||
* predict.c (tree_estimate_probability_bb): Reverse direction of
|
||
polymorphic call predictor.
|
||
|
||
2017-01-06 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* passes.c (execute_one_pass): Split out pass-skipping logic
|
||
into...
|
||
(determine_pass_name_match): ...this new function and...
|
||
(should_skip_pass_p): ...this new function.
|
||
|
||
2017-01-06 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* ipa-visibility.c (function_and_variable_visibility): Reformat
|
||
comments and long lines. Remove extrneous if.
|
||
* symtab.c (symtab_node::make_decl_local): Fix code format.
|
||
(symtab_node::set_section_for_node): Fix comment typo.
|
||
|
||
2017-01-06 Martin Liska <mliska@suse.cz>
|
||
|
||
PR bootstrap/79003
|
||
* lra-constraints.c: Rename invariant to lra_invariant.
|
||
* predict.c (set_even_probabilities): Initialize e to NULL.
|
||
|
||
2017-01-05 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/78910
|
||
* gimple-ssa-sprintf.c (tree_digits): Add an argument.
|
||
(format_integer): Correct off-by-one error in the handling
|
||
of precision with negative numbers in signed conversions..
|
||
|
||
2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/invoke.texi (C Dialect Options): Adjust -fsso-struct entry.
|
||
|
||
2017-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/71016
|
||
* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Pass cond_stmt to
|
||
factor_out_conditional_conversion. Formatting fix.
|
||
(factor_out_conditional_conversion): Add cond_stmt argument.
|
||
If arg1 is INTEGER_CST, punt if new_arg0 is not any operand of
|
||
cond_stmt and if arg0_def_stmt is not the only stmt in its bb.
|
||
Formatting fix.
|
||
|
||
2017-01-05 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* Makefile.in (OBJS): Add read-md.o, read-rtl.o,
|
||
read-rtl-function.o, and selftest-rtl.o.
|
||
* config/aarch64/aarch64.c: Include selftest.h and
|
||
selftest-rtl.h.
|
||
(selftest::aarch64_test_loading_full_dump): New function.
|
||
(selftest::aarch64_run_selftests): New function.
|
||
(TARGET_RUN_TARGET_SELFTESTS): Wire it up to
|
||
selftest::aarch64_run_selftests.
|
||
* config/i386/i386.c
|
||
(selftest::ix86_test_loading_dump_fragment_1): New function.
|
||
(selftest::ix86_test_loading_call_insn): New function.
|
||
(selftest::ix86_test_loading_full_dump): New function.
|
||
(selftest::ix86_test_loading_unspec): New function.
|
||
(selftest::ix86_run_selftests): Call the new functions.
|
||
* emit-rtl.c (maybe_set_max_label_num): New function.
|
||
* emit-rtl.h (maybe_set_max_label_num): New decl.
|
||
* function.c (instantiate_decls): Guard call to
|
||
instantiate_decls_1 with if (DECL_INITIAL (fndecl)).
|
||
* function-tests.c (selftest::verify_three_block_rtl_cfg): Remove
|
||
"static".
|
||
* gensupport.c (gen_reader::gen_reader): Pass "false"
|
||
for new "compact" param of rtx_reader.
|
||
* print-rtl.c (rtx_writer::print_rtx_operand): Print "(nil)"
|
||
rather than an empty string for NULL strings.
|
||
* read-md.c: Potentially include config.h rather than bconfig.h.
|
||
Wrap include of errors.h with #ifdef GENERATOR_FILE.
|
||
(have_error): New global, copied from errors.c.
|
||
(md_reader::read_name): Rename to...
|
||
(md_reader::read_name_1): ...this, adding "out_loc" param,
|
||
and converting "missing name or number" to returning false, rather
|
||
than failing.
|
||
(md_reader::read_name): Reimplement in terms of read_name_1.
|
||
(md_reader::read_name_or_nil): New function.
|
||
(md_reader::read_string): Handle "(nil)" by returning NULL.
|
||
(md_reader::md_reader): Add new param "compact".
|
||
(md_reader::read_md_files): Wrap with #ifdef GENERATOR_FILE.
|
||
(md_reader::read_file): New method.
|
||
* read-md.h (md_reader::md_reader): Add new param "compact".
|
||
(md_reader::read_file): New method.
|
||
(md_reader::is_compact): New accessor.
|
||
(md_reader::read_name): Convert return type from void to
|
||
file_location.
|
||
(md_reader::read_name_or_nil): New decl.
|
||
(md_reader::read_name_1): New decl.
|
||
(md_reader::m_compact): New field.
|
||
(noop_reader::noop_reader): Pass "false" for new "compact" param
|
||
of rtx_reader.
|
||
(rtx_reader::rtx_reader): Add new "compact" param.
|
||
(rtx_reader::read_rtx_operand): Make virtual and convert return
|
||
type from void to rtx.
|
||
(rtx_reader::read_until): New decl.
|
||
(rtx_reader::handle_any_trailing_information): New virtual
|
||
function.
|
||
(rtx_reader::postprocess): New virtual function.
|
||
(rtx_reader::finalize_string): New virtual function.
|
||
(rtx_reader::m_in_call_function_usage): New field.
|
||
(rtx_reader::m_reuse_rtx_by_id): New field.
|
||
* read-rtl-function.c: New file.
|
||
* selftest-rtl.c (selftest::assert_rtx_ptr_eq_at): New function.
|
||
* selftest-rtl.h (ASSERT_RTX_PTR_EQ): New macro.
|
||
(selftest::verify_three_block_rtl_cfg): New decl.
|
||
* read-rtl-function.h: New file.
|
||
* read-rtl.c: Potentially include config.h rather than bconfig.h.
|
||
For host, include function.h, memmodel.h, and emit-rtl.h.
|
||
(one_time_initialization): New function.
|
||
(struct compact_insn_name): New struct.
|
||
(compact_insn_names): New array.
|
||
(find_code): Handle insn codes in compact dumps.
|
||
(apply_subst_iterator): Wrap with #ifdef GENERATOR_FILE.
|
||
(bind_subst_iter_and_attr): Likewise.
|
||
(add_condition_to_string): Likewise.
|
||
(add_condition_to_rtx): Likewise.
|
||
(apply_attribute_uses): Likewise.
|
||
(add_current_iterators): Likewise.
|
||
(apply_iterators): Likewise.
|
||
(initialize_iterators): Guard usage of apply_subst_iterator with
|
||
#ifdef GENERATOR_FILE.
|
||
(read_conditions): Wrap with #ifdef GENERATOR_FILE.
|
||
(md_reader::read_mapping): Likewise.
|
||
(add_define_attr_for_define_subst): Likewise.
|
||
(add_define_subst_attr): Likewise.
|
||
(read_subst_mapping): Likewise.
|
||
(check_code_iterator): Likewise.
|
||
(rtx_reader::read_rtx): Likewise. Move one-time initialization
|
||
logic to...
|
||
(one_time_initialization): New function.
|
||
(rtx_reader::read_until): New method.
|
||
(read_flags): New function.
|
||
(parse_reg_note_name): New function.
|
||
(rtx_reader::read_rtx_code): Initialize "iterator" to NULL.
|
||
Handle reuse_rtx ids.
|
||
Wrap iterator lookup within #ifdef GENERATOR_FILE.
|
||
Add parsing support for RTL dumps, mirroring the special-cases in
|
||
print_rtx, by calling read_flags, reading REG_NOTE names, INSN_UID
|
||
values, and calling handle_any_trailing_information.
|
||
(rtx_reader::read_rtx_operand): Convert return type from void
|
||
to rtx, returning return_rtx. Handle case 'e'. Call
|
||
finalize_string on XSTR and XTMPL fields.
|
||
(rtx_reader::read_nested_rtx): Handle dumps in which trailing
|
||
"(nil)" values were omitted. Call the postprocess vfunc on the
|
||
return_rtx.
|
||
(rtx_reader::rtx_reader): Add new "compact" param and pass to base
|
||
class ctor. Initialize m_in_call_function_usage. Call
|
||
one_time_initialization.
|
||
* rtl-tests.c (selftest::test_uncond_jump): Call
|
||
set_new_first_and_last_insn.
|
||
* rtl.h (read_rtx): Wrap decl with #ifdef GENERATOR_FILE.
|
||
* selftest-rtl.c: New file.
|
||
* selftest-rtl.h (class selftest::rtl_dump_test): New class.
|
||
(selftest::get_insn_by_uid): New decl.
|
||
* selftest-run-tests.c (selftest::run_tests): Call
|
||
read_rtl_function_c_tests.
|
||
* selftest.h (selftest::read_rtl_function_c_tests): New decl.
|
||
* tree-dfa.c (ssa_default_def): Return NULL_TREE for rtl function
|
||
dumps.
|
||
|
||
2017-01-05 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*testqi_ext_3): No need to handle memory
|
||
operands in a special way. Assert that pos+len <= mode precision.
|
||
|
||
2017-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* common.opt (fvect-cost-model): Remove RejectNegative flag, use
|
||
3 argument Alias with unlimited for the negative form.
|
||
(fno-vect-cost-model): Removed.
|
||
|
||
2017-01-05 Martin Liska <mliska@suse.cz>
|
||
|
||
* hsa-gen.c (gen_hsa_divmod): New function.
|
||
(gen_hsa_insn_for_internal_fn_call): Use the function for IFN_DIVMOD.
|
||
|
||
2017-01-05 Martin Liska <mliska@suse.cz>
|
||
|
||
PR pch/78970
|
||
* gcc.c (lookup_compiler): Reject '-' filename for a precompiled
|
||
header.
|
||
|
||
2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_setmem): Unroll the loop for
|
||
small constant length operands.
|
||
|
||
2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_setmem): Avoid overlapping bytes
|
||
between loop iterations.
|
||
|
||
2017-01-05 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/78815
|
||
* gimplify.c (gimplify_decl_expr): Compare to
|
||
asan_poisoned_variables instread of checking flags.
|
||
(gimplify_target_expr): Likewise.
|
||
(gimplify_expr): Likewise.
|
||
(gimplify_function_tree): Conditionally initialize
|
||
asan_poisoned_variables.
|
||
|
||
2017-01-04 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimizatin/78812
|
||
* rtl.h (contains_mem_rtx_p): Prototype.
|
||
* ifcvt.c (containts_mem_rtx_p): Move from here to...
|
||
* rtlanal.c (contains_mem_rtx_p): Here and remove static linkage.
|
||
* gcse.c (prune_expressions): Use contains_mem_rtx_p to discover
|
||
and prune MEMs that are not at the toplevel of a SET_SRC rtx. Look
|
||
through ZERO_EXTEND and SIGN_EXTEND when trying to avoid pruning MEMs.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* input.c (assert_char_at_range): Default-initialize actual_range.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* df-scan.c (df_ref_create_structure): Make regno unsigned,
|
||
to match the caller.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* cfgexpand.c (expand_gimple_basic_block): Disregard debug
|
||
insns after final jump in test to emit dummy move.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* gimple-iterator.h (gsi_one_nondebug_before_end_p): New.
|
||
* tree-eh.c (cleanup_empty_eh): Skip more debug stmts.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* multiple_target.c (create_dispatcher_calls): Init e_next.
|
||
* tree-ssa-loop-split.c (split_loop): Init border.
|
||
* tree-vect-loop.c (vect_determine_vectorization_factor): Init
|
||
scalar_type.
|
||
|
||
2017-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/71977
|
||
PR target/70568
|
||
PR target/78823
|
||
* config/rs6000/predicates.md (sf_subreg_operand): New predicate.
|
||
(altivec_register_operand): Do not return true if the operand
|
||
contains a SUBREG mixing SImode and SFmode.
|
||
(vsx_register_operand): Likewise.
|
||
(vsx_reg_sfsubreg_ok): New predicate.
|
||
(vfloat_operand): Do not return true if the operand contains a
|
||
SUBREG mixing SImode and SFmode.
|
||
(vint_operand): Likewise.
|
||
(vlogical_operand): Likewise.
|
||
(gpc_reg_operand): Likewise.
|
||
(int_reg_operand): Likewise.
|
||
* config/rs6000/rs6000-protos.h (valid_sf_si_move): Add declaration.
|
||
* config/rs6000/rs6000.c (valid_sf_si_move): New function to
|
||
determine if a MOVSI or MOVSF operation contains SUBREGs that mix
|
||
SImode and SFmode.
|
||
(rs6000_emit_move_si_sf_subreg): New helper function.
|
||
(rs6000_emit_move): Call rs6000_emit_move_si_sf_subreg to possbily
|
||
fixup SUBREGs involving SImode and SFmode.
|
||
* config/rs6000/vsx.md (SFBOOL_*): New constants that are operand
|
||
numbers for the new peephole2 optimization.
|
||
(peephole2 for SFmode unions): New peephole2 to optimize cases in
|
||
the GLIBC math library that do AND/IOR/XOR operations on single
|
||
precision floating point.
|
||
* config/rs6000/rs6000.h (TARGET_NO_SF_SUBREG): New internal
|
||
target macros to say whether we need to avoid SUBREGs mixing
|
||
SImode and SFmode.
|
||
(TARGET_ALLOW_SF_SUBREG): Likewise.
|
||
* config/rs6000/rs6000.md (UNSPEC_SF_FROM_SI): New unspecs.
|
||
(UNSPEC_SI_FROM_SF): Likewise.
|
||
(iorxor): Change spacing.
|
||
(and_ior_xor): New iterator for AND, IOR, and XOR.
|
||
(movsi_from_sf): New insns for SImode/SFmode SUBREG support.
|
||
(movdi_from_sf_zero_ext): Likewise.
|
||
(mov<mode>_hardfloat, FMOVE32 iterator): Use register_operand
|
||
instead of gpc_reg_operand. Add SImode/SFmode SUBREG support.
|
||
(movsf_from_si): New insn for SImode/SFmode SUBREG support.
|
||
(fma<mode>4): Use gpc_reg_operand instead of register_operand.
|
||
(fms<mode>4): Likewise.
|
||
(fnma<mode>4): Likewise.
|
||
(fnms<mode>4): Likewise.
|
||
(nfma<mode>4): Likewise.
|
||
(nfms<mode>4): Likewise.
|
||
|
||
2017-01-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/64767
|
||
* doc/invoke.texi: Document -Wpointer-compare.
|
||
|
||
2017-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without
|
||
RejectNegative.
|
||
|
||
* dwarf2out.c (output_loc_list): Don't throw away 64K+ location
|
||
descriptions for -gdwarf-5 and emit them as uleb128 instead of
|
||
2-byte data.
|
||
|
||
2017-01-04 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||
|
||
PR target/78056
|
||
* doc/sourcebuild.texi (PowerPC-specific attributes): Add
|
||
documentation of the powerpc_popcntb_ok attribute.
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
|
||
code to issue warning messages if a requested CPU configuration is
|
||
not supported by the binary (assembler and loader) toolchain.
|
||
(spe_init_builtins): Add two assertions to prevent ICE if attempt is
|
||
made to define a built-in function that has been disabled.
|
||
(paired_init_builtins): Add assertion to prevent ICE if attempt is
|
||
made to define a built-in function that has been disabled.
|
||
(altivec_init_builtins): Add comment explaining why definition
|
||
of the DST built-in functions is not preceded by an assertion
|
||
check. Add assertions to prevent ICE if attempts are made to
|
||
define an altivec predicate or an abs* built-in function that has
|
||
been disabled.
|
||
(htm_init_builtins): Add comment explaining why definition of the
|
||
htm built-in functions is not preceded by an assertion check.
|
||
|
||
2017-01-04 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimizatin/67955
|
||
* tree-ssa-alias.c (same_addr_size_stores_p): Check offsets first.
|
||
Allow any SSA_VAR_P as the base objects. Use integer_zerop. Verify
|
||
the points-to solution does not include pt_null. Use DECL_PT_UID
|
||
unconditionally.
|
||
|
||
2017-01-04 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (HI/SImode test with imm to QImode splitters):
|
||
Use gen_int_mode instead of gen_lopwart for const_int operands.
|
||
|
||
2017-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/71563
|
||
* match.pd: Simplify X << Y into X if Y is known to be 0 or
|
||
out of range value - has low bits known to be zero.
|
||
|
||
2017-01-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
|
||
2017-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/77569
|
||
* input.c (ebcdic_execution_charset::on_error): Don't use strstr for
|
||
a substring of the message, but strcmp with the whole message. Ifdef
|
||
ENABLE_NLS, translate the message first using dgettext.
|
||
|
||
2017-01-03 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimizatin/78856
|
||
* tree-ssa-threadupdate.c: Include tree-vectorizer.h.
|
||
(mark_threaded_blocks): Remove code to truncate thread paths that
|
||
cross multiple loop headers. Instead invalidate the cached loop
|
||
iteration information and handle case of a thread path walking
|
||
into an irreducible region.
|
||
|
||
2017-01-03 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/78900
|
||
* config/rs6000/rs6000.c (rs6000_split_signbit): Change some
|
||
assertions. Add support for doing the signbit if the IEEE 128-bit
|
||
floating point value is in a GPR.
|
||
* config/rs6000/rs6000.md (Fsignbit): Delete.
|
||
(signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
|
||
Update the length attribute if the value is in a GPR.
|
||
(signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
|
||
the sign or zero extension instruction, since the value is always 0/1.
|
||
(signbit<mode>2_dm2): Delete using <Fsignbit>.
|
||
|
||
PR target/78953
|
||
* config/rs6000/vsx.md (vsx_extract_<mode>_store_p9): If we are
|
||
extracting SImode to a GPR register so that we can generate a
|
||
store, limit the vector to be in a traditional Altivec register
|
||
for the vextuwrx instruction.
|
||
|
||
2017-01-03 Ian Lance Taylor <iant@google.com>
|
||
|
||
* godump.c (go_format_type): Treat ENUMERAL_TYPE like INTEGER_TYPE.
|
||
|
||
2017-01-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/78696
|
||
* gimple-ssa-sprintf.c (format_floating): Correct handling of
|
||
precision. Use MPFR for %f for greater fidelity. Correct handling
|
||
of %g.
|
||
(pass_sprintf_length::compute_format_length): Set width and precision
|
||
specified by asrerisk to void_node for vararg functions.
|
||
(try_substitute_return_value): Adjust dump output.
|
||
|
||
2017-01-03 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* doc/invoke.texi (RS6000 options): LRA is enabled by default.
|
||
|
||
2017-01-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/invoke.texi (SPARC options): Document -mlra as the default.
|
||
* config/sparc/sparc.c (sparc_option_override): Force LRA unless
|
||
-mlra/-mno-lra was passed to the compiler.
|
||
|
||
2017-01-03 James Cowgill <James.Cowgill@imgtec.com>
|
||
|
||
PR rtl-optimization/65618
|
||
* emit-rtl.c (try_split): Move initialization of "before" and
|
||
"after" to just before the call to emit_insn_after_setloc.
|
||
|
||
2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/md.texi (Standard Names): Remove reference to Java frontend.
|
||
|
||
2017-01-03 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
* dwarf2out.c (gen_enumeration_type_die): When
|
||
-gno-strict-dwarf, add a DW_AT_encoding attribute.
|
||
|
||
2017-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/78965
|
||
* gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
|
||
Change first argument from const call_info & to call_info &. For %n
|
||
set info.nowrite to false.
|
||
|
||
PR middle-end/78901
|
||
* gimple-ssa-sprintf.c (try_substitute_return_value): Don't change
|
||
possibly throwing calls.
|
||
|
||
* genmatch.c (dt_node::gen_kids_1): If generic_exprs include SSA_NAME
|
||
and exprs_len || fns_len, emit the code for SSA_NAME next to the exprs
|
||
and fns handling, rather than in a separate case SSA_NAME.
|
||
|
||
2017-01-02 Jeff Law <law@redhat.com>
|
||
|
||
* config/darwin-driver.c (darwin_driver_init): Const-correctness
|
||
fixes for first_period and second_period variables.
|
||
|
||
2017-01-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/78967
|
||
* config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec.
|
||
(*insvqi_1): New insn pattern.
|
||
(*insvqi_1_mem_rex64): Ditto.
|
||
(*insvqi_2): Ditto.
|
||
(*insvqi_3): Rename from *insvqi.
|
||
|
||
(*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag.
|
||
|
||
2017-01-02 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/cfg.texi (Edges): Remove reference to Java.
|
||
(Maintaining the CFG): Ditto.
|
||
|
||
2017-01-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77674
|
||
* symtab.c (symtab_node::binds_to_current_def_p): Fix handling of
|
||
transparent aliases.
|
||
|
||
2017-01-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/77484
|
||
* predict.def (PRED_CALL): Update hitrate.
|
||
(PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors.
|
||
* predict.c (tree_estimate_probability_bb): Split CALL predictor
|
||
into direct/indirect/polymorphic variants.
|
||
|
||
2017-01-01 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.
|
||
|
||
Copyright (C) 2017 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.
|