aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-11-29Daily bump.GCC Administrator1-1/+1
From-SVN: r218178
2014-11-29opt-functions.awk (lang_enabled_by): Support || for enabled-by.Tobias Burnus7-55/+61
2014-11-29 Tobias Burnus <burnus@net-b.de> Manuel López-Ibáñez <manu@gcc.gnu.org> gcc/ * opt-functions.awk (lang_enabled_by): Support || for enabled-by. * optc-gen.awk: Ditto. * doc/options.texi (LangEnabledBy, EnabledBy): Document the || syntax. gcc/fortran/ * lang.opt (Wtabs): Combine duplicated item into a single one using || for LangEnabledBy. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r218175
2014-11-28bitmap.c (bitmap_ior, bitmap_ior_and_compl): Zap current as it could be deleted.Mike Stump2-0/+9
From-SVN: r218173
2014-11-28re PR target/64061 (ICE: in gen_rtx_SUBREG, at emit-rtl.c:894 with -O2 -g ↵Vladimir Makarov4-2/+35
-fno-dce -fno-tree-dce) 2014-11-28 Vladimir Makarov <vmakarov@redhat.com> PR target/64061 * lra.c (lra_substitute_pseudo): Ignore constant with int mode for subreg. 2014-11-28 Vladimir Makarov <vmakarov@redhat.com> PR target/64061 * gcc.target/i386/pr64061.c: New. From-SVN: r218171
2014-11-28re PR target/64093 (ICE error: unrecognizable insn with -mcpu=cell)Segher Boessenkool2-2/+13
PR target/64093 * config/rs6000/rs6000.md (and<mode>3): Don't generate and<mode>3_imm unless rs6000_gen_cell_microcode is true. From-SVN: r218164
2014-11-28c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR instead of ↵Marek Polacek4-1/+74
unsigned_type_node. * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR instead of unsigned_type_node. * c-c++-common/ubsan/shift-8.c: New test. From-SVN: r218163
2014-11-28re PR rtl-optimization/64087 (ICE on valid code at -O3 on x86_64-linux-gnu ↵Vladimir Makarov4-9/+70
in in lra_create_live_ranges, at lra-lives.c:1330) 2014-11-28 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/64087 * lra-lives.c (process_bb_lives): Add debug output. (lra_create_live_ranges): Don't remove dead insn on the second call of lra_create_live_ranges_1. 2014-11-28 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/64087 * gcc.dg/pr64087.c: New. From-SVN: r218162
2014-11-28Pass unpromoted argument to promote_function_modeH.J. Lu4-2/+40
This patch updates setup_incoming_promotions in combine.c to match what is actually passed in assign_parm_setup_reg in function.c. gcc/ PR rtl-optimization/64037 * combine.c (setup_incoming_promotions): Pass the argument before any promotions happen to promote_function_mode. gcc/testsuite/ PR rtl-optimization/64037 * g++.dg/pr64037.C: New test. From-SVN: r218161
2014-11-28tree-vect-data-refs.c (vect_transform_grouped_load): Limit shift ↵Evgeny Stupachenko4-22/+10
permutations to loads group of size 3. gcc/ * tree-vect-data-refs.c (vect_transform_grouped_load): Limit shift permutations to loads group of size 3. gcc/testsuite/ * gcc.target/i386/pr52252-atom-1.c: Delete. From-SVN: r218160
2014-11-28[ARM] Optimize copysign/copysignf for soft-float using BFIJiong Wang4-0/+112
gcc/ * config/arm/arm.md (copysignsf3): New pattern. (copysigndf3): Likewise. gcc/testsuite/ * gcc.target/arm/copysign_softfloat_1.c: New copysign/copysignf testcase for soft-float. From-SVN: r218159
2014-11-28omp-low.c (lower_omp_critical): Mark critical sections inside target ↵Andrey Turetskiy2-10/+20
functions as offloadable. gcc/ * omp-low.c (lower_omp_critical): Mark critical sections inside target functions as offloadable. libgomp/ * testsuite/libgomp.c/target-critical-1.c: New test. Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com> From-SVN: r218158
2014-11-28Update gcc.target/i386/pr63661.cH.J. Lu2-3/+13
* gcc.target/i386/pr63661.c: Replace -mtune=native with -mtune=nehalem. (foo): Replace "!=" with delta. (main): Remove __builtin_printf. From-SVN: r218157
2014-11-28lto-wrapper.c (run_gcc): Set have_lto and have_offload if at least one file ↵Ilya Verbin2-6/+12
contains sections with LTO... gcc/ * lto-wrapper.c (run_gcc): Set have_lto and have_offload if at least one file contains sections with LTO and offload IR, respectively. From-SVN: r218156
2014-11-28Update comments.Arnaud Charlet1-27/+21
From-SVN: r218149
2014-11-28Update copyright notice.Arnaud Charlet1-1/+1
From-SVN: r218148
2014-11-28cgraphunit.c (ipa_passes): Handle flag_generate_offload.Ilya Verbin9-23/+45
gcc/ * cgraphunit.c (ipa_passes): Handle flag_generate_offload. (symbol_table::compile): Set flag_generate_offload if there is something to offload. * common.opt (flag_generate_offload): New Variable declaration. * dwarf2out.c (dwarf2out_finish): Handle flag_generate_offload. * ipa-inline-analysis.c (inline_generate_summary): Do not skip if flag_generate_offload is set. * lto-streamer.c (gate_lto_out): Handle flag_generate_offload. * passes.c (ipa_write_summaries): Do not skip if flag_generate_offload is set. * toplev.c (compile_file): Emit LTO marker if offload info has been previously emitted. Do not emit lto_slim marker if flag_generate_offload is without flag_generate_lto. * tree.c (free_lang_data): Do not skip if flag_generate_offload is set. From-SVN: r218147
2014-11-28[ARM] Add -mcpu=cortex-a17.cortex-a7Kyrylo Tkachov6-2/+18
* config/arm/arm-cores.def (cortex-a17.cortex-a7): New entry. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a17.cortex-a7. * config/arm/t-aprofile: Add cortex-a17.cortex-a7 entry to MULTILIB_MATCHES. From-SVN: r218146
2014-11-28[ARM] Add Cortex-A17 supportKyrylo Tkachov11-5/+801
* config/arm/arm.md (generic_sched): Specify cortexa17 in 'no' list. Include cortex-a17.md. * config/arm/arm.c (arm_issue_rate): Specify 2 for cortexa17. * config/arm/arm-cores.def (cortex-a17): New entry. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=cortex-a17. * config/arm/cortex-a17.md: New file. * config/arm/cortex-a17-neon.md: New file. * config/arm/driver-arm.c (arm_cpu_table): Add entry for cortex-a17. * config/arm/t-aprofile: Add cortex-a17 entries to MULTILIB_MATCHES. From-SVN: r218145
2014-11-28Use native tune. nehalem is not able to triggle the issue in trunk any more.Renlin Li2-2/+7
2014-11-28 Renlin Li <renlin.li@arm.com> PR target/63661 * gcc.target/i386/pr63661.c: Use native tune. From-SVN: r218144
2014-11-28Add testcase for PR63661.Renlin Li2-0/+82
2014-11-28 Renlin Li <renlin.li@arm.com> PR target/63661 * gcc.target/i386/pr63661.c: New test. From-SVN: r218143
2014-11-28re PR c/63862 (C frontend converts shift-count to int while standard wants ↵Marek Polacek10-24/+72
integer promotions) PR c/63862 c-family/ * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR to op1_utype. * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift expression to unsigned_type_node. c/ * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't convert the right operand to integer type. cp/ * typeck.c (cp_build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't convert the right operand to integer type. testsuite/ * gcc.c-torture/execute/shiftopt-1.c: Don't XFAIL anymore. * c-c++-common/ubsan/shift-7.c: New test. From-SVN: r218142
2014-11-28re PR tree-optimization/64084 (match-and-simplify prefers complex matches)Richard Biener5-19/+97
2014-11-28 Richard Biener <rguenther@suse.de> PR middle-end/64084 * genmatch.c (dt_node::gen_kids_1): New function, split out from dt_node::gen_kids. (decision_tree::cmp_node): DT_TRUE are generally not equal. (decision_tree::find_node): Treat DT_TRUE as barrier for node CSE on the same level. (dt_node::append_node): Do not keep DT_TRUE last. (dt_node::gen_kids): Emit code after each DT_TRUE node seen. * gcc.dg/tree-ssa/ssa-ccp-34.c: New testcase. * gcc.dg/tree-ssa/forwprop-31.c: Likewise. From-SVN: r218141
2014-11-28Fix t-aprofile for march=armv8-a+crcRamana Radhakrishnan2-0/+8
2014-11-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/t-aprofile (MULTILIB_MATCHES): New entry for -march=armv8-a+crc. From-SVN: r218139
2014-11-28Daily bump.GCC Administrator1-1/+1
From-SVN: r218137
2014-11-27i386.md (preferred_for_size): New attributeUros Bizjak3-55/+95
* config/i386/i386.md (preferred_for_size): New attribute (*pushxf): Split Yx*r constraints to r,*r. Use preferred_for_size attribute to conditionally disable alternative 1. (*pushdf): Split Yd*r constraints to r,*r. Use preferred_for_size and prefered_for_speed attributes to conditionally disable alternative 1. (*movxf_internal): Split Yx*r constraints to r,*r. Use preferred_for_size attribute to conditionally disable alternatives 3 and 4. (*movdf_internal): Split Yd*r constraints to r,*r. Use preferred_for_size and prefered_for_speed attributes to conditionally disable alternatives 3 and 4. * config/i386/constraints.md (Yd, Yx): Remove register constraints. From-SVN: r218134
2014-11-27* dwarf2out.c (set_block_origin_self): Skip nested functions.Eric Botcazou2-2/+9
From-SVN: r218133
2014-11-27Use R15_REG for REAL_PIC_OFFSET_TABLE_REGNUMH.J. Lu3-4/+8
PR target/63833 * config/i386/i386.h (REAL_PIC_OFFSET_TABLE_REGNUM): Use R15_REG for 64-bit. * config/i386/rdos64.h (REAL_PIC_OFFSET_TABLE_REGNUM): Removed. From-SVN: r218132
2014-11-27Disable pedantic warning for this testcase.Kai Tietz1-0/+1
Committed as obvious patch From-SVN: r218130
2014-11-27IPA ICF: fix memory leak.Martin Liska3-7/+19
* ipa-icf.c (sem_function::equals_private): int* is replaced with auto_vec. (sem_function::bb_dict_test): Likewise. * ipa-icf.h: Likewise. Co-Authored-By: David Malcolm <dmalcolm@redhat.com> From-SVN: r218129
2014-11-27re PR middle-end/64088 (ICE: in fold_abs_const, at fold-const.c:15550)Richard Biener6-11/+71
2014-11-27 Richard Biener <rguenther@suse.de> PR middle-end/64088 * fold-const.c (const_unop): Re-instantiate missing condition before calling fold_abs_const. * gcc.dg/torture/pr64088.c: New testcase. PR tree-optimization/64088 * tree-ssa-tail-merge.c (update_debug_stmt): After resetting the stmt break from the loop over use operands. * gcc.dg/torture/pr64091.c: New testcase. From-SVN: r218128
2014-11-27Support avx512f in __builtin_cpu_supports.Ilya Tocar7-24/+61
gcc/ * config/i386/cpuid.h (bit_MPX, bit_BNDREGS, bit_BNDCSR): Define. * config/i386/i386.c (get_builtin_code_for_version): Add avx512f. (fold_builtin_cpu): Ditto. * doc/extend.texi: Documment it. gcc/testsuite/ * g++.dg/ext/mv2.C: Add test for target ("avx512f"). * gcc.target/i386/builtin_target.c: Ditto. libgcc/ * config/i386/cpuinfo.c (processor_features): Add FEATURE_AVX512F. * config/i386/cpuinfo.c (get_available_features): Detect it. From-SVN: r218125
2014-11-27re PR c++/63904 (ICE when accessing array member of constexpr struct)Kai Tietz2-3/+9
2014-11-27 Kai Tietz <ktietz@redhat.com> PR c++/63904 * constexpr.c (cxx_eval_vec_init_1): Avoid type-overflow issue. From-SVN: r218123
2014-11-27re PR c++/63904 (ICE when accessing array member of constexpr struct)Kai Tietz2-0/+18
PR c++/63904 * g++.dg/cpp0x/pr63904.C: New. From-SVN: r218122
2014-11-27re PR middle-end/64067 (ICE in expand_expr_real_1, at expr.c:10540, ↵Jakub Jelinek4-5/+26
involving compound literal shenanigans) PR middle-end/64067 * expr.c (expand_expr_addr_expr_1) <case COMPOUND_LITERAL_EXPR>: Handle it by returning address of COMPOUND_LITERAL_EXPR_DECL not only if modifier is EXPAND_INITIALIZER, but whenever COMPOUND_LITERAL_EXPR_DECL is non-NULL and TREE_STATIC. * gcc.c-torture/compile/pr64067.c: New test. From-SVN: r218121
2014-11-27re PR tree-optimization/64024 (gcc.dg/vect/vect-simd-clone-6.c ICEs)Jakub Jelinek6-12/+88
PR tree-optimization/64024 * tree-vectorizer.h (struct _stmt_vec_info): Remove simd_clone_fndecl field. Add simd_clone_info field. (STMT_VINFO_SIMD_CLONE_FNDECL): Remove. (STMT_VINFO_SIMD_CLONE_INFO): Define. * tree-vect-stmts.c (vectorizable_simd_clone_call): Adjust for STMT_VINFO_SIMD_CLONE_FNDECL becoming first element of STMT_VINFO_SIMD_CLONE_INFO vector. For linear arguments, remember base and linear_step from analysis phase and use it during transform phase, biased by the difference between LOOP_VINFO_NITERS{_UNCHANGED,} multiplied by linear_step. (free_stmt_vec_info): Release STMT_VINFO_SIMD_CLONE_INFO. * gcc.dg/vect/vect-simd-clone-13.c: New test. * gcc.dg/vect/vect-simd-clone-14.c: New test. From-SVN: r218120
2014-11-27re PR lto/64025 (Several testsuite execution failures with -O2 -flto ↵Jakub Jelinek2-5/+11
-fuse-linker-plugin -fno-fat-lto-objects) PR lto/64025 * alias.c (find_base_term): Use std::swap. Prefer tmp2 if it is CONSTANT_P other than CONST_INT. From-SVN: r218119
2014-11-27re PR target/59593 ([arm big-endian] using "ldrh" access a immediate which ↵Thomas Preud'homme6-37/+88
stored in a memory by word) 2014-11-27 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR target/59593 * config/arm/arm.c (dump_minipool): dispatch to consttable pattern based on mode size. * config/arm/arm.md (consttable_1): Move from config/arm/thumb1.md and make it TARGET_EITHER. (consttable_2): Move from config/arm/thumb1.md, make it TARGET_EITHER and move HFmode handling from consttable_4 to it. (consttable_4): Move HFmode handling to consttable_2 pattern. * config/arm/thumb1.md (consttable_1): Move to config/arm/arm.md. (consttable_2): Ditto. gcc/testsuite/ PR target/59593 * gcc.target/arm/constant-pool.c: New test. From-SVN: r218118
2014-11-27[AArch64][test] Mark variable as volatile in vsqrt_f64 testKyrylo Tkachov2-1/+5
* gcc.target/aarch64/simd/vsqrt_f64_1.c: Mark variable volatile. From-SVN: r218117
2014-11-27tree-ssa-sccvn.c (try_to_simplify): Allow gimple_fold_stmt_to_constant_1 to ↵Richard Biener2-1/+6
follow SSA edges. 2014-11-27 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.c (try_to_simplify): Allow gimple_fold_stmt_to_constant_1 to follow SSA edges. From-SVN: r218116
2014-11-27re PR middle-end/64083 (ICE: in fix_loop_structure, at loop-init.c:252 ↵Richard Biener4-9/+29
compiling Linux Kernel) 2014-11-27 Richard Biener <rguenther@suse.de> PR tree-optimization/64083 * tree-ssa-threadupdate.c (thread_through_all_blocks): Do not forcibly mark loop for removal the wrong way. * gcc.dg/torture/pr64083.c: New testcase. From-SVN: r218115
2014-11-27re PR lto/63704 (-flto internal compiler error: in ↵Richard Biener2-11/+9
mems_in_disjoint_alias_sets_p, at alias.c:398) 2014-11-27 Richard Biener <rguenther@suse.de> PR middle-end/63704 * alias.c (mems_in_disjoint_alias_sets_p): Remove assert and instead return false when !fstrict-aliasing. From-SVN: r218114
2014-11-27re PR tree-optimization/61634 (ICE in in vect_get_vec_def_for_operand, at ↵Richard Biener4-35/+141
tree-vect-stmts.c:1423) 2014-11-27 Richard Biener <rguenther@suse.de> PR tree-optimization/61634 * tree-vect-slp.c: Include gimple-walk.h. (vect_detect_hybrid_slp_stmts): Rewrite to propagate hybrid down the SLP tree for one scalar statement. (vect_detect_hybrid_slp_1): New walker function. (vect_detect_hybrid_slp_2): Likewise. (vect_detect_hybrid_slp): Properly handle pattern statements in a pre-scan over all loop stmts. * gcc.dg/vect/pr61634.c: New testcase. From-SVN: r218113
2014-11-27revert: aarch64.c (aarch64_code_to_ccmode, [...]): New functions.Zhenqiang Chen2-138/+9
Revert: 2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org> * config/aarch64/aarch64.c (aarch64_code_to_ccmode, aarch64_convert_mode, aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions. (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Define. From-SVN: r218111
2014-11-26* g++.dg/ext/alignof2.C: xfail-run-if on AIX.David Edelsohn2-0/+5
From-SVN: r218109
2014-11-27Daily bump.GCC Administrator1-1/+1
From-SVN: r218108
2014-11-26Allow partial specialization of variable templates.Jason Merrill10-76/+214
* cp-tree.h (TINFO_USED_TEMPLATE_ID): New. * decl.c (duplicate_decls): Copy it. * error.c (dump_decl) [TEMPLATE_ID_EXPR]: Handle variables. * parser.c (cp_parser_decltype_expr): Do call finish_id_expression on template-ids. * pt.c (register_specialization): Remember variable template insts. (instantiate_template_1): Find the matching partial specialization. (check_explicit_specialization): Allow variable partial specialization. (process_partial_specialization): Likewise. (push_template_decl_real): Likewise. (more_specialized_partial_spec): Rename from more_specialized_class. (most_specialized_partial_spec): Rename from most_specialized_class. (get_partial_spec_bindings): Rename from get_class_bindings. From-SVN: r218104
2014-11-26re PR c++/63757 (nullptr conversion sequence fails to compile)Paolo Carlini4-1/+32
/cp 2014-11-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/63757 * call.c (standard_conversion): Do not require expr to be non-null when NULLPTR_TYPE_P (from) is true. /testsuite 2014-11-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/63757 * g++.dg/cpp0x/nullptr33.C: New. From-SVN: r218098
2014-11-26gcc.c (SANITIZER_SPEC): Don't error on -fsanitize=thread without -pie or ↵Jakub Jelinek4-7/+17
-shared... * gcc.c (SANITIZER_SPEC): Don't error on -fsanitize=thread without -pie or -shared, error on -fsanitize=thread -static instead. * lib/tsan-dg.exp (check_effective_target_fsanitize_thread, tsan_init): Don't use -fPIE or -pie. From-SVN: r218097
2014-11-26comment fixesJason Merrill2-2/+2
From-SVN: r218094
2014-11-26constexpr.c (cxx_eval_constant_expression): Avoid multiple evaluation.Jason Merrill2-1/+15
* constexpr.c (cxx_eval_constant_expression) [SAVE_EXPR]: Avoid multiple evaluation. From-SVN: r218093