- 28 May, 2018 1 commit
-
-
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 23 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 -
This patch fixes a spurious error in a fixed-point operand of a multiplying operator M when the operand is an adding operation and the context imposes a different fixed-point type to the result of M. 2018-05-25 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_res.adb (Set_Mixed_Mode_Operand): If the operand is an expression of a fixed point type and the parent is a multiplying operation, resolve the operand with its own type because the context will impose a resulting type on the result of the multiplication by means of approriate conversion. gcc/testsuite/ * gnat.dg/fixedpnt4.adb: New testcase. From-SVN: r260741
Ed Schonberg committed -
This patch modifies the expansion of default-initialized array objects when pragma Initialize_Scalars or Normalize_Scalars is in effect to suppress the generation of checks on the constructed in-place aggregate. The aggregate intentionally contains invalid values which may not necessarily fit the constraints of a particular component type. Check suppression ensures that no spurious checks are generated, and that the effects of the pragmas are carried out. ------------ -- Source -- ------------ -- gnat.adc pragma Initialize_Scalars; -- init_scalar.adb with Ada.Text_IO; use Ada.Text_IO; procedure Init_Scalar is type Fixed is delta 0.25 range -12.0 .. 1270.0; type Fixed_Array is array (1 .. 1) of Fixed; begin begin declare Obj : Fixed; pragma Unreferenced (Obj); begin null; end; exception when others => Put_Line ("ERROR: Fixed raised exception"); end; begin declare Obj : Fixed_Array; pragma Unreferenced (Obj); begin null; end; exception when others => Put_Line ("ERROR: Fixed_Array raised exception"); end; end Init_Scalar; ----------------- -- Compilation -- ----------------- $ gnatmake -q init_scalar.adb $ ./init_scalar 2018-05-25 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * exp_ch3.adb (Default_Initialize_Object): Ensure that the analysis of the in-place initialization aggregate created for pragmas Initialize_Scalars or Normalize_Scalars is performed with checks suppressed. From-SVN: r260740
Hristian Kirtchev committed -
2018-05-25 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * exp_aggr.adb (Convert_To_Positional): Bump default for Max_Others_Replicate to 32. Update comments. * osint.ads (Unknown_Attributes): No longer pretend this is a constant. (No_File_Info_Cache): Initialize separately. * osint.adb (No_File_Info_Cache): Update initializer. From-SVN: r260739
Arnaud Charlet committed
-