- 13 Aug, 2015 15 commits
-
-
gcc/ * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for I6400. From-SVN: r226860
Robert Suchanek committed -
* gcc.target/aarch64/atomic-inst-cas.c: New. * gcc.target/aarch64/atomic-inst-ops.inc: New. From-SVN: r226859
Matthew Wahab committed -
(aarch64_gen_atomic_cas): Declare. * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Choose appropriate instruction pattern for the target. (aarch64_gen_atomic_cas): New. * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New. (atomic_compare_and_swap<mode>_1): Rename to aarch64_compare_and_swap<mode>. Fix some indentation. (aarch64_compare_and_swap<mode>_lse): New. (aarch64_atomic_cas<mode>): New. From-SVN: r226858
Matthew Wahab committed -
* config/aarch64/aarch64.h (AARCH64_ISA_LSE): New. (TARGET_LSE): New. From-SVN: r226857
Matthew Wahab committed -
From-SVN: r226856
Andreas Schwab committed -
2015-08-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/62164 * g++.dg/torture/pr62164.C: New. From-SVN: r226855
Paolo Carlini committed -
2015-08-13 Richard Biener <rguenther@suse.de> PR tree-optimization/67191 * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove assert we value-numbered last stmts operand because it can validly trigger for unreachable code. * gcc.dg/torture/pr67191.c: New testcase. * g++.dg/torture/pr67191.C: Likewise. From-SVN: r226854
Richard Biener committed -
PR rtl-optimization/67103 * ifcvt.c (noce_try_store_flag_constants): Move x = (-(test != 0) & (b - a)) + a transformation to... (noce_try_cmove): ... Here. Try it if normal conditional move fails. From-SVN: r226853
Kyrylo Tkachov committed -
tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order. 2015-08-12 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order. (sccvn_dom_walker::cond_stack): New state to track temporary expressions. (sccvn_dom_walker::after_dom_children): Remove tempoary expressions no longer valid. (sccvn_dom_walker::record_cond): Add a single temporary conditional expression. (sccvn_dom_walker::record_conds): Add a temporary conditional expressions and all related expressions also true/false. (sccvn_dom_walker::before_dom_children): Record temporary expressions based on the controlling condition of a single predecessor. When trying to simplify a conditional statement lookup expressions we might have inserted earlier. * testsuite/gcc.dg/tree-ssa/ssa-fre-47.c: New testcase. * testsuite/gcc.dg/tree-ssa/ssa-fre-48.c: Likewise. * testsuite/gcc.dg/tree-ssa/ssa-fre-49.c: Likewise. * testsuite/g++.dg/tree-ssa/pr61034.C: Adjust. * testsuite/gcc.dg/fold-compare-2.c: Likewise. * testsuite/gcc.dg/pr50763.c: Likewise. * testsuite/gcc.dg/predict-3.c: Likewise. * testsuite/gcc.dg/tree-ssa/20030709-2.c: Likewise. * testsuite/gcc.dg/tree-ssa/pr19831-3.c: Likewise. * testsuite/gcc.dg/tree-ssa/pr20657.c: Likewise. * testsuite/gcc.dg/tree-ssa/pr21001.c: Likewise. * testsuite/gcc.dg/tree-ssa/pr37508.c: Likewise. * testsuite/gcc.dg/tree-ssa/vrp04.c: Likewise. * testsuite/gcc.dg/tree-ssa/vrp07.c: Likewise. * testsuite/gcc.dg/tree-ssa/vrp09.c: Likewise. * testsuite/gcc.dg/tree-ssa/vrp16.c: Likewise. * testsuite/gcc.dg/tree-ssa/vrp20.c: Likewise. * testsuite/gcc.dg/tree-ssa/vrp25.c: Likewise. * testsuite/gcc.dg/tree-ssa/vrp87.c: Likewise. From-SVN: r226852
Richard Biener committed -
gcc/ * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64 pseudo-processors. * config/mips/mips.md (processor): Remove w32 and w64. From-SVN: r226851
Robert Suchanek committed -
2015-08-13 Richard Biener <rguenther@suse.de> PR tree-optimization/66502 PR tree-optimization/67167 * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include backedge arguments. (vn_phi_lookup): Adjust. (vn_phi_insert): Likewise. (visit_phi): Prefer to value-number to another PHI node over value-numbering to a PHI argument. (init_scc_vn): Mark DFS back edges. * gcc.dg/tree-ssa/ssa-fre-46.c: New testcase. From-SVN: r226850
Richard Biener committed -
2015-08-13 Richard Biener <rguenther@suse.de> * gimple.h (gcall::code_): New constant static member. (gcond::code_): Likewise. * gimple.c (gcall::code_): Define. (gcond::code_): Likewise. (is_a_helper <const gcond *>): Add. (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload and forward to a new gcall overload with less checking and a cheaper way to access the operand. (gimple_call_lhs_ptr): Likewise. (gimple_call_set_lhs): Likewise. (gimple_call_internal_p): Likewise. (gimple_call_with_bounds_p): Likewise. (gimple_call_set_with_bounds): Likewise. (gimple_call_internal_fn): Likewise. (gimple_call_set_ctrl_altering): Likewise. (gimple_call_ctrl_altering_p): Likewise. (gimple_call_fntype): Likewise. (gimple_call_fn): Likewise. (gimple_call_fn_ptr): Likewise. (gimple_call_set_fndecl): Likewise. (gimple_call_fndecl): Likewise. (gimple_call_chain): Likewise. (gimple_call_num_args): Likewise. (gimple_call_arg): Likewise. (gimple_call_arg_ptr): Likewise. (gimple_call_set_arg): Likewise. (gimple_call_noreturn_p): Likewise. (gimple_cond_code): Likewise. (gimple_cond_lhs): Likewise. (gimple_cond_rhs): Likewise. (gimple_has_lhs): Reduce checking. From-SVN: r226849
Richard Biener committed -
2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> PR middle-end/25529 * match.pd (div (mult @0 @1) @1) : New simplifier. From-SVN: r226847
Naveen H.S committed -
Between the lowering and flattening passes of the compiler, there are several passes that modify the lowered Go parse tree and as errors are discovered, several nodes transform into error nodes. However, for a higher level node such as a construction expression, the erroneous nodes in the subtrees might not propagate their error. The flatten phase for a node now looks for errors in the subtree and flattens the node into an error node if any are found. Fixes golang/go#11559, golang/go#11536, golang/go#11558. Reviewed-on: https://go-review.googlesource.com/13097 From-SVN: r226845
Ian Lance Taylor committed -
From-SVN: r226844
GCC Administrator committed
-
- 12 Aug, 2015 25 commits
-
-
2015-08-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53330 * g++.dg/init/new42.C: New. From-SVN: r226840
Paolo Carlini committed -
[gcc] 2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/67071 * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New predicate to allow construction of vector constants using the VSLDOI vector shift instruction. * config/rs6000/rs6000-protos.h (vspltis_shifted): Add declaration. * config/rs6000/rs6000.c (vspltis_shifted): New function to return the number of bytes to be shifted left and filled in with either all zero or all one bits. (gen_easy_altivec_constant): Call vsplitis_shifted if no other methods exist. (output_vec_const_move): On power8, generate XXLORC to generate a vector constant with all 1's. Do a split if we need to use a VSLDOI instruction. * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to properly test for the MSB. * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for vector constants that can be created with VSLDOI. [gcc/testsuite] 2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/67071 * gcc.target/powerpc/pr67071-1.c: New file to test PR 67071 new vector constants. * gcc.target/powerpc/pr67071-2.c: Likewise. * gcc.target/powerpc/pr67071-3.c: Likewise. From-SVN: r226836
Michael Meissner committed -
This reverts commit daa5a8a3cf9b04cd9af5544c61e12e6dca14f870. From-SVN: r226834
Trevor Saunders committed -
re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely) PR c++/67104 * constexpr.c (cxx_eval_array_reference): Fix typo. From-SVN: r226833
Jason Merrill committed -
re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely) PR c++/67104 * constexpr.c (cxx_eval_array_reference): Handle sparse CONSTRUCTORs. From-SVN: r226830
Jason Merrill committed -
PR c++/67108 * decl2.c (c_parse_final_cleanups): Set at_eof to 2 at end. * error.c (dump_template_bindings): Don't tsubst in that case. From-SVN: r226829
Jason Merrill committed -
With support from assembler this option allows compiling huge functions, where single literal pool at the beginning of a function may not be reachable by L32R instructions at its end. Currently assembler --auto-litpools option cannot deal with literals used from multiple locations separated by more than 256 KBytes of code. Don't turn constants into literals, instead use MOVI instruction to load them into registers and let the assembler turn them into literals as necessary. 2015-08-12 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/constraints.md (define_constraint "Y"): New constraint. * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. * config/xtensa/linux.h (ASM_SPEC): Likewise. * config/xtensa/predicates.md (move_operand): Match constants and symbols in the presence of TARGET_AUTO_LITPOOLS. * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow immediate references to TLS data. (xtensa_emit_move_sequence): Don't force constants to memory in the presence of TARGET_AUTO_LITPOOLS. (print_operand): Add 'y' format, same as default, but capable of printing SF mode constants as well. * config/xtensa/xtensa.md (movsi_internal, movhi_internal) (movsf_internal): Add movi pattern that loads literal. (movsf, movdf): Don't force constants to memory in the presence of TARGET_AUTO_LITPOOLS. (movdf_internal): Add 'Y' constraint. * config/xtensa/xtensa.opt (mauto-litpools): New option. * doc/invoke.text (Xtensa options): Document -mauto-litpools. From-SVN: r226828
Max Filippov committed -
PR c++/67161 * error.c (dump_decl) [TEMPLATE_ID_EXPR]: Pass TFF_NO_OMIT_DEFAULT_TEMPLATE_ARGUMENTS. From-SVN: r226827
Jason Merrill committed -
PR c++/55095 * c-common.c (maybe_warn_shift_overflow): Properly handle left-shifting 1 into the sign bit. * c-c++-common/Wshift-overflow-6.c: New test. * c-c++-common/Wshift-overflow-7.c: New test. * g++.dg/cpp1y/left-shift-2.C: New test. From-SVN: r226826
Marek Polacek committed -
When parsing a malformed array type, i.e. invalid length, gccgo would loop indefinitely based off of a uninitialized length variable. Fixes golang/go#11539. Reviewed-on: https://go-review.googlesource.com/13066 From-SVN: r226825
Ian Lance Taylor committed -
2015-08-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/52742 * g++.dg/cpp0x/pr52742.C: New. From-SVN: r226824
Paolo Carlini committed -
* config/arm/arm-fpus.def: Replace booleans with feature flags. Update comment. * config/arm/arm.c (ARM_FPU): Update macro. * config/arm/arm.h (TARGET_NEON_FP16): Update feature test. (TARGET_FP16): Likewise. (TARGET_CRYPTO): Likewise. (TARGET_NEON): Likewise. (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add field features. From-SVN: r226821
Matthew Wahab committed -
libstdc++-v3/ChangeLog: 2015-08-11 Caroline Tice <cmtice@google.com> PR 66521, Contributed by Eric Gallager * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and fix the rpath flag to work properly for darwin. * configure: Regenerated. From-SVN: r226820
Caroline Tice committed -
2015-08-12 Tom de Vries <tom@codesourcery.com> PR other/67092 PR other/67098 * configure.ac: Remove --with_host_libstdcxx support. * configure: Regenerate. * doc/install.texi: Remove --with_host_libstdcxx item. Update --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items accordingly. Mention default for --with-stage1-ldflags. From-SVN: r226819
Tom de Vries committed -
* config/arm/arm.h (arm_fpu_feature_set): New. (ARM_FPU_FSET_HAS): New. (FPU_FL_NONE): New. (FPU_FL_NEON): New. (FPU_FL_FP16): New. (FPU_FL_CRYPTO): New. From-SVN: r226818
Matthew Wahab committed -
This patch adds Knights Landing support to __builtin_cpu_is. gcc/testsuite/ * gcc.target/i386/builtin_target.c (check_intel_cpu_model): Check Knights Landing support. libgcc/ * config/i386/cpuinfo.c (processor_types): Add INTEL_KNL. (get_intel_cpu): Add Knights Landing support. From-SVN: r226817
H.J. Lu committed -
2015-08-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/47461 * g++.dg/warn/Wunused-result-1.C: New. From-SVN: r226816
Paolo Carlini committed -
* config/aarch64/aarch64.c (initialize_aarch64_code_model): Break after -mcmodel=large -fPIC sorry. From-SVN: r226815
Kyrylo Tkachov committed -
tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order. 2015-08-12 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order. (sccvn_dom_walker::cond_stack): New state to track temporary expressions. (sccvn_dom_walker::after_dom_children): Remove tempoary expressions no longer valid. (sccvn_dom_walker::record_cond): Add a single temporary conditional expression. (sccvn_dom_walker::record_conds): Add a temporary conditional expressions and all related expressions also true/false. (sccvn_dom_walker::before_dom_children): Record temporary expressions based on the controlling condition of a single predecessor. When trying to simplify a conditional statement lookup expressions we might have inserted earlier. * gcc.dg/tree-ssa/ssa-fre-47.c: New testcase. * gcc.dg/tree-ssa/ssa-fre-48.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-49.c: Likewise. * g++.dg/tree-ssa/pr61034.C: Adjust. * gcc.dg/fold-compare-2.c: Likewise. * gcc.dg/pr50763.c: Likewise. * gcc.dg/predict-3.c: Likewise. * gcc.dg/tree-ssa/20030709-2.c: Likewise. * gcc.dg/tree-ssa/pr19831-3.c: Likewise. * gcc.dg/tree-ssa/pr20657.c: Likewise. * gcc.dg/tree-ssa/pr21001.c: Likewise. * gcc.dg/tree-ssa/pr37508.c: Likewise. * gcc.dg/tree-ssa/vrp04.c: Likewise. * gcc.dg/tree-ssa/vrp07.c: Likewise. * gcc.dg/tree-ssa/vrp09.c: Likewise. * gcc.dg/tree-ssa/vrp16.c: Likewise. * gcc.dg/tree-ssa/vrp20.c: Likewise. * gcc.dg/tree-ssa/vrp25.c: Likewise. * gcc.dg/tree-ssa/vrp87.c: Likewise. From-SVN: r226814
Richard Biener committed -
re PR target/67127 ([ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf) 2015-08-12 Yvan Roux <yvan.roux@linaro.org> PR target/67127 * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking to ARM core registers. From-SVN: r226811
Yvan Roux committed -
* tree-vrp.c (simplify_min_or_max_using_ranges): New. (simplify_stmt_using_ranges): Simplify MIN and MAX exprs. testsuite/ * gcc.dg/vrp-min-max-1.c: New. * gcc.dg/vrp-min-max-2.c: New. From-SVN: r226809
Nathan Sidwell committed -
* c-decl.c (grokdeclarator): Call error_at instead of error and pass LOC to it. From-SVN: r226807
Marek Polacek committed -
* doc/xml/manual/appendix_contributing.xml: Update patch email policy. * doc/xml/manual/status_cxx2017.xml: Update status table. * doc/html/manual/*: Regenerate. From-SVN: r226806
Jonathan Wakely committed -
2015-08-12 Simon Dardis <simon.dardis@imgtec.com> gcc/ * config/mips/mips.c (mips_store_data_bypass_p): Bring code into line with comments. * config/mips/sb1.md: Update usage of mips_store_data_bypass_p. From-SVN: r226805
Simon Dardis committed -
2015-08-12 Richard Biener <rguenther@suse.de> * gimple.h (remove_pointer): New trait. (GIMPLE_CHECK2): New inline template function. (gassign::code_): New constant static member. (is_a_helper<const gassign *>): Add. (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload and forward to a new gassign overload with less checking and a cheaper way to access the operand. (gimple_assign_lhs_ptr): Likewise. (gimple_assign_set_lhs): Likewise. (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1): Likewise. (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2): Likewise. (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3): Likewise. (gimple_assign_rhs_code): Likewise. * gimple.c (gassign::code_): Define. From-SVN: r226802
Richard Biener committed
-