- Jul 15, 2011
-
-
Jakub Jelinek authored
* config/linux/wait.h (do_spin): New inline, largely copied from do_wait, just don't do futex_wait here, instead return true if it should be done. (do_wait): Implement using do_spin. * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument to prototype. (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of __sync_bool_compare_and_swap, pass the oldval to gomp_mutex_lock_slow. * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument. If all mutex contenders are just spinning and not sleeping, don't change state to 2 unnecessarily. Optimize the loop when state has already become 2 to use just one atomic operation per loop instead of two. * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument to prototype. (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of __sync_bool_compare_and_swap, pass the oldval to gomp_mutex_lock_slow. From-SVN: r176326
-
John David Anglin authored
re PR target/49723 (gcc.c-torture/compile/pr46934.c: ICE in do_SUBST, at combine.c:707 at -O1 and above) PR target/49723 * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT. From-SVN: r176319
-
Eric Botcazou authored
PR target/48220 * doc/md.texi (Standard Names): Document window_save. * cfgexpand.c (expand_debug_parm_decl): New function extracted from expand_debug_expr and expand_debug_source_expr. If the target has a window_save instruction, adjust the ENTRY_VALUE_EXP. (expand_debug_expr) <SSA_NAME>: Call expand_debug_parm_decl if the SSA_NAME_VAR is a parameter. (expand_debug_source_expr) <PARM_DECL>: Call expand_debug_parm_decl. * var-tracking.c (parm_reg_t): New type and associated vector type. (windowed_parm_regs): New variable. (adjust_insn): If the target has a window_save instruction and this is the instruction, make its effect on parameter registers explicit. (next_non_note_insn_var_location): New function. (emit_notes_in_bb): Use it instead of NEXT_INSN throughout. (vt_add_function_parameter): If the target has a window_save insn, adjust the incoming RTL and record that in windowed_parm_regs. (vt_finalize): Free windowed_parm_regs. From-SVN: r176318
-
H.J. Lu authored
From-SVN: r176317
-
Bernd Schmidt authored
Revert 2003-07-10 Eric Botcazou <ebotcazou@libertysurf.fr> PR rtl-optimization/11320 * sched-int.h (struct deps) [reg_conditional_sets]: New field. (struct sched_info) [compute_jump_reg_dependencies]: New prototype. * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to current_sched_info->compute_jump_reg_dependencies. Record which registers are used and which registers are set by the jump. Clear deps->reg_conditional_sets after a barrier. Set deps->reg_conditional_sets if the insn is a COND_EXEC. Clear deps->reg_conditional_sets if the insn is not a COND_EXEC. (init_deps): Initialize reg_conditional_sets. (free_deps): Clear reg_conditional_sets. * sched-ebb.c (compute_jump_reg_dependencies): New prototype. Mark registers live on entry of the fallthrough block and conditionally set as set by the jump. Mark registers live on entry of non-fallthrough blocks as used by the jump. * sched-rgn.c (compute_jump_reg_dependencies): New prototype. Mark new parameters as unused. From-SVN: r176315
-
Bernd Schmidt authored
PR testsuite/49757 * gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp: Return if not testing tic6x-*-*. From-SVN: r176313
-
Bernd Schmidt authored
From-SVN: r176312
-
Bernd Schmidt authored
* gcc.target/tic6x/weak-call.c: New test. * gcc.target/tic6x/fpcmp.c: New test. * gcc.target/tic6x/fpdiv.c: New test. * gcc.target/tic6x/rotdi16-scan.c: New test. * gcc.target/tic6x/ffssi.c: New test. * gcc.target/tic6x/fpdiv-lib.c: New test. * gcc.target/tic6x/cold-lc.c: New test. * gcc.target/tic6x/longcalls.c: New test. * gcc.target/tic6x/abi-align-1.c: New test. * gcc.target/tic6x/fpcmp-finite.c: New test. * gcc.target/tic6x/rotdi16.c: New test. * gcc.target/tic6x/bswapl.c: New test. * gcc.target/tic6x/ffsdi.c: New test. * gcc.target/tic6x/tic6x.exp: New file. * gcc/testsuite/gcc.target/tic6x/builtins/arith24.c: New test. * gcc/testsuite/gcc.target/tic6x/builtins/smpy.c: New test. * gcc/testsuite/gcc.target/tic6x/builtins/smpylh.c: New test. * gcc/testsuite/gcc.target/tic6x/builtins/smpyh.c: New test. * gcc/testsuite/gcc.target/tic6x/builtins/sarith1.c: New test. * gcc/testsuite/gcc.target/tic6x/builtins/extclr.c: New test * gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp: New file. * gcc.target/tic6x/builtin-math-7.c: New test, adapted from gcc.dg. * lib/target-supports.exp (chck_profiling_available): Not on tic6x. (check_effective_target_ti_c67x, check_effective_target_ti_c64xp): New functions. * gcc.c-torture/execute/20101011-1.c: Add a condition for __TMS320C6X__. * gcc.dg/20020312-2.c: Likewise. * gcc.dg/pr27095.c: Handle tic6x like hppa. * gcc.dg/torture/pr37868.c: Skip on tic6x. * gcc.dg/torture/builtin-math-7.c: Likewise. From-SVN: r176310
-
Bernd Schmidt authored
gcc/ * doc/invoke.texi (C6X Options): New section. * doc/md.texi (TI C6X family): New section. * config.gcc: Handle tic6x, in particular tic6x-*-elf and tic6x-*-uclinux. * longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm, count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME): Provide C6X definitions. * config/c6x/c6x.md: New file. * config/c6x/constraints.md: New file. * config/c6x/predicates.md: New file. * config/c6x/c6x-sched.md.in: New file. * config/c6x/c6x-sched.md: New file. * config/c6x/gensched.sh: New file. * config/c6x/c6x-mult.md.in: New file. * config/c6x/genmult.sh: New file. * config/c6x/c6x-mult.md: New file. * config/c6x/sync.md: New file. * config/c6x/c6x-protos.h: New file. * config/c6x/sfp-machine.h: New file. * config/c6x/c6x.c: New file. * config/c6x/c6x.h: New file. * config/c6x/crti.s: New file. * config/c6x/crtn.s: New file. * config/c6x/lib1funcs.asm: New file. * config/c6x/c6x-modes.def: New file. * config/c6x/genopt.sh: New file. * config/c6x/c6x.opt: New file. * config/c6x/c6x-tables.opt: New file. * config/c6x/c6x-opts.h: New file. * config/c6x/c6x-isas.def: New file. * config/c6x/elf.h: New file. * config/c6x/elf-common.h: New file. * config/c6x/uclinux-elf.h: New file. * config/c6x/t-c6x: New file. * config/c6x/t-c6x-elf: New file. * config/c6x/t-c6x-uclinux: New file. * config/c6x/t-c6x-softfp: New file. * config/c6x/gtd.c: New file. * config/c6x/gtf.c: New file. * config/c6x/ltd.c: New file. * config/c6x/ltf.c: New file. * config/c6x/ged.c: New file. * config/c6x/gef.c: New file. * config/c6x/led.c: New file. * config/c6x/lef.c: New file. * config/c6x/eqd.c: New file. * config/c6x/eqf.c: New file. * config/c6x/libgcc-c6xeabi.ver: New file. contrib/ * gcc_update: Add C6X generated files. * contrib/config-list.mk: Add c6x-elf and c6x-uclinux. libgcc/ * config.host: Handle tic6x-*-*. * config/c6x/c6x-abi.h: New file. From-SVN: r176308
-
Eric Botcazou authored
From-SVN: r176307
-
Eric Botcazou authored
re PR ada/48711 (failure to bootstrap or build ada for mingw (value not in range of type "Interfaces.C.unsigned" in g-socthi.adb)) PR ada/48711 * g-socthi-mingw.adb (Fill): Fix formatting. From-SVN: r176305
-
GCC Administrator authored
From-SVN: r176301
-
- Jul 14, 2011
-
-
John David Anglin authored
re PR ada/46350 (s-taprop.adb:891:40: warning: redundant conversion, expression is of type "Interrupt_ID") PR ada/46350 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast. From-SVN: r176296
-
Andrew Pinski authored
re PR tree-optimization/49309 (ICE with -fmudflap: verify_stmts failed: type mismatch in pointer plus expression) 2011-07-14 Andrew Pinski <pinskia@gmail.com> PR tree-opt/49309 * tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>): Use fold_build2_loc instead of build2. Use the correct type for the new tree. 2011-07-14 Andrew Pinski <pinskia@gmail.com> PR tree-opt/49309 * g++.dg/torture/pr49309.C: New testcase. From-SVN: r176281
-
Bernd Schmidt authored
PR rtl-optimization/11320 * config/ia64/ia64.md (load_symptr_low): Show a MEM. * config/ia64/ia64.c (ia64_expand_load_address): Generate it. From-SVN: r176280
-
Bernd Schmidt authored
From-SVN: r176279
-
Daniel Carrera authored
From-SVN: r176278
-
Georg-Johann Lay authored
PR target/49487 * config/avr/avr.md (rotl<mode>3): Generate SCRATCH instead of REG. (*rotw<mode>): Use const_int_operand for operand2. Use match_scatch for operand3. (*rotb<mode>): Ditto * config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH. From-SVN: r176276
-
Richard Guenther authored
re PR tree-optimization/49651 (nested lambdas and -O3 produced incorrect integer variable increments) 2011-07-14 Richard Guenther <rguenther@suse.de> PR tree-optimization/49651 * tree-ssa-structalias.c (get_constraint_for_1): Properly handle dereferences with subvariables. * gcc.dg/torture/pr49651.c: New testcase. From-SVN: r176274
-
Richard Guenther authored
2011-07-14 Richard Guenther <rguenther@suse.de> * gimple-fold.c (fold_gimple_assign): Remove operand swapping. (fold_stmt_1): Do it here directly on gimple and as a first thing. From-SVN: r176273
-
Richard Guenther authored
2011-07-14 Richard Guenther <rguenther@suse.de> * fold-const.c (fold_binary_loc): Convert the !bool_var result, not bool_var when folding bool_var != 1 or bool_var == 0. From-SVN: r176272
-
Bernd Schmidt authored
* haifa-sched.c (schedule_insns): Remove outdated comment. (schedule_block): When computing a known value for TODO_SPEC, just set it rather than using logical operations. (try_ready): Likewise. Use a local variable rather than a pointer to TODO_SPEC. Reorder an if statement to move the easy case to the then block. * sched-deps.c (dep_spec_p): New static function. (update_dep): Use it to decide whether to call change_spec_dep_to_hard. (get_back_and_forw_lists): Use it. (sd_resolve_dep): Likewise. (init_dep): If !USE_DEPS_LIST, use zero to initialize status. (haifa_note_mem_dep): Likewise. (check_dep): Likewise. (sd_add_dep): Also clear SPECULATIVE bits if not DO_SPECULATION. (sched_free_deps): Free in two passes. From-SVN: r176271
-
Richard Sandiford authored
gcc/ PR middle-end/49736 * expr.c (all_zeros_p): Undo bogus part of last change. From-SVN: r176270
-
Matthias Klose authored
2011-07-14 Matthias Klose <doko@ubuntu.com> * doc/extend.texi (optimize attribute): Fix (another) typo. From-SVN: r176269
-
Matthias Klose authored
2011-07-14 Matthias Klose <doko@ubuntu.com> * doc/extend.texi (optimize attribute): Fix typo. From-SVN: r176268
-
Richard Guenther authored
2011-07-14 Richard Guenther <rguenther@suse.de> * gimplify.c (gimplify_expr): Only do required conversions. From-SVN: r176267
-
Florian Weimer authored
re PR ada/48711 (failure to bootstrap or build ada for mingw (value not in range of type "Interfaces.C.unsigned" in g-socthi.adb)) PR ada/48711 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL. From-SVN: r176265
-
Georg-Johann Lay authored
gcc/ PR target/43746 * config/avr/elf.h (TARGET_ASM_SELECT_SECTION): Remove, i.e. use default_elf_select_section. (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Remove. (READONLY_DATA_SECTION_ASM_OP): Remove. (TARGET_ASM_NAMED_SECTION): Move from here... * config/avr/avr.c: ...to here. (avr_asm_init_sections): Set unnamed callback of readonly_data_section. (avr_asm_named_section): Make static. testsuite/ PR target/43746 * gcc.dg/array-quals-1.c: Don't xfail on AVR. From-SVN: r176262
-
Rainer Orth authored
2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR bootstrap/49739 * config.gcc (extra_parts): Add crtprec32.o crtprec64.o crtp rec80.o crtfastmath.o for Linux/x86. From-SVN: r176261
-
Sriraman Tallam authored
* plugin-api.h (ld_plugin_section): New struct. (ld_plugin_get_section_count): New typedef. (ld_plugin_get_section_type): New typedef. (ld_plugin_get_section_name): New typedef. (ld_plugin_get_section_contents): New typedef. (ld_plugin_update_section_order): New typedef. (ld_plugin_allow_section_ordering): New typedef. (LDPT_GET_SECTION_COUNT): New enum value. (LDPT_GET_SECTION_TYPE): New enum value. (LDPT_GET_SECTION_NAME): New enum value. (LDPT_GET_SECTION_CONTENTS): New enum value. (LDPT_UPDATE_SECTION_ORDER): New enum value. (LDPT_ALLOW_SECTION_ORDERING): New enum value. (tv_get_section_count): New struct members. (tv_get_section_type): New struct members. (tv_get_section_name): New struct members. (tv_get_section_contents): New struct members. (tv_update_section_order): New struct members. (tv_allow_section_ordering): New struct members. From-SVN: r176260
-
GCC Administrator authored
From-SVN: r176259
-
- Jul 13, 2011
-
-
Bernd Schmidt authored
* haifa-sched.c: Include "hashtab.h" (sched_no_dce): New global variable. (INSN_EXACT_TICK, INSN_TICK_ESTIMATE, FEEDS_BACKTRACK_INSN, SHADOW_P): New macros. (last_clock_var, cycle_issued_insns): Move declarations. (must_backtrack): New static variable. (struct delay_pair): New structure. (delay_htab, delay_htab_i2): New static variables. (delay_hash_i1, delay_hash_i2, delay_i1_eq, delay_i2_eq, record_delay_slot_pair, pair_delay, add_delay_dependencies): New functions. (dep_cost_1): If delay pairs exist, try to look up the insns and use the correct pair delay if we find them. (rank-for_schedule): Tweak priority for insns that must be scheduled soon to avoid backtracking. (queue_insn): Detect conditions which force backtracking. (ready_add): Likewise. (struct sched_block_state): Add member shadows_only_p. (struct haifa_save_data): New structure. (backtrack_queue): New static variable. (mark_backtrack_feeds, copy_insn_list, save_backtrack_point, unschedule_insns_until, restore_last_backtrack_point, free_topmost_backtrack_point, free_backtrack_queue, estimate_insn_tick, estimate_shadow_tick): New functions. (prune_ready_list): New arg shadows_only_p. All callers changed. If true, remove everything that isn't SHADOW_P. Look up delay pairs and estimate ticks to avoid scheduling the first insn too early. (verify_shadows): New function. (schedule_block): Add machinery to enable backtracking. (sched_init): Take sched_no_dce into account when setting DF_LR_RUN_DCE. (free_delay_pairs): New function. (init_h_i_d): Initialize INSN_EXACT_TICK. * Makefile.in (haifa-sched.o): Add $(HASHTAB_H). * sched-deps.c (sd_unresolve_dep): New function. * sched-int.h (struct haifa_sched_info): New fields save_state and restore_state. (struct _haifa_insn_data): New fields exact_tick, tick_estimate, feeds_backtrack_insn and shadow_p. (DO_BACKTRACKING): New value in enum SCHED_FLAGS. (sched_no_dce): Declare variable. (record_delay_slot_pair, free_delay_pairs, add_delay_dependencies, sd_unresolve_dep): Declare functions. * modulo-sched.c (sms_sched_info): Clear the two new fields. * sched-rgn.c (rgn_const_sched_info): Likewise. * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise. * sched-ebb.c (save_ebb_state, restore_ebb_state): New functions. (ebb_sched_info): Add them for the two new fields. (add_deps_for_risky_insns): Call add_delay_dependencies. From-SVN: r176255
-
Michael Meissner authored
From-SVN: r176253
-
Michael Meissner authored
From-SVN: r176252
-
Eric Botcazou authored
* gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit range comparison if Pmode is SImode. From-SVN: r176251
-
Jason Merrill authored
Also test -std=c++0x mode with 'make check-c++' at top level * Makefile.in (check-gcc-c++0x): New. (check-c++): Depend on it. gcc/ * Makefile.in ($(lang_checks_parallelized)): Allow --tool_opts. gcc/cp/ * Make-lang.in (check-c++0x): New. gcc/testsuite/ * lib/g++.exp (${tool}_option_help, ${tool}_option_proc): Remove. * lib/lto.exp (lto_prune_warns): Prune warning about -std=c++0x when compiling C files. From-SVN: r176250
-
Ulrich Weigand authored
* config/spu/spu.c (spu_init_libfuncs): Install __clrsbdi2. * config/spu/spu.md ("clrsb<mode>2"): New expander. From-SVN: r176249
-
Thomas Schwinge authored
gcc/ * acinclude.m4 (gcc_GAS_CHECK_FEATURE): Use AS_ECHO instead of echo. * configure: Regenerate. From-SVN: r176248
-
Ulrich Weigand authored
* config/spu/spu.c (TARGET_ASM_FILE_START): Do not define. (asm_file_start): Remove. (spu_machine_dependent_reorg): Call compute_bb_for_insn and free_bb_for_insn around code that modifies insns before restarting df analysis. From-SVN: r176247
-
Janne Blomqvist authored
2011-07-13 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/49296 * io/list_read.c (read_logical): Don't error out if a valid value is followed by EOF instead of a normal separator. (read_integer): Likewise. testsuite: 2011-07-13 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/49296 * gfortran.dg/read_list_eof_1.f90: Add tests for integer, real, and logical reads. From-SVN: r176245
-