aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-09-30Partial reversion of r179358.Iain Sandoe2-1/+8
ada: Partial reversion of r179358. * gcc-interface/Makefile.in (Darwin): Partial reversion of previous change to powerpc section. From-SVN: r179384
2011-09-30haifa-sched.c (modulo_ii, [...]): New static variables.Bernd Schmidt6-32/+356
* haifa-sched.c (modulo_ii, modulo_max_states, modulo_n_insns, modulo_insns_scheduled, modulo_iter0_max_uid, modulo_backtracks_left, modulo_last_stage): New static variables. (set_modulo_params, discard_delay_pairs_above): New functions. (struct delay_pair): New member stages. (htab_i2_traverse, htab_i1_traverse): New static functions. (record_delay_slot_pair): New arg stages. All callers changed. Record it. (pair_delay): Take stages into account. (add_delay_dependencies): Don't do so for stage pairs. (struct sched_block_state): New member modulo_epilogue. (save_backtrack_point): Don't set SHADOW_P for stage pairs. (unschedule_insns_until): Decrease modulo_insns_scheduled. Set HARD_DEP without using or. (resolve_dependencies): New static function. (prune_ready_list): New arg modulo_epilogue_p. All callers changed. If it is true, allow only insns with INSN_EXACT_TICK set. (schedule_block): Return bool, always true for normal scheduling, true or false depending on modulo scheduling success otherwise. Add bookkeeping for modulo scheduling, and call resolve_dependencies on everything left over after a modulo schedule. (haifa_sched_init): Remove check_cfg call. Clear modulo_ii. * sched-int.h (schedule_block, record_delay_slot_pair): Adjust declarations. (set_modulo_params, discard_delay_pairs_above): Declare. * params.def (PARAM_MAX_MODULO_BACKTRACK_ATTEMPS): New. * doc/invoke.texi (--param): Document it. From-SVN: r179383
2011-09-30re PR tree-optimization/50574 (gcc.c-torture/execute/vector-compare-1.c ↵Richard Guenther2-2/+8
FAILs on SPARC) 2011-09-30 Richard Guenther <rguenther@suse.de> PR middle-end/50574 * tree-cfg.c (verify_gimple_comparison): Compare component mode sizes for vector comparisons. From-SVN: r179382
2011-09-30SMS: Support instructions with REG_INC_NOTERevital Eres6-11/+174
From-SVN: r179381
2011-09-30SMS: Avoid generating redundant reg-movesRevital Eres2-1/+22
From-SVN: r179380
2011-09-30hw-doloop.c (scan_loop): Compute register usage only for non-debug insns.Bernd Schmidt2-1/+6
* hw-doloop.c (scan_loop): Compute register usage only for non-debug insns. From-SVN: r179379
2011-09-30re PR target/50099 (ICE: internal compiler error: in extract_insn, at ↵Ramana Radhakrishnan6-6/+36
recog.c:2113 while building lttng-ust) Fix PR target/50099 From-SVN: r179378
2011-09-30Commit for Matthew Gretton-Dann fix for the test.Matthew Gretton-Dann2-1/+5
From-SVN: r179377
2011-09-30Add sparc VIS 2.0 builtins, intrinsics, and option to control them.David S. Miller15-19/+382
gcc/ * config/sparc/sparc.opt (VIS2): New option. * doc/invoke.texi: Document it. * config/sparc/sparc.md (UNSPEC_EDGE8N, UNSPEC_EDGE8LN, UNSPEC_EDGE16N, UNSPEC_EDGE16LN, UNSPEC_EDGE32N, UNSPEC_EDGE32LN, UNSPEC_BSHUFFLE): New unspecs. (define_attr type): New insn type 'edgen'. (bmask<P:mode>_vis, bshuffle<V64I:mode>_vis, edge8n<P:mode>_vis, edge8ln<P:mode>_vis, edge16n<P:mode>_vis, edge16ln<P:mode>_vis, edge32n<P:mode>_vis, edge32ln<P:mode>_vis): New insn VIS 2.0 patterns. * niagara.md: Handle edgen. * niagara2.md: Likewise. * ultra1_2.md: Likewise. * ultra3.md: Likewise. * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ to 0x200 when TARGET_VIS2. * config/sparc/sparc.c (sparc_option_override): Set MASK_VIS2 by default when targetting capable cpus. TARGET_VIS2 implies TARGET_VIS, clear and it when TARGET_FPU is disabled. (sparc_vis_init_builtins): Emit new VIS 2.0 builtins. (sparc_expand_builtin): Fix predicate indexing when builtin returns void. (sparc_fold_builtin): Do not eliminate bmask when result is ignored. * config/sparc/visintrin.h (__vis_bmask, __vis_bshuffledi, __vis_bshufflev2si, __vis_bshufflev4hi, __vis_bshufflev8qi, __vis_edge8n, __vis_edge8ln, __vis_edge16n, __vis_edge16ln, __vis_edge32n, __vis_edge32ln): New VIS 2.0 interfaces. * doc/extend.texi: Document new VIS 2.0 builtins. gcc/testsuite/ * gcc.target/sparc/bmaskbshuf.c: New test. * gcc.target/sparc/edgen.c: New test. From-SVN: r179376
2011-09-30Daily bump.GCC Administrator1-1/+1
From-SVN: r179375
2011-09-29More sparc pixel-compare insn pattern cleanups.David S. Miller2-3/+7
* config/sparc/sparc.md (VIS pixel-compare insn): There is only one code iterator used, so just use <code>. There are two mode iterators so explicitly use <GCM:gcm_name>. From-SVN: r179366
2011-09-29frvbegin.c: Fix location of unwind-dw2-fde.h header file.Nick Clifton4-2/+39
* config/frv/frvbegin.c: Fix location of unwind-dw2-fde.h header file. * config/frv/frvend.c: Likewise. * config/frv/frv.c (frv_function_prologue): Move misplaced CALL_ARG_LOCATION notes back to their proper locations. Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com> From-SVN: r179363
2011-09-29re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)Georg-Johann Lay3-65/+105
PR target/50566 * config/avr/avr-log.c (avr_log_vadump): Use %b to print bool. * config/avr/avr.c (avr_rtx_costs_1): New static function, renamed from avr_rtx_costs. (avr_legitimate_address_p): Use avr_edump to print log information filtered by avr_log. (extra_constraint_Q): Ditto. (avr_legitimize_address): Ditto. (avr_rtx_costs): Ditto. Rewrite as wrapper for avr_rtx_costs_1. (final_prescan_insn): Use avr_log.rtx_costs as filter. From-SVN: r179359
2011-09-29Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS across the port.Iain Sandoe2-35/+20
ada: * gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS across the port. From-SVN: r179358
2011-09-29arm-protos.h (arm_modes_tieable_p): Declare.Richard Sandiford4-6/+32
gcc/ * config/arm/arm-protos.h (arm_modes_tieable_p): Declare. * config/arm/arm.h (MODES_TIEABLE_P): Use it. * config/arm/arm.c (arm_modes_tieable_p): New function. Allow NEON vector and structure modes to be tied. From-SVN: r179355
2011-09-29graphite-scop-detection.c (make_close_phi_nodes_unique): New forward ↵Bill Schmidt2-0/+17
declaration. 2011-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * graphite-scop-detection.c (make_close_phi_nodes_unique): New forward declaration. (remove_duplicate_close_phi): Detect and repair creation of duplicate close-phis for a containing loop. From-SVN: r179351
2011-09-29Use urandom in gcc.c tooAndi Kleen2-6/+23
gcc also takes generates a random number in some special circumstances, so teach it about /dev/urandom too. gcc/: 2011-09-27 Andi Kleen <ak@linux.intel.com> * gcc.c (get_local_tick). Rename to get_random_number. Read from /dev/urandom. Add getpid call. (compare_debug_dump_opt_spec_function): Drop getpid call. From-SVN: r179349
2011-09-29Use urandom to get random seedAndi Kleen2-1/+15
When available use /dev/urandom to get the random seem. This will lower the probability of collisions. On other systems it will fallback to the old methods. Passes bootstrap + testsuite on x86_64. Ok? gcc/: 2011-09-26 Andi Kleen <ak@linux.intel.com> * toplev.c (init_local_tick): Try reading random seed from /dev/urandom From-SVN: r179348
2011-09-29Change random seeds to 64bit and drop re-crcingAndi Kleen11-27/+56
I had some trouble with random build failures in a large LTO project and it turned out to be random seed collisions in a highly parallel build (thanks to Honza for suggesting that) There were multiple problems: - The way to generate the random seed is not very random (milliseconds time plus pid) and prone to collisions on highly parallel builds - It's only 32bit - Several users take the existing ascii seed and re-CRC32 it again, which doesn't exactly improve it. This patch changes that to: - Always use 64bit seeds as numbers (no re-crcing) - Change all users to use HOST_WIDE_INT - When the user specifies a random seed it's still crc32ed, but only in this case. Passes bootstrap + testsuite on x86_64-linux. gcc/cp: 2011-09-26 Andi Kleen <ak@linux.intel.com> * repo.c (finish_repo): Use HOST_WIDE_INT_PRINT_HEX_PURE. gcc/: 2011-09-26 Andi Kleen <ak@linux.intel.com> * hwint.h (HOST_WIDE_INT_PRINT_HEX_PURE): Add. * lto-streamer.c (lto_get_section_name): Remove crc32_string. Handle numerical random seed. * lto-streamer.h (lto_file_decl_data): Change id to unsigned HOST_WIDE_INT. * toplev.c (random_seed): Add. (init_random_seed): Change for numerical random seed. (get_random_seed): Return as HOST_WIDE_INT. (set_random_seed): Crc32 existing string. * toplev.h (get_random_seed): Change to numercal return. * tree.c (get_file_function_name): Remove CRC. Handle numerical random seed. gcc/lto/: 2011-09-26 Andi Kleen <ak@linux.intel.com> * lto.c (lto_resolution_read): Remove id dumping. (lto_section_with_id): Turn id HOST_WIDE_ID. (create_subid_section_table): Dito. From-SVN: r179347
2011-09-29re PR fortran/50547 (dummy procedure argument of PURE shall be PURE)Janus Weil6-8/+52
2011-09-29 Janus Weil <janus@gcc.gnu.org> PR fortran/50547 * resolve.c (resolve_formal_arglist): Fix pureness check for dummy functions. PR fortran/50553 * symbol.c (check_conflict): Forbid TARGET attribute for statement functions. 2011-09-29 Janus Weil <janus@gcc.gnu.org> PR fortran/50547 * gfortran.dg/pure_formal_proc_3.f90: New. PR fortran/50553 * gfortran.dg/stfunc_7.f90: New. From-SVN: r179345
2011-09-29re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)Georg-Johann Lay7-2/+366
PR target/50566 * config.gcc (extra_objs): Add avr-log.o for $target in: avr-*-rtems*, avr-*-*. * config/avr/t-avr (avr-log.o): New rule to compile... * config/avr/avr-log.c: ...this new file. * config/avr/avr.opt (mlog=): New option. * config/avr/avr-protos.h (avr_edump, avr_fdump): New macros. (avr_log_set_caller_e, avr_log_set_caller_f): New prototypes. (avr_log_set_avr_log): New prototype. (avr_log_t): New typedef. (avr_log): New declaration. * config/avr/avr.c (avr_option_override): Call avr_log_set_avr_log. From-SVN: r179344
2011-09-29expr.c (do_store_flag): Expand vector comparison by building an appropriate ↵Artjoms Sinkarovs11-3/+381
VEC_COND_EXPR. 2011-09-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com> * expr.c (do_store_flag): Expand vector comparison by building an appropriate VEC_COND_EXPR. * c-typeck.c (build_binary_op): Typecheck vector comparisons. (c_objc_common_truthvalue_conversion): Adjust. * tree-vect-generic.c (do_compare): Helper function. (expand_vector_comparison): Check if hardware supports vector comparison of the given type or expand vector piecewise. (expand_vector_operation): Treat comparison as binary operation of vector type. (expand_vector_operations_1): Adjust. * gcc.c-torture/execute/vector-compare-1.c: New testcase. * gcc.c-torture/execute/vector-compare-2.c: Likewise. * gcc.dg/vector-compare-1.c: Likewise. * gcc.dg/vector-compare-2.c: Likewise. From-SVN: r179342
2011-09-29tree.c (build_opaque_vector_type): Make opaque vectors variant types of the ↵Richard Guenther2-7/+25
corresponding non-opaque type. 2011-09-29 Richard Guenther <rguenther@suse.de> * tree.c (build_opaque_vector_type): Make opaque vectors variant types of the corresponding non-opaque type. Make sure to share opaque vector types properly. From-SVN: r179341
2011-09-29ChangeLog: Fix whitespace.Uros Bizjak2-23/+19
* ChangeLog: Fix whitespace. * testsuite/ChangeLog: Ditto. From-SVN: r179338
2011-09-29Remove unnecessary sparc code attr.David S. Miller2-3/+5
* config/sparc/sparc.md (gcond_name): Delete unnecessary code attr. (VIS pixel-compare insn): Just use <gcond:name>. From-SVN: r179335
2011-09-29Add sparc 3D array addressing VIS intrinsics.David S. Miller11-5/+129
gcc/ * config/sparc/sparc.md (UNSPEC_ARRAY8, UNSPEC_ARRAY16, UNSPEC_ARRAY32): New unspec. (define_attr type): New type 'array'. (array{8,16,32}<P:mode>_vis): New patterns. * config/sparc/ultra1_2.md: Add reservations for 'array'. * config/sparc/ultra3.md: Likewise. * config/sparc/niagara.md: Likewise. * config/sparc/niagara2.md: Likewise. * config/sparc/sparc.c (sparc_vis_init_builtins): Build new array builtins. * config/sparc/visintrin.h (__vis_array8, __vis_array16, __vis_array32): New. * doc/extend.texi: Document new VIS builtins. gcc/testsuite/ * gcc.target/sparc/array.c: New test. From-SVN: r179334
2011-09-29darwin9.h (STACK_CHECK_STATIC_BUILTIN): Enable for Darwin >= 9.Iain Sandoe2-0/+7
gcc: * config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Enable for Darwin >= 9. From-SVN: r179332
2011-09-29predcom-1.c: Explicitly turn on loop unroll and set max unroll times to 8.Jiangning Liu6-5/+14
2011-09-29 Jiangning Liu <jiangning.liu@arm.com> * gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c: Explicitly turn on loop unroll and set max unroll times to 8. * gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c: Likewise. * gcc/testsuite/gcc.dg/tree-ssa/predcom-3.c: Likewise. * gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c: Likewise. * gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c: Likewise. From-SVN: r179330
2011-09-28Respin sparc pixel-compare patterns using iterators.David S. Miller2-80/+21
* config/sparc/sparc.md (UNSPEC_FCMPLE, UNSPEC_FCMPNE, UNSPEC_FCMPGT, UNSPEC_FCMPEQ): Delete and reduce to... (UNSPEC_FCMP): New unspec. (gcond): New code iterator. (gcond_name): New code attr. (GCM): New mode iterator. (gcm_name): New mode attr. (fcmp{le,ne,gt,eq}{16,32}_vis): Reimplement using iterators. From-SVN: r179329
2011-09-29Daily bump.GCC Administrator1-1/+1
From-SVN: r179327
2011-09-28re PR c++/40145 (structure inside a static function is exported, producing ↵Paolo Carlini2-0/+16
warning) 2011-09-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/40145 * g++.dg/ext/visibility/warn5.C: New. From-SVN: r179323
2011-09-28re PR c++/45278 (-Wextra doesn't warn about (pointer < 0 ).)Paolo Carlini4-2/+32
/cp 2011-09-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/45278 * typeck.c (cp_build_binary_op): With -Wextra, warn for ordered comparison of pointer with zero. /testsuite 2011-09-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/45278 * g++.dg/warn/Wextra-3.C: New. From-SVN: r179321
2011-09-28re PR bootstrap/49486 (Bootstrap failure)Oleg Endo4-31/+129
PR target/49486 * config/sh/sh.md (negdi2): Move expansion into split to allow more combination options. Add T_REG clobber. (abssi2): New expander. (*negdi2, *abssi2, *negabssi2): New insns. (cneg): Change from insn to insn_and_split. Rename to negsi_cond. Add alternative for non-SH4. * gcc.target/sh/pr49468-si.c: New. From-SVN: r179320
2011-09-28neon.md (neon_move_lo_quad_<mode>): Delete.Richard Sandiford2-65/+12
gcc/ * config/arm/neon.md (neon_move_lo_quad_<mode>): Delete. (neon_move_hi_quad_<mode>): Likewise. (move_hi_quad_<mode>, move_lo_quad_<mode>): Use subreg moves. From-SVN: r179316
2011-09-28predicates.md (rx_minmax_operand): New predicate.Nick Clifton3-11/+114
* config/rx/predicates.md (rx_minmax_operand): New predicate. Accepts immediates and a restricted subset of MEMs. * config/rx/rx.md (int_modes): New iterator. (smaxsi3, sminsi3): Delete and replace with... (smax<int_mode>3, smin<int_mode>3): New patterns. (umax<>3_u, umax<>3_ur, umax<>3, umin<>3): New patterns. From-SVN: r179315
2011-09-28re PR middle-end/50460 (__builtin___strcpy_chk/__builtin_object_size don't work)Richard Guenther2-6/+83
2011-09-28 Richard Guenther <rguenther@suse.de> PR middle-end/50460 * fold-const.c (try_move_mult_to_index): Handle &a.array the same as &a.array[0]. From-SVN: r179313
2011-09-28re PR testsuite/50485 (gcc.target/i386/sse4_1-blendps.c fails spuriously on ↵Tom de Vries3-2/+13
i686) 2011-09-28 Tom de Vries <tom@codesourcery.com> PR testsuite/50485 * gcc.target/i386/sse4_1-blendps.c: Include <stdlib.h>. (TEST): Initialize src3 with random floats. * gcc.target/i386/sse4_1-blendps-2.c (sse4_1_test): Remove field i from union src3. Initialize src3 with random floats. From-SVN: r179309
2011-09-28configure.ac: Add test for new section attribute specifier "e" via define...Kai Tietz5-0/+75
* configure.ac: Add test for new section attribute specifier "e" via define HAVE_GAS_SECTION_EXCLUDE. * config.in: Regenerated. * configure: Regenerated. * config/i386/winnt.c (i386_pe_asm_named_section): Emit new section flag "e" for excluded sections, if supported. Otherwise we mark section withc SECTION_EXCLUDE flag as never-load. From-SVN: r179308
2011-09-28Daily bump.GCC Administrator1-1/+1
From-SVN: r179302
2011-09-27m32r.md: Use match_test rather than eq/ne symbol_ref throughout file.Richard Sandiford2-6/+9
gcc/ * config/m32r/m32r.md: Use match_test rather than eq/ne symbol_ref throughout file. From-SVN: r179297
2011-09-27iq2000.md: Use match_test rather than eq/ne symbol_ref throughout file.Richard Sandiford2-1/+6
gcc/ * config/iq2000/iq2000.md: Use match_test rather than eq/ne symbol_ref throughout file. From-SVN: r179296
2011-09-27mfmovd.c: Extend list of supported targets.Oleg Endo12-61/+54
* gcc.target/sh/mfmovd.c: Extend list of supported targets. * gcc.target/sh/struct-arg-dw2.c: Fix typo. * gcc.target/sh/sh4a-sincos.c: Make test SH4A only. * gcc.target/sh/sh4a-sincosf.c: Ditto. * gcc.target/sh/sh4a-cos.c: Ditto. * gcc.target/sh/sh4a-cosf.c: Ditto. * gcc.target/sh/sh4a-sin.c: Ditto. * gcc.target/sh/sh4a-sinf.c: Ditto. * gcc.target/sh/sh4a-fsrra.c: Ditto. * gcc.target/sh/sh4a-memmovua.c: Ditto. * gcc.target/sh/sh4a-bitmovua.c: Ditto. From-SVN: r179295
2011-09-27re PR c++/31489 (error says struct when it should say class)Paolo Carlini5-2/+30
/cp 2011-09-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/31489 * parser.c (cp_parser_elaborated_type_specifier): For RECORD_TYPE, set CLASSTYPE_DECLARED_CLASS. /testsuite 2011-09-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/31489 * g++.dg/parse/error40.C: New. * g++.dg/warn/incomplete1.C: Adjust. From-SVN: r179293
2011-09-27trans-types.c (gfc_type_for_size): Return wider type if no suitable narrower ↵Jakub Jelinek2-6/+27
type has been found. * trans-types.c (gfc_type_for_size): Return wider type if no suitable narrower type has been found. (gfc_type_for_mode): Return NULL_TREE if gfc_type_for_size returned type doesn't have expected TYPE_MODE. From-SVN: r179290
2011-09-27output.h (SECTION_EXCLUDE): New macro.Sriraman Tallam3-0/+9
2011-09-27 Sriraman Tallam <tmsriram@google.com> * output.h (SECTION_EXCLUDE): New macro. * varasm.c (default_elf_asm_named_section): Check for SECTION_EXCLUDE. From-SVN: r179288
2011-09-27fwprop.c (forward_propagate_and_simplify): After checking reg/subreg ↵Richard Sandiford2-9/+17
combinations, check whether the modes are the same. gcc/ * fwprop.c (forward_propagate_and_simplify): After checking reg/subreg combinations, check whether the modes are the same. From-SVN: r179287
2011-09-27mips.c (mips_add_cfa_restore): New function.Bernd Schmidt2-4/+24
gcc/ 2011-09-25 Bernd Schmidt <bernds@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * config/mips/mips.c (mips_add_cfa_restore): New function. (mips16e_save_restore_reg): Use it. (mips_restore_reg): Likewise. Split double FPRs for REG_CFA_RESTORE notes. Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com> From-SVN: r179286
2011-09-27re PR libgomp/50386 (libgomp.h:87:5: error: unnamed struct/union that ↵Richard Sandiford2-1/+8
defines no instances) gcc/ PR middle-end/50386 PR middle-end/50326 * tree-sra.c (build_ref_for_model): Use the type of the field as the type of the COMPONENT_REF. From-SVN: r179285
2011-09-27ifcvt.c (cheap_bb_rtx_cost_p): Add SCALE argument.Jeff Law2-12/+49
* ifcvt.c (cheap_bb_rtx_cost_p): Add SCALE argument. Scale non-jumping insns by REG_BR_PROB_BASE and the maximum cost by SCALE. (find_if_case_1): Use the probability of the THEN clause when determining if speculation is profitable. (find_if_case_2): Similarly for the ELSE clause. From-SVN: r179284
2011-09-27re PR middle-end/49463 (LTO doesn't work symbol renamed via asm statement)Jan Hubicka2-0/+7
PR middle-end/49463 * gcc.c-torture/execute/builtins/strstr-asm-lib.c (my_strstr): Mark used. From-SVN: r179280