summaryrefslogtreecommitdiff
path: root/gcc
Commit message (Collapse)AuthorAgeFilesLines
* XAIL addr1.ads and atomic1.ads on x32hjl/x32/adaH.J. Lu2013-11-133-3/+7
|
* Use int64 in timeval and timespec for x32H.J. Lu2013-11-136-4/+2489
|
* 2013-11-13 Martin Jambor <mjambor@suse.cz>jamborm2013-11-134-3/+9
| | | | | | | | | | * gcc.dg/ira-shrinkwrap-prep-1.c: Add lp64 to target requirements. * gcc.dg/ira-shrinkwrap-prep-2.c: Likewise. * gcc.dg/pr10474.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204749 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Martin Jambor <mjambor@suse.cz>jamborm2013-11-138-65/+45
| | | | | | | | | | | | | | * cgraph.c (cgraph_get_create_node): Do what cgraph_get_create_real_symbol_node used to do. (cgraph_get_create_real_symbol_node): Removed. Changed all users to call cgraph_get_create_node. * cgraph.h (cgraph_get_create_real_symbol_node): Removed. * lto-streamer-in.c (input_function): Call cgraph_get_node instead of cgraph_get_create_node. Assert we get a node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204748 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Tejas Belagod <tejas.belagod@arm.com>belagod2013-11-132-0/+20
| | | | | | | | | gcc/ * config/aarch64/aarch64-simd.md (vec_extract): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204747 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Tejas Belagod <tejas.belagod@arm.com>belagod2013-11-132-20/+29
| | | | | | | | | | gcc/ * config/aarch64/aarch64-simd.md (vec_set<mode>): Add w -> w option to the constraint. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204746 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Cesar Philippidis <cesar@codesourcery.com>mshawcroft2013-11-132-1/+8
| | | | | | | | | | * lib/target-supports.exp (check_effective_target_vect_cmdline_neeed): Add AArch64 to the list of targets that do not need command line argument to enable SIMD. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204745 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove ada/ prefixebotcazou2013-11-131-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204743 138bc75d-0d04-0410-961f-82ee72b054a4
* * cfgexpand.c (expand_used_vars): Allocate space for partitions basedebotcazou2013-11-135-5/+52
| | | | | | | | | | | on PARM_DECLs or RESULT_DECLs only if they are ignored for debug info or if optimization is enabled. * tree-ssa-coalesce.c (coalesce_ssa_name): If optimization is disabled, require that all the names based on a PARM_DECL or a RESULT_DECL that isn't ignored for debug info be coalesced. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204742 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Jan-Benedict Glaw <jbglaw@lug-owl.de>jbglaw2013-11-132-0/+5
| | | | | | | | | * config/c6x/c6x.c: Include "gimple-expr.h". [BR]: http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01411.html git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204741 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Richard Biener <rguenther@suse.de>rguenth2013-11-133-82/+14
| | | | | | | | | | | * gimple-streamer-out.c (output_gimple_stmt): Also wrap decls in ADDR_EXPR operands inside a MEM_REF and optimize that. * gimple-streamer-in.c (input_gimple_stmt): Remove now dead code dealing with type mismatches inside component reference chains. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204740 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Marc Glisse <marc.glisse@inria.fr>glisse2013-11-132-0/+6
| | | | | | | | PR tree-optimization/59077 * ipa-pure-const.c (better_state): Update *state. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204739 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-13 Christophe Lyon <christophe.lyon@linaro.org>clyon2013-11-133-4/+11
| | | | | | | | | | * config/aarch64/aarch64.h (FRAME_GROWS_DOWNWARD): Define to 1. * config/aarch64/aarch64.c (aarch64_initial_elimination_offset): Update offset calculations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204737 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/35998ebotcazou2013-11-132-4/+13
| | | | | | | | * dwarf2out.c (add_byte_size_attribute): Also use int_size_in_bytes for fields. Do not add the attribute if the size is negative. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204736 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/arm/arm.c: Include aarch-cost-tables.h.ktkachov2013-11-133-99/+134
| | | | | | | | (generic_extra_costs): Move from here... * config/arm/aarch-cost-tables.h: ... To here. New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204735 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (ix86_print_operand): Support z-masking.kyukhin2013-11-135-262/+1410
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/i386/predicate.md (const_0_to_4_operand): New. (const_0_to_5_operand): Ditto. * config/i386/sse.md (UNSPEC_COMPRESS): New. (UNSPEC_COMPRESS_STORE): Ditto. (UNSPEC_EXPAND): Ditto. (UNSPEC_EMBEDDED_ROUNDING): Ditto. (define_mode_attr ssescalarsize): Ditto. (avx512f_load<mode>_mask): Ditto. (avx512f_store<mode>_mask): Ditto. (avx512f_storedqu<mode>_mask): Ditto. (avx512f_vmcmp<mode>3_mask): Ditto. (avx512f_fmadd_<mode>_mask): Ditto. (avx512f_fmadd_<mode>_mask3): Ditto. (avx512f_fmsub_<mode>_mask): Ditto. (avx512f_fmsub_<mode>_mask3): Ditto. (avx512f_fnmadd_<mode>_mask): Ditto. (avx512f_fnmadd_<mode>_mask3): Ditto. (avx512f_fnmsub_<mode>_mask): Ditto. (avx512f_fnmsub_<mode>_mask3): Ditto. (avx512f_fmaddsub_<mode>_mask): Ditto. (avx512f_fmaddsub_<mode>_mask3): Ditto. (avx512f_fmsubadd_<mode>_mask): Ditto. (avx512f_fmsubadd_<mode>_mask3): Ditto. (vec_unpacku_float_lo_v16si): Ditto. (avx512f_vextract<shuffletype>32x4_mask): Ditto. (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto. (avx512f_vextract<shuffletype>64x4_mask): Ditto. (vec_extract_lo_<mode>_maskm): Ditto. (vec_extract_hi_<mode>_maskm): Ditto. (avx512f_vternlog<mode>_mask): Ditto. (avx512f_shufps512_mask): Ditto. (avx512f_fixupimm<mode>_mask): Ditto. (avx512f_shufpd512_mask): Ditto. (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto. (avx512f_<code>v8div16qi2_mask/trunc): Ditto. (*avx512f_<code>v8div16qi2_store_mask): Ditto. (ashr<mode>3<mask_name>): Ditto. (avx512f_vinsert<shuffletype>32x4_mask): Ditto. (avx512f_vinsert<shuffletype>64x4_mask): Ditto. (avx512f_shuf_<shuffletype>64x2_mask): Ditto. (avx512f_shuf_<shuffletype>32x4_mask): Ditto. (avx512f_pshufdv3_mask): Ditto. (avx512f_perm<mode>_mask): Ditto. (avx512f_vpermi2var<mode>3_mask): Ditto. (avx512f_vpermt2var<mode>3_mask): Ditto. (avx512f_compress<mode>_mask): Ditto. (avx512f_compressstore<mode>_mask): Ditto. (avx512f_expand<mode>_mask): Ditto. (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Extend to support masking. (avx512f_storeu<ssemodesuffix>512_mask): Ditto. (<plusminus_insn><mode>3<mask_name>): Ditto. (*<plusminus_insn><mode>3<mask_name>): Ditto. (mul<mode>3<mask_name>): Ditto. (*mul<mode>3<mask_name>): Ditto. (<sse>_div<mode>3<mask_name>): Ditto. (<mask_codefor>rcp14<mode><mask_name>): Ditto. (<sse>_sqrt<mode>2<mask_name>): Ditto. (<mask_codefor>rsqrt14<mode><mask_name>): Ditto. (<code><mode>3<mask_name>/smaxmin): Ditto. (*<code><mode>3_finite<mask_name>/smaxmin): Ditto. (*<code><mode>3<mask_name>/smaxmin): Ditto. (float<sseintvecmodelower><mode>2<mask_name>): Ditto. (ufloatv16siv16sf2<mask_name>): Ditto. (<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name>): Ditto. (<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name>): Ditto. (<fixsuffix>fix_truncv16sfv16si2<mask_name>): Ditto. (float<si2dfmodelower><mode>2<mask_name>): Ditto. (ufloatv8siv8df<mask_name>): Ditto. (<mask_codefor>avx512f_cvtpd2dq512<mask_name>): Ditto. (avx512f_ufix_notruncv8dfv8si<mask_name>): Ditto. (<fixsuffix>fix_truncv8dfv8si2<mask_name>): Ditto. (<mask_codefor>avx512f_cvtpd2ps512<mask_name>): Ditto. (<sse2_avx_avx512f>_cvtps2pd<avxsizesuffix><mask_name>): Ditto. (<mask_codefor>avx512f_unpckhps512<mask_name>): Ditto. (<mask_codefor>avx512f_unpcklps512<mask_name>): Ditto. (<mask_codefor>avx512f_movshdup512<mask_name>): Ditto. (<mask_codefor>avx512f_movsldup512<mask_name>): Ditto. (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto. (vec_extract_lo_<mode><mask_name>): Ditto. (vec_extract_hi_<mode><mask_name>): Ditto. (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto. (avx512f_movddup512<mask_name>): Ditto. (avx512f_unpcklpd512<mask_name>): Ditto. (*avx512f_unpcklpd512<mask_name>): Ditto. (*avx512f_vmscalef<mode>): Ditto. (avx512f_scalef<mode><mask_name>): Ditto. (avx512f_getexp<mode><mask_name>): Ditto. (<mask_codefor>avx512f_align<mode><mask_name>): Ditto. (avx512f_rndscale<mode><mask_name>): Ditto. (avx512f_shufps512_1<mask_name>): Ditto. (avx512f_shufpd512_1<mask_name>): Ditto. (<plusminus_insn><mode>3<mask_name>): Ditto. (*<plusminus_insn><mode>3<mask_name>): Ditto. (vec_widen_umult_even_v16si<mask_name>): Ditto. (*vec_widen_umult_even_v16si<mask_name>): Ditto. (vec_widen_smult_even_v16si<mask_name>): Ditto. (*vec_widen_smult_even_v16si<mask_name>): Ditto. (mul<mode>3<mask_name>): Ditto. (*<sse4_1_avx2>_mul<mode>3<mask_name>): Ditto. (<shift_insn><mode>3<mask_name>): Ditto. (avx512f_<rotate>v<mode><mask_name>/rotate): Ditto. (avx512f_<rotate><mode><mask_name>): Ditto. (<code><mode>3<mask_name>/maxmin): Ditto. (*avx2_<code><mode>3<mask_name>/maxmin): Ditto. (<sse2_avx2>_andnot<mode>3<mask_name>): Ditto. (*andnot<mode>3<mask_name>): Ditto. (<mask_codefor><code><mode>3<mask_name>/any_logic): Ditto. (<mask_codefor>avx512f_interleave_highv16si<mask_name>): Ditto. (<mask_codefor>avx512f_interleave_lowv16si<mask_name>): Ditto. (<mask_codefor>avx512f_vinsert<shuffletype>32x4_1<mask_name>): Ditto. (vec_set_lo_<mode><mask_name>): Ditto. (vec_set_hi_<mode><mask_name>): Ditto. (avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ditto. (avx512f_shuf_<shuffletype>32x4_1<mask_name>): Ditto. (avx512f_pshufd_1<mask_name>): Ditto. (<mask_codefor>abs<mode>2<mask_name>): Ditto. (<mask_codefor>avx512f_<code>v16qiv16si2<mask_name>): Ditto. (avx512f_<code>v16hiv16si2<mask_name>/any_extend): Ditto. (avx512f_<code>v8qiv8di2<mask_name>/any_extend): Ditto. (avx512f_<code>v8hiv8di2<mask_name>/any_extend): Ditto. (avx512f_<code>v8siv8di2<mask_name>/any_extend): Ditto. (avx512er_exp2<mode><mask_name>): Ditto. (<mask_codefor>avx512er_rcp28<mode><mask_name>): Ditto. (<mask_codefor>avx512er_rsqrt28<mode><mask_name>): Ditto. (<avx2_avx512f>_permvar<mode><mask_name>): Ditto. (<avx2_avx512f>_perm<mode>_1<mask_name>): Ditto. (<mask_codefor>avx512f_vec_dup<mode><mask_name>): Ditto. (<mask_codefor>avx512f_broadcast<mode><mask_name>/V16FI): Ditto. (<mask_codefor>avx512f_broadcast<mode><mask_name>/V8FI): Ditto. (<mask_codefor>avx512f_vec_dup_gpr<mode><mask_name>): Ditto. (<mask_codefor>avx512f_vec_dup_mem<mode><mask_name>): Ditto. (<sse2_avx_avx512f>_vpermil<mode><mask_name>/VF2): Ditto. (<sse2_avx_avx512f>_vpermil<mode><mask_name>/VF1): Ditto. (*<sse2_avx_avx512f>_vpermilp<mode><mask_name>): Ditto. (<sse2_avx_avx512f>_vpermilvar<mode>3<mask_name>): Ditto. (<avx2_avx512f>_ashrv<mode><mask_name>): Ditto. (<avx2_avx512f>_<shift_insn>v<mode><mask_name>): Ditto. (<mask_codefor>avx512f_vcvtph2ps512<mask_name>): Ditto. (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Ditto. (avx512f_getmant<mode><mask_name>): Ditto. (clz<mode>2<mask_name>): Ditto. (<mask_codefor>conflict<mode><mask_name>): Ditto. (*srcp14<mode>): Remove visibility. (*rsqrt14<mode>): Ditto. (*fma_fmsub_<mode>): Ditto. (*fma_fnmadd_<mode>): Ditto. (*avx512f_rndscale<mode>): Ditto. * config/i386/subst.md: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204734 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/c11-complex-1.c: New test.jsm282013-11-132-0/+46
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204732 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (Statement Exprs, Typeof): Discuss __auto_type.jsm282013-11-1314-47/+410
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ginclude/stdatomic.h (kill_dependency, atomic_store_explicit) (atomic_load_explicit, atomic_exchange_explicit) (atomic_compare_exchange_strong_explicit) (atomic_compare_exchange_weak_explicit): Use __auto_type to declare variable initialized with PTR argument. c-family: * c-common.h (enum rid): Add RID_AUTO_TYPE. * c-common.c (c_common_reswords): Add __auto_type. (keyword_begins_type_specifier): Handle RID_AUTO_TYPE. c: * c-tree.h (c_typespec_keyword): Add cts_auto_type. * c-decl.c (declspecs_add_type, finish_declspecs): Handle __auto_type. * c-parser.c (c_token_starts_typename, c_token_starts_declspecs) (c_parser_attribute_any_word, c_parser_objc_selector): Handle RID_AUTO_TYPE. (c_parser_declspecs): Take argument AUTO_TYPE_OK. (c_parser_declaration_or_fndef, c_parser_struct_declaration) (c_parser_declarator, c_parser_direct_declarator_inner) (c_parser_parameter_declaration, c_parser_type_name): All callers changed. (c_parser_declaration_or_fndef): Handle declarations with type determined from the initializer. testsuite: * gcc.dg/atomic/stdatomic-vm.c, gcc.dg/auto-type-1.c, gcc.dg/auto-type-2.c: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204731 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-12 Rong Xu <xur@google.com>xur2013-11-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch re-factors libgcov.c to make it better modulelized. It contains two pieces of work: 1. break gcov_exit() into the following structure: gcov_exit() --> gcov_exit_compute_summary() --> allocate_filename_struct() for gi_ptr in gcov_list --> gcov_exit_dump_gcov() --> gcov_exit_open_gcda_file() --> gcov_exit_merge_gcda () --> gcov_exit_merge_summary () --> gcov_exit_write_gcda () 2. split libgcov.c into the following files: libgcov-profiler.c libgcov-merge.c libgcov-interface.c libgcov-driver.c libgcov-driver-system.c (source included into libgcov-driver.c) * libgcc/libgcov.c: Delete as part of re-factoring. * gcc/gcov-io.h (__gcov_indirect_call_profiler): Add the decl to avoid warning. * libgcc/libgcov-interface.c (init_mx): Moved from libgcov.c. (init_mx_once): Ditto. (__gcov_flush): Ditto. (__gcov_reset): Ditto. (__gcov_dump): Ditto. (__gcov_fork): Ditto. (__gcov_execl): Ditto. (__gcov_execlp): Ditto. (__gcov_execle): Ditto. (__gcov_execv): Ditto. (__gcov_execvp): Ditto. (__gcov_execve): Ditto. * libgcc/libgcov-merge.c (__gcov_merge_time_profile): Moved from libgcov.c. (__gcov_merge_add): Ditto. (__gcov_merge_ior): Ditto. (__gcov_merge_single): Ditto. (__gcov_merge_delta): Ditto. * libgcc/libgcov-profiler.c (__gcov_interval_profiler): Ditto. (__gcov_pow2_profiler): Ditto. (__gcov_one_value_profiler_body): Ditto. (__gcov_one_value_profiler): Ditto. (__gcov_indirect_call_profiler): Ditto. (__gcov_indirect_call_profiler_v2): Ditto. (__gcov_time_profiler): Ditto. (__gcov_average_profiler): Ditto. (__gcov_ior_profiler): Ditto. * libgcc/libgcov-driver.c (set_gcov_list): New. (get_gcov_dump_complete): Ditto. (set_gcov_dump_complete):Ditto. (reset_gcov_dump_complete):Ditto. (gcov_exit_compute_summary): New function split from gcov_exit(). (gcov_exit_merge_gcda): Ditto. (gcov_exit_write_gcda): Ditto. (gcov_exit_merge_summary): Ditto. (gcov_exit_dump_gcov): Ditto. (struct gcov_fn_buffer): Moved from libgcov.c (struct gcov_summary_buffer): Ditto. (free_fn_data): Ditto. (buffer_fn_data): Ditto. (crc32_unsigned): Ditto. (gcov_version): Ditto. (gcov_histogram_insert): Ditto. (gcov_compute_histogram): Ditto. (gcov_exit): Ditto. (gcov_clear): Ditto. (__gcov_init): Ditto. (this_prg): Make it file scope static variable. (all_prg): Ditto. (crc32): Ditto. (gi_filename): Ditto. (fn_buffer): Ditto. (sum_buffer): Ditto. (struct gcov_filename_aux): New types to store auxiliary information for gi_filename. * libgcc/libgcov-driver-system.c (gcov_error): New utility function. (allocate_filename_struct): New function split from gcov_exit(). (gcov_exit_open_gcda_file): Ditto. (create_file_directory): Moved from libgcov.c * libgcc/Makefile.in: Change to build newly added files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204730 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2013-11-131-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204729 138bc75d-0d04-0410-961f-82ee72b054a4
* +2013-11-12 Balaji V. Iyer <balaji.v.iyer@intel.com>bviyer2013-11-122-2/+9
| | | | | | | | | | | + + * gcc.dg/cilk-plus/cilk-plus.exp: Added a check for LTO before running + LTO tests. + git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204725 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-threadedge.c (thread_around_empty_blocks): Newlaw2013-11-122-18/+38
| | | | | | | | | argument backedge_seen_p. Set, use and pass it to children appropriately. (thread_through_normal_block): Similarly. (thread_across_edge): Similarly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204724 138bc75d-0d04-0410-961f-82ee72b054a4
* * gimple-ssa-isolate-paths.c (check_loadstore): Mark discoveredlaw2013-11-125-5/+24
| | | | | | | | | | | memory references as volatile. (insert_trap_and_remove_trailing_statements): Fix comment. * gcc.dg/tree-ssa/isolate-1.c: Update expected output. * gcc.dg/tree-ssa/isolate-5.c: Verify the load survives through the SSA optimizers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204722 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Update for mainline changes.ian2013-11-123-0/+3
| | | | | | | From Andrew MacLeod. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204721 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-12 Vladimir Makarov <vmakarov@redhat.com>vmakarov2013-11-122-0/+9
| | | | | | | | | | PR other/58712 * ira-costs.c (record_operand_costs): Check operands number for the single set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204720 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-12 Michael Meissner <meissner@linux.vnet.ibm.com>meissner2013-11-124-27/+46
| | | | | | | | | | | | | | | | | | | | | | PR target/59054 * config/rs6000/rs6000.md (movdi_internal32): Eliminate constraints that would allow DImode into the traditional Altivec registers, but cause undesirable code generation when loading 0 as a constant. (movdi_internal64): Likewise. (cmp<mode>_fpr): Do not use %x for CR register output. (extendsfdf2_fpr): Fix constraints when -mallow-upper-df and -mallow-upper-sf debug switches are used. [gcc/testsuite] 2013-11-12 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/59054 * gcc.target/powerpc/pr59054.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204718 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-12 Andrew MacLeod <amacleod@redhat.com>amacleod2013-11-12126-678/+870
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gimple-expr.h (create_tmp_var_name, create_tmp_var_raw, create_tmp_var, create_tmp_reg, mark_addressable, is_gimple_reg_rhs): Relocate prototypes from gimple.h. * gimplify.h: New File. Relocate some prototypes from gimple.h here. (gimple_predicate, enum fallback, enum gimplify_status): Relocate from gimple.h. * gimple.h: Move some prototypes to gimplify.h. (gimple_predicate, enum fallback, enum gimplify_status): Move to gimplify.h. (gimple_do_not_emit_location_p, gimple_set_do_not_emit_location): Relocate from gimpify.c. * gimple-expr.c (remove_suffix, tmp_var_id_num, create_tmp_var_name, create_tmp_var_raw, create_tmp_var, create_tmp_reg, mark_addressable, is_gimple_reg_rhs) Relocate from gimplify.c. * gimplify.c (mark_addressable): Move to gimple-expr.c. (gimple_seq_add_stmt_without_update): Move to gimple.c. (remove_suffix, tmp_var_id_num, create_tmp_var_name, create_tmp_var_raw, create_tmp_var, create_tmp_reg, is_gimple_reg_rhs): Move to gimple-expr.c. (should_carry_location_p): Move to gimple.c. (gimple_do_not_emit_location_p, gimple_set_do_not_emit_location): Move to gimple.h. (annotate_one_with_location, annotate_all_with_location_after, annotate_all_with_location): Move to gimple.c. (compare_case_labels, sort_case_labels, preprocess_case_label_vec_for_gimple): Move to gimple.c. (rhs_predicate_for): Make static. (gimplify_assign): Relocate from gimple.c. * gimple.c (gimplify_assign): Move to gimplify.c. (gimple_seq_add_stmt_without_update, should_carry_location_p, annotate_one_with_location, annotate_all_with_location_after, annotate_all_with_location, compare_case_labels, sort_case_labels, preprocess_case_label_vec_for_gimple): Relocate from gimplify.c. * tree.h (unshare_expr, unshare_expr_without_location, mark_addressable): Move prototypes to gimplify.h. * Makefile.in (GTFILES): gimple-expr.c now has the GTY tag for tmp_var_id_num * asan.c: Include gimplify.h rather than gimple.h. * cfgloopmanip.c: Likewise. * cgraphunit.c: Likewise. * cilk-common.c: Likewise. * dwarf2out.c: Dont include gimple.h. * fold-const.c: Include gimplify.h rather than gimple.h. * function.c: Likewise. * gimple-fold.c: Likewise. * gimple-ssa-strength-reduction.c: Likewise. * graphite-clast-to-gimple.c: Likewise. * graphite-sese-to-poly.c: Likewise. * ipa-prop.c: Likewise. * ipa-split.c: Likewise. * ipa.c: Likewise. * langhooks.c: Dont include gimple.h. * loop-init.c: Include gimplify.h rather than gimple.h. * omp-low.c: Likewise. * sese.c: Likewise. * stor-layout.c: Likewise. * targhooks.c: Likewise. * trans-mem.c: Likewise. * tree-affine.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-complex.c: Likewise. * tree-if-conv.c: Likewise. * tree-inline.c: Likewise. * tree-iterator.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-nested.c: Likewise. * tree-parloops.c: Likewise. * tree-predcom.c: Likewise. * tree-profile.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-address.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-ifcombine.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-loop-unswitch.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-phiprop.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-strlen.c: Likewise. * tree-ssa.c: Likewise. * tree-switch-conversio: Likewise.n.c * tree-tailcall.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-generic.c: Likewise. * tree-vect-loop-manip.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-stmts.c: Likewise. * tsan.c: Likewise. * value-prof.c: Likewise. * config/aarch64/aarch64.c: Include gimplify.h instead of gimple.h. * config/alpha/alpha.c: Likewise. * config/darwin.c: Likewise. * config/i386/i386.c: Likewise. * config/ia64/ia64.c: Likewise. * config/mep/mep.c: Likewise. * config/mips/mips.c: Likewise. * config/rs6000/rs6000.c: Likewise. * config/s390/s390.c: Likewise. * config/sh/sh.c: Likewise. * config/sparc/sparc.c: Likewise. * config/spu/spu.c: Likewise. * config/stormy16/stormy16.c: Likewise. * config/tilegx/tilegx.c: Likewise. * config/tilepro/tilepro.c: Likewise. * config/xtensa/xtensa.c: Likewise. * ada/gcc-interface/trans.c: Include gimplify.h. * c/c-typeck.c: Include gimplify.h. * c-family/c-common.c: Include gimplify.h. * c-family/c-gimplify.c: Likewise. * c-family/cilk.c: Likewise. * c-family/c-omp.c: Include gimple-expr.h instead of gimple.h. * c-family/c-ubsan.c: Don't include gimple.h. * cp/class.c: Include gimplify.h. * cp/cp-gimplify.c: Likewise. * cp/error.c: Likewise. * cp/init.c: Likewise. * cp/optimize.c: Likewise. * cp/pt.c: Likewise. * cp/semantics.c: Likewise. * cp/tree.c: Likewise. * cp/vtable-class-hierarchy.c: Likewise. * cp/decl2.c: Don't include gimple.h. * cp/except.c: Likewise. * cp/method.c: Include pointer-set.h instead of gimple.h. * fortran/f95-lang.c: Don't include gimple.h. * fortran/trans-array.c: Include gimple-expr.h instead of gimple.h. * fortran/trans.c: Likewise. * fortran/trans-decl.c: Likewise. * fortran/trans-expr.c: Include gimplify.h. * fortran/trans-openmp.c: Likewise. * go/go-lang.c: Include gimplify.h. * java/java-gimplify.c: Include gimplify.h. * objc/objc-act.c: Include gimplify.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204717 138bc75d-0d04-0410-961f-82ee72b054a4
* Add some generic lambda test cases.abutcher2013-11-1210-0/+232
| | | | | | | | | | | | | | | gcc/testsuite/g++.dg/cpp1y/ * lambda-generic.C: New test case. * lambda-generic-cfun.C: New test case. * lambda-generic-dep.C: New test case. * lambda-generic-udt.C: New test case. * lambda-generic-variadic.C: New test case. * lambda-generic-x.C: New test case. * lambda-generic-xcfun.C: New test case. * lambda-generic-xudt.C: New test case. * lambda-generic-mixed.C: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204716 138bc75d-0d04-0410-961f-82ee72b054a4
* Support implicit parameter packs.abutcher2013-11-124-7/+92
| | | | | | | | | | | | * pt.c (convert_generic_types_to_packs): New function to transform a range of implicitly introduced non-pack template parms to be parameter packs. * cp-tree.h (convert_generic_types_to_packs): Declare. * parser.c (cp_parser_parameter_declaration_list): If a function parameter pack contains generic types, convert them to packs prior to grokdeclarator. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204715 138bc75d-0d04-0410-961f-82ee72b054a4
* Refactor implicit function template implementation and fix 58534, 58536, ↵abutcher2013-11-1213-122/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 58548, 58549 and 58637. gcc/ * tree.c (grow_tree_vec_stat): New function ... * tree.h (grow_tree_vec_stat) (grow_tree_vec): ... and its declaration and macro front-end. gcc/cp/ PR c++/58534 PR c++/58536 PR c++/58548 PR c++/58549 PR c++/58637 * parser.h (struct cp_parser): New members implicit_template_parms, implicit_template_scope and auto_is_implicit_function_template_parm_p. * parser.c (add_implicit_template_parms): Refactor as ... (synthesize_implicit_template_parm): ... this to append a new template type parm to the current template parameter list (introducing a new list if necessary). Removed push_deferring_access_checks. (finish_fully_implicit_template): Removed pop_deferring_access_checks. (cp_parser_new): Initialize new cp_parser members. (cp_parser_parameter_declaration_clause): Consider auto as implicit template parm when parsing a parameter declaration (unless parsing an explicit specialization). (cp_parser_parameter_declaration_list): Remove local implicit_template_parms counter and reset cp_parser implicit template state when complete. (cp_parser_lambda_expression): Reset implicit template cp_parser members whilst generating lambda class. (cp_parser_function_definition_after_declarator): Reset implicit template cp_parser members whilst parsing function definition. (make_generic_type_name): Respell '<autoN>' as 'auto:N' which works better with template diagnostics. (cp_parser_simple_type_specifier): Synthesize implicit template parm on parsing 'auto' if auto_is_implicit_function_template_parm_p and provide diagnostics ... * decl.c (grokdeclarator): ... that were previously done here. gcc/testsuite/g++.dg/ * cpp1y/pr58534.C: New testcase. * cpp1y/pr58536.C: New testcase. * cpp1y/pr58548.C: New testcase. * cpp1y/pr58549.C: New testcase. * cpp1y/pr58637.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204714 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-12 Marek Polacek <polacek@redhat.com>mpolacek2013-11-122-1/+5
| | | | | | | * final.c (update_alignments): Initialize label to NULL_RTX. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204712 138bc75d-0d04-0410-961f-82ee72b054a4
* c-family:jsm282013-11-1213-14/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.c (c_common_reswords): Add _Thread_local. c: * c-tree.h (struct c_declspecs): Add thread_gnu_p field. * c-parser.c (c_parser_declspecs): Mention _Thread_local in comment. * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread or _Thread_local as appropriate in diagnostics. (build_null_declspecs): Initialize ret->thread_gnu_p. (declspecs_add_scspec): Handle either __thread or _Thread_local for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if pedantic. Do not disallow _Thread_local extern and _Thread_local static. testsuite: * gcc.dg/c90-thread-local-1.c, gcc.dg/c99-thread-local-1.c, gcc.dg/c11-thread-local-1.c, gcc.dg/c11-thread-local-2.c: New tests. * gcc.dg/tls/diag-2.c, objc.dg/tls/diag-2.m: Update expected diagnostics. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204711 138bc75d-0d04-0410-961f-82ee72b054a4
* * gnat.dg/aggr21.adb: New test.ebotcazou2013-11-124-0/+38
| | | | | | | * gnat.dg/aggr21_pkg.ad[sb]: New helper. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204710 138bc75d-0d04-0410-961f-82ee72b054a4
* * gimple-ssa-isolate-paths.c (check_loadstore): New function.law2013-11-125-15/+142
| | | | | | | | | | | | | | (insert_trap_and_remove_trailing_statements): New argument OP which is the NULL pointer. Emit the trap after the load/store through the NULL pointer. Simplify the RHS of a store through a NULL pointer when trivial to do so. (isolate_path): Corresponding changes. (gimple_ssa_isolate_erroneous_path): Likewise. * gcc.dg/tree-ssa/isolate-1.c: Update expected output. * gcc.dg/tree-ssa/isolate-5.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204708 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-12 Teresa Johnson <tejohnson@google.com>tejohnson2013-11-125-0/+172
| | | | | | | | | | | | | | | | Jan Hubicka <jh@suse.cz> * predict.c (drop_profile): New function. (handle_missing_profiles): Ditto. (counts_to_freqs): Don't overwrite estimated frequencies when function has no profile counts. * predict.h (handle_missing_profiles): Declare. * tree-inline.c (freqs_to_counts): New function. (copy_cfg_body): Invoke freqs_to_counts as needed. * tree-profile.c (tree_profiling): Invoke handle_missing_profiles. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204704 138bc75d-0d04-0410-961f-82ee72b054a4
* Turn on SEE unaligned load and store for Haswellhjl2013-11-122-2/+9
| | | | | | | | | | PR target/59088 * config/i386/x86-tune.def (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Set for m_HASWELL. (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Set for m_HASWELL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204701 138bc75d-0d04-0410-961f-82ee72b054a4
* Properly handle AVX256 unaligned load and storehjl2013-11-123-7/+20
| | | | | | | | | | | | | | | | PR target/59084 * config/i386/i386.c (ix86_option_override_internal): Check X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL and X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL for MASK_AVX256_SPLIT_UNALIGNED_LOAD and MASK_AVX256_SPLIT_UNALIGNED_STORE. * config/i386/x86-tune.def (X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL): Clear m_COREI7_AVX and update comments. (X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204700 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-12 Martin Jambor <mjambor@suse.cz>jamborm2013-11-126-11/+304
| | | | | | | | | | | | | | | | | | PR rtl-optimization/10474 * ira.c (interesting_dest_for_shprep): New function. (split_live_ranges_for_shrink_wrap): Likewise. (find_moveable_pseudos): Move calculation of dominance info, df_analysios and the final anlyses to... (ira): ...here, call split_live_ranges_for_shrink_wrap. testsuite/ * gcc.dg/pr10474.c: New testcase. * gcc.dg/ira-shrinkwrap-prep-1.c: Likewise. * gcc.dg/ira-shrinkwrap-prep-2.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204698 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2013-11-124-25/+84
| | | | | | | | | | | | | | | | | 2013-11-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57734 * pt.c (lookup_template_class_1): Handle alias template declarations of enumeration types. /testsuite 2013-11-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57734 * g++.dg/cpp0x/alias-decl-enum-1.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204697 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Refactor the code.amker2013-11-122-18/+28
| | | | | | | Handle type conversion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204695 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2013-11-121-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204693 138bc75d-0d04-0410-961f-82ee72b054a4
* Time profiler introduced.marxin2013-11-1114-11/+218
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204690 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-11 Marc Glisse <marc.glisse@inria.fr>glisse2013-11-114-17/+50
| | | | | | | | | | | | | | Jeff Law <law@redhat.com> gcc/ * tree-ssa-alias.c (stmt_kills_ref_p_1): Use ao_ref_init_from_ptr_and_size for builtins. gcc/testsuite/ * gcc.dg/tree-ssa/alias-27.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204686 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/58853uros2013-11-116-16/+48
| | | | | | | | | | | | | | | | | | | | | | | * config/i386/x86-tune.def (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Rename from TARGET_MISALIGNED_MOVE_STRING_PROLOGUES. * config/i386/i386.h (TARGET_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Rename from TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES. Update for renamed X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES. * config/i386/i386.c (ix86_expand_set_or_movmem): Use TARGET_MISALIGNED_MOVE_STRING_PRO_EPILOGUES to calculate misaligned_prologue_used. Check that desired_aling <= epilogue_size_needed. testsuite/ChangeLog: PR target/58853 * gcc.target/i386/pr58853.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204685 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-11 Cong Hou <congh@google.com>congh2013-11-112-4/+9
| | | | | | | | | PR tree-optimization/59050 * tree-vect-data-refs.c (comp_dr_addr_with_seg_len_pair): Bug fix. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204683 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/59049amylaar2013-11-112-0/+12
| | | | | | | * expmed.c (emit_store_flag): Fail for const-const comparison. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204682 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/tree-ssa/forwprop-28.c: Adjust for ARC amylaar2013-11-119-10/+23
| | | | | | | | | | | | | | LOGICAL_OP_NON_SHORT_CIRCUIT definition. * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise. * gcc.dg/tree-ssa/vrp47.c: Likewise. * gcc.dg/tree-ssa/vrp87.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204681 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove ChangeLog merge turd from r204590.amylaar2013-11-111-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204680 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Support Go 1.2 nil checks.ian2013-11-113-6/+38
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204679 138bc75d-0d04-0410-961f-82ee72b054a4
* * gimplify.c (gimplify_init_constructor): Do not clear the object whenebotcazou2013-11-111-2/+2
| | | | | | | the constructor is incomplete and CONSTRUCTOR_NO_CLEARING is set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204678 138bc75d-0d04-0410-961f-82ee72b054a4