- 28 May, 2018 4 commits
-
-
This patch fixes an issue whereby the compiler misidentified a package name containing the name of a standard runtime package as said package - leading to and improper error message prompting the user to "With" a package already in scope. 2018-05-28 Justin Squirek <squirek@adacore.com> gcc/ada/ * sem_ch8.adb (Find_Expanded_Name): Add extra guard to make sure the misresolved package name is not a case of mistaken identity. gcc/testsuite/ * gnat.dg/warn15-core-main.adb, gnat.dg/warn15-core.ads, gnat.dg/warn15-interfaces.ads, gnat.dg/warn15.ads: New testcase. From-SVN: r260817
Justin Squirek committed -
Some static bounds of types are not recognized and evaluated as such in the semantic analysis phase of the frontend, which leads to incomplete information in GNATprove. Fix that in the GNATprove mode only, as this is not needed when full expansion is used. There is no impact on compilation. 2018-05-28 Yannick Moy <moy@adacore.com> gcc/ada/ * sem_res.adb (Resolve_Range): Re-resolve the low bound of a range in GNATprove mode, as the order of resolution (low then high) means that all the information is not available when resolving the low bound the first time. From-SVN: r260816
Yannick Moy committed -
This steamlines a bit the implementation. No functional changes. 2018-05-28 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * repinfo.adb (List_Array_Info): Start with an explicit blank line and end with the linker section, if any. (List_Entities): Do not output the linker section for record types, array types and variables. (Print_Expr): Factor out common processing for unary operators and special values. Adjust and reorder the various cases. (List_Object_Info): End with the linker section, if any. (List_Record_Info): Likewise. (List_Type_Info): Do not start with a blank line. From-SVN: r260815
Eric Botcazou committed -
From-SVN: r260814
GCC Administrator committed
-
- 27 May, 2018 8 commits
-
-
* config/pa/pa-linux.h (NEED_INDICATE_EXEC_STACK): Define to 0. From-SVN: r260809
John David Anglin committed -
2018-05-27 Steven G. Kargl <kargl@gcc.gnu.org> * decl.c (match_data_constant): Fortran 2018 allows pointer initialization in a data statement. 2018-05-27 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/data_stmt_pointer.f90: new test. From-SVN: r260808
Steven G. Kargl committed -
* config/pdp11/pdp11.md (truncsihi2): Remove. From-SVN: r260807
Paul Koning committed -
2018-05-27 François Dumont <fdumont@gcc.gnu.org> * include/bits/stl_tree.h (_Rb_tree_impl(_Node_allocator&&)): New. (_Rb_tree(const allocator_type&)): Use latter. * include/bits/stl_map.h (map(const allocator_type&)): Likewise. (map(initializer_list<value_type>, const allocator_type&)): Likewise. (map(_InputIterator, _InputIterator, const allocator_type&)): Likewise. * include/bits/stl_multimap.h (multimap(const allocator_type&)): Likewise. (multimap(initializer_list<value_type>, const allocator_type&)): Likewise. (multimap(_InputIterator, _InputIterator, const allocator_type&)): Likewise. * include/bits/stl_set.h (set(const allocator_type&)): Likewise. (set(initializer_list<value_type>, const allocator_type&)): Likewise. (set(_InputIterator, _InputIterator, const allocator_type&)): Likewise. * include/bits/stl_multiset.h (multiset(const allocator_type&)): Likewise. (multiset(initializer_list<value_type>, const allocator_type&)): Likewise. (multiset(_InputIterator, _InputIterator, const allocator_type&)): Likewise. From-SVN: r260806
François Dumont committed -
gcc/ * config/nds32/nds32-intrinsic.md (unaligned_storedi): Modify patterns implementation. (unaligned_store_dw): Ditto. * config/nds32/nds32-memory-manipulation.c (nds32_expand_movmemsi_loop_known_size): Refactoring implementation. (nds32_gen_dup_4_byte_to_word_value): Rename to ... (nds32_gen_dup_4_byte_to_word_value_aux): ... this. (emit_setmem_word_loop): Rename to ... (emit_setmem_doubleword_loop): ... this. (nds32_gen_dup_4_byte_to_word_value): New function. (nds32_gen_dup_8_byte_to_double_word_value): New function. (nds32_expand_setmem_loop): Refine implementation. (nds32_expand_setmem_loop_v3m): Ditto. * config/nds32/nds32-multiple.md (unaligned_store_update_base_dw): New pattern. Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com> From-SVN: r260805
Monk Chiang committed -
gcc/ * config/nds32/nds32.md (bswapsi2, bswaphi2): New patterns. From-SVN: r260804
Chung-Ju Wu committed -
gcc/ * config/nds32/nds32.c (nds32_attribute_table): Add "no_prologue". (nds32_init_machine_status): Initialize machine->attr_naked_p and machine->attr_no_prologue_p. (nds32_compute_stack_frame): Check "naked" and "no_prologue" attributes. (nds32_naked_function_p): Handle "naked" and "no_prologue" attributes. (nds32_expand_epilogue): Consider attr_naked_p. (nds32_expand_epilogue_v3pop): Likewise. (nds32_can_use_return_insn): Likewise. * config/nds32/nds32.h (machine_function): Add attr_naked_p and attr_no_prologue_p fields. * config/nds32/nds32.opt (mret-in-naked-func): New option. From-SVN: r260803
Chung-Ju Wu committed -
From-SVN: r260801
GCC Administrator committed
-
- 26 May, 2018 8 commits
-
-
re PR target/85918 (Conversions to/from [unsigned] long long are not vectorized for AVX512DQ target) PR target/85918 * config/i386/i386.md (fixunssuffix, floatunssuffix): New code attributes. * config/i386/sse.md (<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>): Rename to ... (float<floatunssuffix><sseintvecmodelower><mode>2<mask_name><round_name>): ... this. (<floatsuffix>float<sselongvecmodelower><mode>2<mask_name><round_name>): Rename to ... (float<floatunssuffix><sselongvecmodelower><mode>2<mask_name><round_name>): ... this. (*<floatsuffix>floatv2div2sf2): Rename to ... (*float<floatunssuffix>v2div2sf2): ... this. (<floatsuffix>floatv2div2sf2_mask): Rename to ... (float<floatunssuffix>v2div2sf2_mask): ... this. (*<floatsuffix>floatv2div2sf2_mask_1): Rename to ... (*float<floatunssuffix>v2div2sf2_mask_1): ... this. (<fixsuffix>fix_truncv8dfv8si2<mask_name><round_saeonly_name>): Rename to ... (fix<fixunssuffix>_truncv8dfv8si2<mask_name><round_saeonly_name>): ... this. (<fixsuffix>fix_trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>): Rename to ... (fix<fixunssuffix>_trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>): ... this. (<fixsuffix>fix_trunc<mode><sselongvecmodelower>2<mask_name><round_saeonly_name>): Rename to ... (fix<fixunssuffix>_trunc<mode><sselongvecmodelower>2<mask_name><round_saeonly_name>): ... this. (<fixsuffix>fix_truncv2sfv2di2<mask_name>): Rename to ... (fix<fixunssuffix>_truncv2sfv2di2<mask_name>): ... this. (vec_pack_ufix_trunc_<mode>): Use gen_fixuns_truncv8dfv8si2 instead of gen_ufix_truncv8dfv8si2. * config/i386/i386-builtin.def (__builtin_ia32_cvttpd2uqq256_mask, __builtin_ia32_cvttpd2uqq128_mask, __builtin_ia32_cvttps2uqq256_mask, __builtin_ia32_cvttps2uqq128_mask, __builtin_ia32_cvtuqq2ps256_mask, __builtin_ia32_cvtuqq2ps128_mask, __builtin_ia32_cvtuqq2pd256_mask, __builtin_ia32_cvtuqq2pd128_mask, __builtin_ia32_cvttpd2udq512_mask, __builtin_ia32_cvtuqq2ps512_mask, __builtin_ia32_cvtuqq2pd512_mask, __builtin_ia32_cvttps2uqq512_mask, __builtin_ia32_cvttpd2uqq512_mask): Use fixuns instead ufix or floatuns instead ufloat in CODE_FOR_ names. * gcc.target/i386/avx512dq-pr85918.c: New test. From-SVN: r260797
Jakub Jelinek committed -
From-SVN: r260796
Jerry DeLisle committed -
2018-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/89506 * io/write.c (write_integer): Initialise the fnode format to FMT_NONE, used for list directed write. (BUF_STACK_SZ): Bump default buffer size up to avoid allocs on small stuff. From-SVN: r260795
Jerry DeLisle committed -
From-SVN: r260794
Jerry DeLisle committed -
2018-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/85840 * io/write.c (write_float_0): Use separate local variable for the float string length. From-SVN: r260793
Jerry DeLisle committed -
Since ifunc_resolver isn't set when an error is detected, we should lookup ifunc attribute in this case. PR target/85900 PR target/85345 * varasm.c (assemble_alias): Lookup ifunc attribute on error. From-SVN: r260792
H.J. Lu committed -
PR bootstrap/85921 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary noinline variable to workaround broken kernel headers. From-SVN: r260790
Jakub Jelinek committed -
From-SVN: r260789
GCC Administrator committed
-
- 25 May, 2018 20 commits
-
-
gcc/ * config/riscv/riscv-protos.h (riscv_epilogue_uses): New. * config/riscv/riscv.c (struct machine_function): Add interrupt_handler_p and attribute_checked_p fields. (riscv_attribute_table): Add interrupt. (riscv_interrupt_type_p): New. (riscv_save_reg_p): Save extra regs for interrupt handler. (riscv_use_save_libcall): Return false for interrupt handler. (riscv_first_stack_step): Add forward declaration. (riscv_compute_frame_info): New local interrupt_save_t1. Set it for interrupt handler with large frame. Use it for saved reg list. (riscv_expand_prologue): Move flag_stack_usage_info support to eliminate duplication. (riscv_expand_epilogue): Generate mret for interrupt handler. (riscv_epilogue_uses): New. (riscv_can_use_return_insn): Return false for interrupt handler. (riscv_function_ok_for_sibcall): Likewise. (riscv_set_current_function): Add interrupt handler support. * config/riscv/riscv.h (EPILOGUE_USES): Call riscv_epilogue_uses. * config/riscv/riscv.md (UNSPECV_MRET): New. (GP_REGNUM): New. (riscv_frflags, riscv_fsflags): Use tab after opcode. (riscv_mret): New. * doc/extend.texi (RISC-V Function Attributes) <interrupt>: New. gcc/testsuite/ * gcc.target/riscv/interrupt-1.c: New. * gcc.target/riscv/interrupt-2.c: New. * gcc.target/riscv/interrupt-3.c: New. * gcc.target/riscv/interrupt-4.c: New. * gcc.target/riscv/interrupt-5.c: New. From-SVN: r260785
Jim Wilson committed -
2018-05-25 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/85786 * gfortran.dg/pr85786.f90: New test. From-SVN: r260783
Steven G. Kargl committed -
* search.c (lookup_base): Use currently_open_class. (lookup_member): Use it regardless of -fconcepts. * parser.c (cp_parser_postfix_dot_deref_expression): Check it. From-SVN: r260782
Jason Merrill committed -
* gcc.c-torture/compile/20151204.c: Skip if pdp11. * gcc.c-torture/compile/pr55921.c: Ditto. * gcc.c-torture/compile/pr60655-1.c: Ditto. * gcc.c-torture/compile/vector-align-1.c: Add max alignment if pdp11. From-SVN: r260781
Paul Koning committed -
* tree.c (lvalue_kind): Fix handling of ARRAY_REF of pointer. From-SVN: r260780
Jason Merrill committed -
re PR tree-optimization/85712 (ICE in all_phi_incrs_profitable_1 at gcc/gimple-ssa-strength-reduction.c:3479) 2018-05-25 Bill Schmidt <wschmidt@linux.ibm.com> PR tree-optimization/85712 * gimple-ssa-strength-reduction.c (replace_one_candidate): Skip if this candidate has already been replaced in-situ by a copy. From-SVN: r260772
Bill Schmidt committed -
From-SVN: r260763
Rasmus Villemoes committed -
* symtab.c (nonzero_address): Check DECL_COMDAT. From-SVN: r260762
Jason Merrill committed -
2018-05-25 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/85768 * src/c++11/debug.cc: Remove backtrace usage. From-SVN: r260761
François Dumont committed -
PR target/83628 * config/alpha/alpha.md (ashlsi3): New insn pattern. (*ashlsi_se): Rename from *ashldi_se. Define as sign extension of SImode operation. Use const123_operand predicate. (*saddsi_1): Remove. (*saddl_se_1): Ditto. (*ssubsi_1): Ditto. (*ssubl_se_1): Ditto. * config/alpha/predicates.md (const123_operand): New predicate. * config/alpha/constraints.md (P): Use IN_RANGE. From-SVN: r260760
Uros Bizjak committed -
2018-05-25 Richard Biener <rguenther@suse.de> * tree-ssa-alias.h (refs_may_alias_p): Add tbaa_p bool parameter, defaulted to true. (ref_maybe_used_by_stmt_p): Likewise. (stmt_may_clobber_ref_p): Likewise. (stmt_may_clobber_ref_p_1): Likewise. * tree-ssa-alias.c (refs_may_alias_p): Add tbaa_p bool parameter and pass it along. (ref_maybe_used_by_stmt_p): Likewise. (stmt_may_clobber_ref_p): Likewise. (stmt_may_clobber_ref_p_1): Likewise. * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Use the alias oracle to disambiguate DRs with stmts DR analysis couldn't handle. (vect_analyze_data_refs): Do not give up on not analyzable DRs for BB vectorization. Remove code truncating the dataref vector. From-SVN: r260757
Richard Biener committed -
PR target/85832 * config/i386/sse.md (<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Add (=Yk,v,C) variant using vptestm insn. Use TARGET_AVX512BW in test instead of TARGET_AVX512F for VI12_AVX512VL iterator. * gcc.target/i386/avx512f-pr85832.c: New test. * gcc.target/i386/avx512vl-pr85832.c: New test. * gcc.target/i386/avx512bw-pr85832.c: New test. * gcc.target/i386/avx512vlbw-pr85832.c: New test. From-SVN: r260756
Jakub Jelinek committed -
tree-vect-data-refs.c (vect_find_stmt_data_reference): New function, combining stmt data ref gathering and fatal analysis parts. 2018-05-25 Richard Biener <rguenther@suse.de> * tree-vect-data-refs.c (vect_find_stmt_data_reference): New function, combining stmt data ref gathering and fatal analysis parts. (vect_analyze_data_refs): Remove now redudnant code and simplify. * tree-vect-loop.c (vect_get_datarefs_in_loop): Factor out from vect_analyze_loop_2 and use vect_find_stmt_data_reference. * tree-vect-slp.c (vect_slp_bb): Use vect_find_stmt_data_reference. * tree-vectorizer.h (vect_find_stmt_data_reference): Declare. From-SVN: r260754
Richard Biener committed -
PR tree-optimization/85720 * tree-loop-distribution.c (break_alias_scc_partitions): Don't merge SCC if all partitions are builtins. (version_loop_by_alias_check): New parameter. Generate cancelable runtime alias check if all partitions are builtins. (distribute_loop): Update call to above function. gcc/testsuite * gcc.dg/tree-ssa/pr85720.c: New test. * gcc.target/i386/avx256-unaligned-store-2.c: Disable loop pattern distribution. From-SVN: r260753
Bin Cheng committed -
2018-05-25 Martin Liska <mliska@suse.cz> PR testsuite/85911 * gcc.dg/tree-prof/update-loopch.c: Do not scan for 'Removing basic block'. From-SVN: r260748
Martin Liska committed -
* tree-outof-ssa.c (tree-ssa.h, tree-dfa.h): Include header files. (create_default_def, for_all_parms): Moved from tree-ssa-coalesce.c. (parm_default_def_partition_arg): Ditto. (set_parm_default_def_partition): Ditto. (get_parm_default_def_partitions): Ditto and make it static. (get_undefined_value_partitions): Ditto and make it static. (remove_ssa_form): Refactor call to init_var_map here. * tree-ssa-coalesce.c (build_ssa_conflict_graph): Support live range computation for loop region. (coalesce_partitions, compute_optimized_partition_bases): Ditto. (register_default_def): Delete. (for_all_parms, create_default_def): Move to tree-outof-ssa.c. (parm_default_def_partition_arg): Ditto. (set_parm_default_def_partition): Ditto. (get_parm_default_def_partitions): Ditto and make it static. (get_undefined_value_partitions): Ditto and make it static. (coalesce_with_default, coalesce_with_default): Update comment. (create_coalesce_list_for_region): New func factored out from create_outofssa_var_map. (populate_coalesce_list_for_outofssa): New func factored out from create_outofssa_var_map and coalesce_ssa_name. (create_outofssa_var_map): Delete. (coalesce_ssa_name): Refactor to support live range computation. * tree-ssa-coalesce.h (coalesce_ssa_name): Change decl. (get_parm_default_def_partitions): Delete. (get_undefined_value_partitions): Ditto. * tree-ssa-live.c (init_var_map, delete_var_map): Support live range computation for loop region. (new_tree_live_info, loe_visit_block): Ditto. (live_worklist, set_var_live_on_entry): Ditto. (calculate_live_on_exit, verify_live_on_entry): Ditto. * tree-ssa-live.h (struct _var_map): New fields. (init_var_map): Change decl. (region_contains_p): New. From-SVN: r260747
Bin Cheng committed -
From-SVN: r260746
Bin Cheng committed -
2018-05-25 Richard Biener <rguenther@suse.de> PR c++/85912 * tree-dump.c (dequeue_and_dump): Remove access to removed operand 2 of a SWITCH_EXPR. From-SVN: r260744
Richard Biener committed -
Once it is sure that the result will be infinity, stop computation and return the result. This ensure that the function call duration is bounded. Before that change on some cases the computation was taking more than a few seconds. 2018-05-25 Nicolas Roche <roche@adacore.com> gcc/ada/ * libgnat/s-valrea.adb (Scan_Real): Abort computation once it is sure that the result will be either -infinite or +infinite. From-SVN: r260743
Nicolas Roche committed -
This patch removes the restriction introduced recently that limited the size of the secondary stack to 2GB. The size of the secondary stack is now limited to half of the size of the memory address space for the target. 2018-05-25 Patrick Bernardi <bernardi@adacore.com> gcc/ada/ * libgnat/s-parame.ads, libgnat/s-parame__vxworks.ads, libgnat/s-parame__ae653.ads, libgnat/s-parame__hpux.ads (Size_Type): Expand range of type to match the address space of the target. (Task_Storage_Size): Remove unused type. gcc/testsuite/ * gnat.dg/sec_stack1.adb: New testcase. From-SVN: r260742
Patrick Bernardi committed
-