ktietz [Wed, 28 Jul 2010 18:00:09 +0000 (18:00 +0000)]
2010-07-28 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.
* config/i386/i386.c (ix86_profile_before_prologue): New.
(override_options): Add special handling for -mfentry.
(ix86_function_regparm): Likewise.
(ix86_function_sseregparm): Likewise.
(ix86_frame_pointer_required): Likewise.
(ix86_expand_prologue): Check for ms_hook_prologue.
(x86_function_profiler): Adjust mcount output.
(TARGET_PROFILE_BEFORE_PROLOGUE): Define hook.
* config/i386/i386.opt (mfentry): New.
* doc/invoke.texi (mfentry): Add documentation.
* doc/tm.texi: Regenerated..
* doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New.
* final.c (final_start_function): Replace macro
PROFILE_BEFORE_PROLOGUE by target hook.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* target.def (profile_before_prologue): New hook.
* targhooks.c (default_profile_before_prologue): New.
* targhooks.h (default_profile_before_prologue): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162651
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Wed, 28 Jul 2010 17:33:37 +0000 (17:33 +0000)]
2010-07-28 Mikael Morin <mikael@gcc.gnu.org>
* decl.c (free_value): Also free repeat field.
* data.c (gfc_assign_data_value): Always free offset before returning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162649
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Wed, 28 Jul 2010 17:06:40 +0000 (17:06 +0000)]
2010-07-28 Daniel Kraft <d@domob.eu>
* gfortran.h (gfc_build_intrinsic_call): New method.
* expr.c (gfc_build_intrinsic_call): New method.
* simplify.c (range_check): Ignore non-constant value.
(simplify_bound_dim): Handle non-variable expressions and
fix memory leak with non-free'ed expression.
(simplify_bound): Handle non-variable expressions.
(gfc_simplify_shape): Ditto.
(gfc_simplify_size): Ditto, but only in certain cases possible.
2010-07-28 Daniel Kraft <d@domob.eu>
* gfortran.dg/bound_8.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162648
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 28 Jul 2010 17:01:05 +0000 (17:01 +0000)]
PR debug/45105
* gcse.c (hoist_code): Use FOR_BB_INSNS macro.
* gcc.dg/pr45105.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162647
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 28 Jul 2010 17:00:06 +0000 (17:00 +0000)]
PR debug/45103
* dwarf2out.c (dwarf2out_var_location): Always consider
NOTE_DURING_CALL_P notes, even when not followed by real instructions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162646
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Wed, 28 Jul 2010 16:50:14 +0000 (16:50 +0000)]
PR rtl-optimization/45107
* gcse.c (hash_scan_set): Use max_distance for gcse-las.
PR rtl-optimization/45107
* gcc.dg/pr45107.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162645
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 28 Jul 2010 16:03:09 +0000 (16:03 +0000)]
2010-07-28 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c: Remove comment regarding STORE-CCP.
(set_lattice_value): Do not query an old default value.
(get_value_for_expr): New function. Properly canonicalize
float values.
(ccp_visit_phi_node): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162638
138bc75d-0d04-0410-961f-
82ee72b054a4
cltang [Wed, 28 Jul 2010 15:40:58 +0000 (15:40 +0000)]
* config/arm/arm.c (arm_pcs_default): Remove static.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or
__ARM_PCS_VFP to indicate soft/hard-float calling convention.
(arm_pcs_default): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162637
138bc75d-0d04-0410-961f-
82ee72b054a4
dyuste [Wed, 28 Jul 2010 15:23:55 +0000 (15:23 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162636
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Wed, 28 Jul 2010 14:47:11 +0000 (14:47 +0000)]
part 3 of darwin64 PPC ABI changes
* config/rs6000/rs6000.c (rs6000_override_options):
Use TARGET_MACHO inline, move darwin_one_byte_bool from here...
... to darwin_rs6000_override_options.
(rs6000_return_in_memory): Update preceding comment for darwin
64 bit ABI. Use TARGET_MACHO inline.
(rs6000_darwin64_struct_check_p): New.
(function_arg_advance): Use rs6000_darwin64_struct_check_p.
(function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_function_value): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162635
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Wed, 28 Jul 2010 14:30:45 +0000 (14:30 +0000)]
* lto-opts.c (lto_file_read_options): Add loop over all inputs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162633
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Wed, 28 Jul 2010 14:06:45 +0000 (14:06 +0000)]
* Make-lang.in (lto.o): Add dependency to splay-tree.h
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162632
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Wed, 28 Jul 2010 14:05:59 +0000 (14:05 +0000)]
Add Changelog too
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162631
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Wed, 28 Jul 2010 14:05:39 +0000 (14:05 +0000)]
* lto-plugin.c (translate): Remove debug fprintf.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162630
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 28 Jul 2010 10:32:54 +0000 (10:32 +0000)]
2010-07-28 Richard Guenther <rguenther@suse.de>
PR middle-end/44903
* builtins.c (fold_builtin_memory_op): On STRICT_ALIGNMENT
targets try harder to not generate unaligned accesses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162624
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Wed, 28 Jul 2010 10:32:10 +0000 (10:32 +0000)]
PR rtl-optimization/45101
* gcc.dg/pr45101.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162623
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Wed, 28 Jul 2010 10:09:53 +0000 (10:09 +0000)]
PR rtl-optimization/45101
* gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table
for gcse-las.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162622
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 28 Jul 2010 10:03:00 +0000 (10:03 +0000)]
PR tree-optimization/44885
* tree-sra.c (find_param_candidates): Skip pointer types to arrays
with non-aliased component.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162621
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 28 Jul 2010 09:36:21 +0000 (09:36 +0000)]
* config/darwin-driver.c (SWITCH_TAKES_ARG,
WORD_SWITCH_TAKES_ARG): Remove.
* cppspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
* defaults.h (DEFAULT_SWITCH_TAKES_ARG,
DEFAULT_WORD_SWITCH_TAKES_ARG): Move from gcc.h.
(SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move default
definitions from gcc.c.
* gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move to
defaults.h.
* gcc.h (DEFAULT_SWITCH_TAKES_ARG, DEFAULT_WORD_SWITCH_TAKES_ARG):
Move to defaults.h.
* opts-common.c: Include tm.h.
(decode_cmdline_option): Use SWITCH_TAKES_ARG and
WORD_SWITCH_TAKES_ARG to count arguments to unknown options.
Handle more than one argument. Set canonical_option_num_elements.
(decode_cmdline_options_to_array): Set
canonical_option_num_elements and trailing elements of
canonical_option.
* opts.h (struct cl_decoded_option): Allow four elements in
canonical_option. Add field canonical_option_num_elements.
* Makefile.in (opts-common.o): Update dependencies.
ada:
* gcc-interface/misc.c (gnat_init_options): Ignore erroneous
options. Check canonical_option_num_elements on options copied.
fortran:
* gfortranspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162620
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 28 Jul 2010 08:44:29 +0000 (08:44 +0000)]
2010-07-28 Tobias Burnus <burnus@net-b.de>
PR fortran/45077
* trans-types.c (gfc_get_derived_type): Fix DT declaration
from modules for whole-file mode.
2010-07-28 Tobias Burnus <burnus@net-b.de>
PR fortran/45077
* gfortran.dg/whole_file_24.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162619
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 28 Jul 2010 07:44:34 +0000 (07:44 +0000)]
PR middle-end/44790
PR middle-end/44993
* expr.c (expand_expr_real_1) <MEM_REF>: Revert latest change. Make
sure the base has address_mode before adding the offset.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162618
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 28 Jul 2010 05:23:28 +0000 (05:23 +0000)]
Fix typos
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162617
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Wed, 28 Jul 2010 05:08:24 +0000 (05:08 +0000)]
Fix to expose more LIM when creating mem_ref
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162616
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 28 Jul 2010 00:17:01 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162615
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 27 Jul 2010 22:06:03 +0000 (22:06 +0000)]
* pt.c (tsubst_expr) [DECL_EXPR]: Handle getting an AGGR_INIT_EXPR
from build_value_init.
* init.c (build_value_init_noctor): Give error for unknown array
bound.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162603
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 27 Jul 2010 21:52:39 +0000 (21:52 +0000)]
* rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, NOTE): Swap operands
4 and 5.
* rtl.h (PATTERN, INSN_LOCATOR, NOTE_DATA, NOTE_DELETED_LABEL_NAME,
NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION,
NOTE_KIND, LABEL_NUSES, LABEL_REFS): Adjust accordingly.
* gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of
CODE_LABELs and NOTEs.
* caller-save.c (init_caller_save): Fix up gen_rtx_INSN call.
* combine.c (try_combine): Likewise.
* ira.c (setup_prohibited_mode_move_regs): Likewise.
* print-rtl.c (print_rtx): Start REG_NOTES on a new line.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162602
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 27 Jul 2010 21:23:53 +0000 (21:23 +0000)]
* coretypes.h (struct cl_option_handlers): Declare.
* hooks.c (hook_int_size_t_constcharptr_int_0): Remove.
* hooks.h (hook_int_size_t_constcharptr_int_0): Remove.
* langhooks-def.h (lhd_handle_option): Declare.
(LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option.
* langhooks.c (lhd_handle_option): New.
* langhooks.h (struct lang_hooks): Update prototype and return
value type of handle_option hook.
* optc-gen.awk: Generate target_flags_explicit definition for the
driver.
* opts-common.c: Include diagnostic.h.
(handle_option): Move from opts.c. Update prototype and return
value type. Use handlers structure.
(read_cmdline_option): Move from opts.c. Update prototype. Use
handlers structure.
(set_option): Move from opts.c.
* opts.c (common_handle_option): Update prototype and return value
type. Update calls to handle_option and enable_warning_as_error.
(unknown_option_callback, post_handling_callback,
lang_handle_option, target_handle_option): New.
(handle_option, read_cmdline_option): Move to opts-common.c.
(read_cmdline_options): Update prototype. Update call to
read_cmdline_option.
(decode_options): Initialize and use handlers structure.
(set_option): Move to opts-common.c.
(enable_warning_as_error): Update prototype. Update call to
handle_option.
* opts.h (struct cl_option_handler_func, struct
cl_option_handlers): New.
(handle_option, enable_warning_as_error): Update prototypes.
(read_cmdline_option): Declare.
* Makefile.in (opts-common.o): Update dependencies.
ada:
* gcc-interface/misc.c (gnat_handle_option): Update prototype and
return value type. Don't check for missing arguments here.
c-family:
* c-common.h (c_common_handle_option): Update prototype and return
value type.
* c-opts.c (c_common_handle_option): Update prototype and return
value type. Update calls to handle_option and
enable_warning_as_error.
fortran:
* gfortran.h (gfc_handle_option): Update prototype and return
value type.
* options.c (gfc_handle_option): Update prototype and return value
type.
java:
* lang.c (java_handle_option): Update prototype and return value
type.
lto:
* lto-lang.c (lto_handle_option): Update prototype and return
value type. Remove duplicate assignment to result.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162601
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 21:06:31 +0000 (21:06 +0000)]
PR rtl-optimization/40956
PR target/42495
PR middle-end/42574
* gcc.target/arm/pr40956.c, gcc.target/arm/pr42495.c,
* gcc.target/arm/pr42574.c: Add tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162600
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:50:08 +0000 (19:50 +0000)]
* config/arm/arm.c (params.h): Include.
(arm_override_options): Tune gcse-unrestricted-cost.
* config/arm/t-arm (arm.o): Define dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162598
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:48:15 +0000 (19:48 +0000)]
PR target/42495
PR middle-end/42574
* basic-block.h (get_dominated_to_depth): Declare.
* dominance.c (get_dominated_to_depth): New function, use
get_all_dominated_blocks as a base.
(get_all_dominated_blocks): Use get_dominated_to_depth.
* gcse.c (occr_t, VEC (occr_t, heap)): Define.
(hoist_exprs): Remove.
(alloc_code_hoist_mem, free_code_hoist_mem): Update.
(compute_code_hoist_vbeinout): Add debug print outs.
(hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth.
* params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
quadratic behavior.
* params.h (MAX_HOIST_DEPTH): New macro.
* doc/invoke.texi (max-hoist-depth): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162597
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:46:26 +0000 (19:46 +0000)]
PR rtl-optimization/40956
* config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
constants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162596
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:44:51 +0000 (19:44 +0000)]
PR target/42495
PR middle-end/42574
* config/arm/arm.c (legitimize_pic_address): Use
gen_calculate_pic_address pattern to emit calculation of PIC address.
(will_be_in_index_register): New function.
(arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
(thumb1_legitimate_address_p): Use it provided !strict_p.
* config/arm/arm.md (calculate_pic_address): New expand and split.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162595
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:42:15 +0000 (19:42 +0000)]
PR target/42495
PR middle-end/42574
* config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
* config/arm/arm.md (define_split "J", define_split "K"): Make
IRA/reload friendly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162594
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:39:15 +0000 (19:39 +0000)]
* gcse.c (insert_insn_end_basic_block): Update signature, remove
unused checks.
(pre_edge_insert, hoist_code): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162593
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:38:10 +0000 (19:38 +0000)]
PR target/42495
PR middle-end/42574
* gcse.c (hoist_expr_reaches_here_p): Remove excessive check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162592
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:36:31 +0000 (19:36 +0000)]
* gcse.c (hoist_code): Generate new pseudo for every new set insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162591
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:34:55 +0000 (19:34 +0000)]
PR rtl-optimization/40956
PR target/42495
PR middle-end/42574
* gcse.c (compute_code_hoist_vbeinout): Consider more expressions
for hoisting.
(hoist_code): Count occurences in current block too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162590
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:29:48 +0000 (19:29 +0000)]
* gcse.c (struct expr:max_distance): New field.
(doing_code_hoisting_p): New static variable.
(want_to_gcse_p): Change signature. Allow constrained hoisting of
simple expressions, don't change behavior for PRE. Set max_distance.
(insert_expr_in_table): Set new max_distance field.
(hash_scan_set): Update.
(hoist_expr_reaches_here_p): Stop search after max_distance
instructions.
(find_occr_in_bb): New static function. Use it in ...
(hoist_code): Calculate sizes of basic block before any changes are
done. Pass max_distance to hoist_expr_reaches_here_p.
(one_code_hoisting_pass): Set doing_code_hoisting_p.
* params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
(PARAM_GCSE_UNRESTRICTED_COST): New parameters.
* params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
macros.
* doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162589
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:27:31 +0000 (19:27 +0000)]
* gcse.c (compute_transpout, transpout): Remove, move logic
to prune_expressions.
(compute_pre_data): Move pruning of trapping expressions ...
(prune_expressions): ... here. New static function.
(compute_code_hoist_data): Use it.
(alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162588
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Tue, 27 Jul 2010 19:23:39 +0000 (19:23 +0000)]
adjusting iv update stmt position to enable inst combining. Regression tested on x86-64/linux
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162587
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:12:21 +0000 (19:12 +0000)]
* dbgcnt.def (hoist_insn): New debug counter.
* gcse.c (hoist_code): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162586
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Tue, 27 Jul 2010 18:18:25 +0000 (18:18 +0000)]
Multiple exit loop handling in ivopts. Regression tested on x86-64/linux
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162585
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 27 Jul 2010 18:10:34 +0000 (18:10 +0000)]
* Fix extra brackets in my previous commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162584
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 27 Jul 2010 17:55:00 +0000 (17:55 +0000)]
* lib/gcc-dg.exp (cleanup-coverage-files): Remove options from
test name.
(cleanup-repo-files): Ditto.
(cleanup-saved-temps): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162583
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 27 Jul 2010 17:54:32 +0000 (17:54 +0000)]
PR target/44542
* cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
instead of MAX_SUPPORTED_STACK_ALIGNMENT.
(expand_one_var): Don't consider DECL_ALIGN for variables for
which expand_one_stack_var_at has been already called.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162582
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 27 Jul 2010 17:52:35 +0000 (17:52 +0000)]
PR testsuite/44701
* doc/md.texi: Clarify m and es constraints on PowerPC and m and S
constraints on IA-64.
* gcc.target/powerpc/asm-es-2.c (f2): Add <> constraints.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162581
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 27 Jul 2010 17:41:47 +0000 (17:41 +0000)]
2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix
messages.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162580
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Tue, 27 Jul 2010 17:33:30 +0000 (17:33 +0000)]
PR target/44290
Revert
2010-07-23 Jie Zhang <jie@codesourcery.com>
* tree-sra.c (ipa_sra_preliminary_function_checks): Return
false if ! tree_versionable_function_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162579
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 27 Jul 2010 17:27:06 +0000 (17:27 +0000)]
2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/vstring_util.h: Include bits/range_access.h.
* testsuite/ext/vstring/range_access.cc: New test.
2010-07-27 Ed Smith-Rowland <3dw4rd@verizon.net>
* include/bits/range_access.h: New.
* include/Makefile.in: Add bits/range_access.h.
* include/Makefile.am: Regenerate.
* include/std/array: Include bits/range_access.h.
* include/std/deque: Ditto.
* include/std/forward_list: Ditto.
* include/std/iterator: Ditto.
* include/std/list: Ditto.
* include/std/map: Ditto.
* include/std/regex: Ditto.
* include/std/set: Ditto.
* include/std/string: Ditto.
* include/std/unordered_map: Ditto.
* include/std/unordered_set: Ditto.
* include/std/vector: Ditto.
* include/std/valarray: Add begin() and end().
* libsupc++/initializer_list: Ditto.
* include/tr1_impl/utility: Add begin() and end().
* include/std/tuple: Ditto.
* testsuite/24_iterators/headers/iterator/range_access.cc: New test.
* testsuite/24_iterators/range_access.cc: Ditto.
* testsuite/28_regex/range_access.cc: Ditto.
* testsuite/18_support/initializer_list/range_access.cc: Ditto.
* testsuite/21_strings/basic_string/range_access.cc: Ditto.
* testsuite/26_numerics/valarray/range_access.cc: Ditto.
* testsuite/23_containers/unordered_map/range_access.cc: Ditto.
* testsuite/23_containers/multimap/range_access.cc: Ditto.
* testsuite/23_containers/set/range_access.cc: Ditto.
* testsuite/23_containers/unordered_multimap/range_access.cc: Ditto.
* testsuite/23_containers/forward_list/range_access.cc: Ditto.
* testsuite/23_containers/unordered_set/range_access.cc: Ditto.
* testsuite/23_containers/vector/range_access.cc: Ditto.
* testsuite/23_containers/deque/range_access.cc: Ditto.
* testsuite/23_containers/multiset/range_access.cc: Ditto.
* testsuite/23_containers/list/range_access.cc: Ditto.
* testsuite/23_containers/unordered_multiset/range_access.cc: Ditto.
* testsuite/23_containers/map/range_access.cc: Ditto.
* testsuite/23_containers/array/range_access.cc: Ditto.
* testsuite/20_util/tuple/range_access.cc: Ditto.
* testsuite/20_util/pair/range_access.cc: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162578
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 27 Jul 2010 15:47:43 +0000 (15:47 +0000)]
* dwarf2out.c (add_data_member_location_attribute): Use
add_AT_unsigned instead of add_AT_int if offset is non-negative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162576
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 27 Jul 2010 15:46:25 +0000 (15:46 +0000)]
PR c/45079
* c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
* gcc.dg/pr45079.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162575
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 27 Jul 2010 15:20:14 +0000 (15:20 +0000)]
* postreload.c (try_replace_in_use): New static function.
(reload_combine_recognize_const_pattern): Use it here. Allow
substituting into a final add insn, and substituting into a memory
reference in an insn that sets the reg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162573
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 27 Jul 2010 14:43:31 +0000 (14:43 +0000)]
* common.opt (o): Add MissingArgError.
* doc/options.texi (MissingArgError): Document.
* hooks.c (hook_bool_constcharptr_size_t_false): Remove.
* hooks.h (hook_bool_constcharptr_size_t_false): Remove.
* langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
(LANG_HOOKS_INITIALIZER): Remove missing_argument hook
initializer.
* langhooks.h (struct lang_hooks): Remove missing_argument.
* optc-gen.awk: Handle MissingArgError and output new structure
field initializers.
* opts.c (read_cmdline_option): Use missing_argument_error field
instead of missing_argument langhook.
* opts.h (struct cl_option): Add missing_argument_error field.
* system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.
c-family:
* c-common.h (c_common_missing_argument): Remove.
* c-opts.c (c_common_missing_argument): Remove.
* c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
idirafter, imacros, include, isysroot, isystem, iquote): Add
MissingArgError.
* c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
cp:
* cp-objcp-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
po:
* exgettext: Also extract MissingArgError texts from .opt files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162571
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 27 Jul 2010 13:31:14 +0000 (13:31 +0000)]
add missing changelog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162569
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 27 Jul 2010 13:26:34 +0000 (13:26 +0000)]
PR target/29090
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Special-case the
Darwin64 ABI, for zero-sized objects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162568
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 27 Jul 2010 13:24:08 +0000 (13:24 +0000)]
PR target/35491
PR target/29090
Merge from Apple local 4.2.1.
2005-05-11 Stan Shebs <shebs@apple.com>
Fix 64-bit varargs for Darwin (Radar 4028089).
* config/rs6000/rs6000.h (rs6000_args): New field floats_in_gpr.
* config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
Add argument, add case for 8-byte register half-filled with a float.
(rs6000_darwin64_record_arg_advance_recurse): Detect and handle
single-precision floats specially.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162567
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Tue, 27 Jul 2010 12:26:31 +0000 (12:26 +0000)]
PR tree-optimization/44152
* tree-vect-slp.c (vect_build_slp_tree): Collect nodes with
complex numbers for further check.
(vect_supported_load_permutation_p): Check nodes with
complex numbers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162564
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 27 Jul 2010 12:02:50 +0000 (12:02 +0000)]
re-enable tls and lto tests for ObjC/C++
PR ObjC/44140
* obj-c++.dg/torture/tls/thr-init-1.mm: Re-enable test.
* obj-c++.dg/torture/tls/thr-init-2.mm: Ditto.
* obj-c++.dg/torture/tls/thr-init-3.mm: Ditto.
* obj-c++.dg/torture/trivial.mm: Ditto.
* objc.dg/torture/tls/thr-init-2.m: Ditto.
* objc.dg/torture/tls/thr-init-3.m: Ditto.
* objc.dg/torture/tls/thr-init.m: Ditto.
* objc.dg/torture/trivial.m: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162563
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 27 Jul 2010 10:36:50 +0000 (10:36 +0000)]
2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): Remove.
([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Add, actually
compute the constants via AC_COMPUTE_INT.
* configure.ac: Call the latter.
* include/bits/ios_base.h: Adjust.
* include/bits/char_traits.h: Likewise.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
line number.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* config.h.in: Regenerate.
* configure: Likewise.
2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>
* config/io/c_io_stdio.h: Do not include <cstddef>.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162562
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 27 Jul 2010 10:29:02 +0000 (10:29 +0000)]
* gfortran.dg/char4_iunit_1.f03: Add ieee options.
Skip on spu-*-* targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162561
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 27 Jul 2010 09:59:51 +0000 (09:59 +0000)]
* langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK,
LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New.
(LANG_HOOKS_INIT_OPTIONS): Update default definition.
(LANG_HOOKS_INITIALIZER): Add new hooks.
* langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New.
* langhooks.h (struct lang_hooks): Add new hooks option_lang_mask
and complain_wrong_lang_p. Update init_options prototype.
* c-objc-common.c (c_initialize_diagnostics): First call
c_common_initialize_diagnostics.
* c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK,
LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
* coretypes.h (struct cl_option, struct cl_decoded_option):
Declare.
* hooks.c (hook_uint_uint_constcharptrptr_0): Remove.
(hook_uint_void_0): New.
* hooks.h (hook_uint_uint_constcharptrptr_0): Remove.
(hook_uint_void_0): New.
* opts-common.c (decode_cmdline_option,
decode_cmdline_options_to_array): Also fill in canonical_option
field.
* opts.c (complain_wrong_lang): Use langhook to determine whether
to complain instead of special-casing LTO.
(decode_options): Separate lang_mask determination with
option_lang_mask hook from call of init_options hook.
* opts.h (struct cl_decoded_option): Add canonical_option.
ada:
* gcc-interface/misc.c (gnat_option_lang_mask): New.
(gnat_init_options): Update prototype. Reconstruct argv array
from decoded options.
c-family:
* c-common.h (c_common_option_lang_mask,
c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
New.
(c_common_init_options): Update prototype.
* c-opts.c (c_common_option_lang_mask): New.
(c_common_initialize_diagnostics): Split out of
c_common_init_options.
(accept_all_c_family_options, c_common_complain_wrong_lang_p):
New.
(c_common_init_options): Update prototype. Use decoded options in
search for -lang-asm.
cp:
* cp-objcp-common.c (cxx_initialize_diagnostics): First call
c_common_initialize_diagnostics.
* cp-objcp-common.h (LANG_HOOKS_OPTION_LANG_MASK,
LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
fortran:
* cpp.c (gfc_cpp_init_options): Update prototype. Use number of
decoded options in allocating deferred_opt.
* cpp.h (gfc_cpp_init_options): Update prototype.
* f95-lang.c (LANG_HOOKS_OPTION_LANG_MASK): Define.
* gfortran.h (gfc_option_lang_mask): New.
(gfc_init_options): Update prototype.
* options.c (gfc_option_lang_mask): New.
(gfc_init_options): Update prototype. Pass new arguments to
gfc_cpp_init_options.
java:
* lang.c (java_option_lang_mask): New.
(java_init_options): Update prototype.
(LANG_HOOKS_OPTION_LANG_MASK): Define.
lto:
* lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
New.
(lto_init_options): Update prototype.
(LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162560
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 27 Jul 2010 09:43:59 +0000 (09:43 +0000)]
PR tree-optimization/45083
* tree-inline.c (add_local_variables): Also remap DECL_DEBUG_EXPR.
* gcc.dg/pr45083.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162559
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 27 Jul 2010 09:34:51 +0000 (09:34 +0000)]
PR rtl-optimization/45051
* reload1.c (delete_output_reload): Use refers_to_regno_p rather
than reg_mentioned_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162558
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 27 Jul 2010 08:44:22 +0000 (08:44 +0000)]
2010-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/40873
* trans-decl.c (gfc_get_extern_function_decl): Fix generation
for functions which are later in the same file.
(gfc_create_function_decl, build_function_decl,
build_entry_thunks): Add global argument.
* trans.c (gfc_generate_module_code): Update
gfc_create_function_decl call.
* trans.h (gfc_create_function_decl): Update prototype.
* resolve.c (resolve_global_procedure): Also resolve for
IFSRC_IFBODY.
2010-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/40873
* gfortran.dg/whole_file_22.f90: New test.
* gfortran.dg/whole_file_23.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162557
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 27 Jul 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162554
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 27 Jul 2010 00:14:26 +0000 (00:14 +0000)]
* postreload.c (reload_combine_recognize_const_pattern): Move test
for limiting the insn movement to the right scope.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162550
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 26 Jul 2010 22:53:50 +0000 (22:53 +0000)]
PR target/44132
Emulated TLS rewrite.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162549
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 26 Jul 2010 20:54:57 +0000 (20:54 +0000)]
* testsuite/22_locale/num_put/put/char/14220.cc: XFAIL on Solaris
9/x86, 32-bit Solaris 10/x86 and 64-bit Solaris 10/SPARC.
* testsuite/22_locale/num_put/put/wchar_t/14220.cc: XFAIL on
Solaris 9/x86 and 32-bit Solaris 10/x86.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Only XFAIL on Solaris 8 and 9.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
Likewise.
* testsuite/ext/enc_filebuf/char/13598.cc: XFAIL before Solaris 11.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162545
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 26 Jul 2010 20:51:29 +0000 (20:51 +0000)]
* lto-streamer.h (struct lto_file_decl_data): Mark resolutions with
GTY((skip)).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162544
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Mon, 26 Jul 2010 18:00:17 +0000 (18:00 +0000)]
* target.def (output_source_filename): New hook.
* doc/tm.texi.in (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Document.
* doc/tm.texi: Regenerate.
* toplev.c (output_file_directive) Remove function.
* toplev.h (output_file_directive) Remove.
* output.h (default_asm_output_source_filename,
output_file_directive): Declare.
* varasm.h (default_asm_output_source_filename,
output_file_directive): New functions.
* config/mips/mips.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
* config/mips/mips-protos.h (mips_output_filename): Remove.
* config/mips/mips.c (mips_output_filename): Make Static.
(TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162542
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 26 Jul 2010 16:23:01 +0000 (16:23 +0000)]
* g++.dg/torture/pr44900.C: Use dg-require-effective-target
sse_runtime.
* gcc.dg/attr-weak-hidden-1a.c: Use dg-require-weak,
dg-require-visibility.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162541
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 26 Jul 2010 16:22:18 +0000 (16:22 +0000)]
* libgomp.texi: Add function keyword to a couple of Fortran
interfaces, use integer instead of int for Fortran.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162540
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 26 Jul 2010 16:01:55 +0000 (16:01 +0000)]
2010-07-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43784
* tree-nrv.c (dest_safe_for_nrv_p): It's not safe to NRV
if the destination is used by the call.
* gcc.c-torture/execute/pr43784.c: New testcase.
* g++.dg/torture/pr43784.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162539
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Mon, 26 Jul 2010 15:26:17 +0000 (15:26 +0000)]
* libgomp.texi: Fix spelling and pasto problems throughout.
Adjust prototypes to match code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162538
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 26 Jul 2010 14:48:43 +0000 (14:48 +0000)]
2010-07-26 Richard Guenther <rguenther@suse.de>
PR middle-end/45073
* gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize
SSA updating on being in SSA form.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162537
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 26 Jul 2010 13:29:14 +0000 (13:29 +0000)]
2010-07-26 Richard Guenther <rguenther@suse.de>
PR middle-end/45056
* gimple-fold.c (fold_stmt_1): Also fold references in
debug stmts.
* g++.dg/pr45056.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162536
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 26 Jul 2010 12:48:37 +0000 (12:48 +0000)]
2010-07-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45071
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Always
adjust op->opcode.
* gcc.dg/pr45071.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162534
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Mon, 26 Jul 2010 10:30:45 +0000 (10:30 +0000)]
2010-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/45066
* trans-io.c (build_dt): Use NULL_TREE rather than NULL
for call to transfer_namelist_element.
* trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl
for -fwhole-file.
2010-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/45066
* gfortran.dg/namelist_62.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162532
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Mon, 26 Jul 2010 09:53:19 +0000 (09:53 +0000)]
Add file forgotten in commit Rev. 162500
2010-07-24 Tobias Burnus <burnus@net-b.de>
PR fortran/40011
* gfortran.dg/whole_file_21.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162531
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Mon, 26 Jul 2010 09:39:04 +0000 (09:39 +0000)]
* configure.ac: Support all v850 targets.
* configure: Regenerate.
* config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31,
save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31,
save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31,
save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31,
save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31,
save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31,
save_r31, return_r31, save_interrupt, return_interrupt,
save_all_interrupt, return_all_interrupt, L_save_r2_r31,
L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt,
L_save_##START##_r31c, L_callt_save_r31c: Updated as per the
new ABI requirements.
save_r6_r9, L_callt_save_r6_r9: Remove.
* config/v850/predicates.md (even_reg_operand, disp23_operand,
const_float_1_operand const_float_0_operand): New Predicates.
(pattern_is_ok_for_prepare, pattern_is_ok_for_prologue,
pattern_is_ok_for_epilogue): Update as per the ABI requirements.
* config/v850/t-v850: Update multilibs for new target variants.
(save_varargs, callt_save_varargs, callt_save_r6_r9): Remove.
* config/v850/t-v850e: Likewise.
* config/v850/v850.c (v850_issue_rate): New.
(v850_strict_argument_naming): New.
(function_arg): Modify to generate a different ABI.
(print_operand): Update case 'z' to support float modes.
(output_move_single): Modify to generate appropriate and better
assembly.
(v850_float_z_comparison_operator, v850_select_cc_mode,
v850_float_nz_comparison_operator, v850_gen_float_compare,
v850_gen_compare): New functions to support comparison of
float values.
(ep_memory_offset): Add support for V850E2 targets.
(INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update.
(INTERRUPT_REGPARM_NUM): Remove.
(compute_register_save_size): Add extra case to save/restore
long call.
(use_prolog_function): New function to support prologue.
(expand_prologue): Add support for V850E2 targets and modified
as per the current ABI requirements.
(expand_epilogue): Likewise.
(construct_restore_jr): Modify based on TARGET_LONG_CALLS.
(construct_save_jarl): Likewise.
(construct_dispose_instruction): Update as per the current ABI
requirements.
(construct_prepare_instruction): Likewise.
* config/v850/v850.h(TARGET_CPU_DEFAULT): Add target predefines.
(TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define
(CPP_SPEC): Updated to support v850e2 targets.
(STRICT_ALIGNMENT): Modified.
(FIRST_PSEUDO_REGISTER): Updated to add even registers.
(FIXED_REGISTERS): Likewise.
(CALL_USED_REGISTERS): Likewise.
(CONDITIONAL_REGISTER_USAGE): Updated.
(HARD_REGNO_MODE_OK): Updated.
(reg_class): Updated to add even registers.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(REGNO_REG_CLASS): Updated for CC registers.
(REG_CLASS_FROM_LETTER): Added support for even registers.
(REGNO_OK_FOR_BASE_P): Updated for CC registers.
(STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM,
ARG_POINTER_REGNUM): Updated.
(FUNCTION_ARG_ADVANCE): Define.
(REG_PARM_STACK_SPACE): Update as per the current ABI requirements.
(OUTGOING_REG_PARM_STACK_SPACE): Remove.
(EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement.
(GO_IF_LEGITIMATE_ADDRESS): Updated.
(SELECT_CC_MODE): Define.
(REGISTER_NAMES): Updated to add psw and fcc registers.
(ADDITIONAL_REGISTER_NAMES): Updated.
(ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets.
(JUMP_TABLES_IN_TEXT_SECTION): Updated.
* config/v850/v850.md (define_constants): Define new constants.
(type): Update store,bit1,macc,div,fpu and single attributes.
(cpu): New attribute.
(cc): Add set_z attribute.
(unsign23byte_load, sign23byte_load, unsign23hword_load,
sign23hword_load, 23word_load, 23byte_store, 23hword_store,
23word_store): New instructions for 23-bit displacement load and
store.
(movqi_internal, movhi_internal): Update the attributes.
(movsi, movsi_internal_v850e): Updated to support v850e2 targets.
(movsi_internal_v850e, movsi_internal, movsf_internal): Update
the attributes.
(v850_tst1): Modified using CC_REGNUM.
(tstsi): Remove.
(cmpsi): Modified as define_expand from define_insn.
(cmpsi_insn, cmpsf, cmpdf): New instructions.
(addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4,
udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3,
v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3,
one_cmplsi2): Clobber the CC_REGNUM register.
(v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1,
v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2,
v850_not1_3, xorsi3, one_cmplsi2): Update the attributes
accordingly.
(setf_insn, set_z_insn, set_nz_insn): New instructions for
v850e2v3 target.
(movsicc_normal_cc, movsicc_reversed_cc): New instructions.
(movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2
targets.
(sasf_1, sasf_2): Remove.
(sasf): New instruction.
(rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2
targets. CC_REGNUM register is clobbered and attributes are
updated.
(branch_z_normal, branch_z_invert, branch_nz_normal,
branch_nz_invert): New branch related instructions.
(jump): Updated the attributes.
(switch): Update to support new targets. CC_REGNUM register is
clobbered and attributes are updated.
(call_internal_short, call_internal_long, call_value_internal_short,
call_value_internal_long): Updated the attributes.
(zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is
clobbered and attributes are updated.
(extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2):
Update to support new targets. CC_REGNUM register is clobbered.
(ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift
instructions.
(lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes
are updated.
(ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3,
divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2,
negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2,
floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2,
rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4,
cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn,
cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn,
cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr,
movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn,
movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating
point instructions defined for V850e2v3 target.
(callt_save_interrupt, callt_return_interrupt, return_interrupt):
Add support for V850E2 targets and CC_REGNUM register is clobbered.
(callt_save_all_interrupt, callt_restore_all_interrupt): Add
support for new targets.
* config/v850/v850-modes.def: New file.
* config/v850/v850.opt(mstrict-align): Remove.
(mno-strict-align, mjump-tables-in-data-section, mv850e2,
mv850e2v3): New command line options for V850.
* config.gcc: Update the newly added files.
* doc/invoke.texi: Update the newly added command line options for
V850 target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162530
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 26 Jul 2010 09:26:43 +0000 (09:26 +0000)]
2010-07-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45052
* ipa-pure-const.c (check_stmt): Check volatileness.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162528
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 26 Jul 2010 09:16:01 +0000 (09:16 +0000)]
2010-07-26 Richard Guenther <rguenther@suse.de>
* gcc.c-torture/execute/pr45017.c: Move ...
* gcc.dg/torture/pr45017.c: ... here. Restrict to i?86 and x86_64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162527
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 26 Jul 2010 00:17:07 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162525
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 25 Jul 2010 21:46:32 +0000 (21:46 +0000)]
PR target/44707
* config/sparc/sparc-protos.h (sparc_legitimize_reload_address): New.
* config/sparc/sparc.c: Include reload.h.
(legitimize_tls_address): Rename into...
(sparc_legitimize_tls_address): ...this.
(legitimize_pic_address): Rename into...
(sparc_legitimize_pic_address): ...this.
(sparc_expand_move): Adjust to above renaming.
(sparc_tls_referenced_p): Likewise.
(sparc_legitimize_tls_address): Likewise.
(sparc_legitimize_pic_address): Likewise.
(sparc_legitimize_address): Likewise.
(sparc_output_mi_thunk): Likewise.
(sparc_legitimize_reload_address): New global function. Recognize
(lo_sum (high ...) ...) patterns generated by earlier passes.
* config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Use above function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162521
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 25 Jul 2010 21:32:16 +0000 (21:32 +0000)]
PR target/44484
* config/sparc/predicates.md (memory_reg_operand): Delete.
* config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
(*sync_compare_and_swap): Encode the address form in the pattern.
(*sync_compare_and_swapdi_v8plus): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162520
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Sun, 25 Jul 2010 19:31:37 +0000 (19:31 +0000)]
2010-07-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/40628
* Make-lang.in: Add fortran/frontend-passes.o.
* gfortran.h: Add prototype for gfc_run_passes.
* resolve.c (gfc_resolve): Call gfc_run_passes.
* frontend-passes.c: New file.
2010-07-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/40628
* trim_optimize_1.f90: New test.
* character_comparision_1.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162519
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Sun, 25 Jul 2010 19:10:09 +0000 (19:10 +0000)]
2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/42852
* scanner.c (gfc_next_char_literal): Enable truncation warning for
free-form '&'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162518
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Sun, 25 Jul 2010 19:07:58 +0000 (19:07 +0000)]
Fix out of order log entry from 162516 commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162517
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Sun, 25 Jul 2010 17:01:15 +0000 (17:01 +0000)]
2010-07-25 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/44660
* gfortran.h (gfc_namespace): New field old_equiv.
(gfc_free_equiv_until): New prototype.
* match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
a parameterized stop condition.
(gfc_free_equiv): Use gfc_free_equiv_until.
* parse.c (next_statement): Save equivalence list.
(reject_statement): Restore equivalence list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162516
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sun, 25 Jul 2010 16:44:38 +0000 (16:44 +0000)]
2010-07-25 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/45060
* include/bits/hashtable.h (_Hashtable::_Hashtable(_Hashtable&&)):
Reorder mem-initializers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162515
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Sun, 25 Jul 2010 15:35:04 +0000 (15:35 +0000)]
2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/42852
* gfortran.dg/wtruncate_fix.f: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162514
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Sun, 25 Jul 2010 15:07:45 +0000 (15:07 +0000)]
2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/42852
* scanner.c (gfc_next_char_literal): Move check for truncation earlier
in the function so that it does not get missed by early exits.
(load_line): Add checks for quoted strings and free form comments to
disable warnings on comments. Add check for ampersand as first
character after truncation and don't warn for this case, but warn if
there are subsequent non-whitespace characters.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162512
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Sun, 25 Jul 2010 14:54:03 +0000 (14:54 +0000)]
Support "//" as assembler comments.
2010-07-25 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/45068
* g++.dg/debug/dwarf2/nested-2.C: Support "//" as comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162511
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 25 Jul 2010 00:17:57 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162507
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Sat, 24 Jul 2010 20:00:49 +0000 (20:00 +0000)]
* doc/install.texi (Specific, *-*-freebsd*): Adjust to recent
changes. Streamline paragraph on compatibility with the system
compiler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162503
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sat, 24 Jul 2010 16:58:19 +0000 (16:58 +0000)]
2010-07-24 Richard Guenther <rguenther@suse.de>
PR lto/43788
* g++.dg/lto/
20100724-1_0.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162502
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sat, 24 Jul 2010 16:49:38 +0000 (16:49 +0000)]
2010-07-24 Richard Guenther <rguenther@suse.de>
PR lto/43212
* gcc.dg/lto/
20100724-1_0.c: New testcase.
* gcc.dg/lto/
20100724-1_1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162501
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 24 Jul 2010 16:32:11 +0000 (16:32 +0000)]
2010-07-24 Tobias Burnus <burnus@net-b.de>
PR fortran/40011
* parse.c (gfc_parse_file): Do not override
gfc_global_ns_list items.
2010-07-24 Tobias Burnus <burnus@net-b.de>
PR fortran/40011
* gfortran.dg/whole_file_21.f90: New.
* gfortran.dg/integer_exponentiation_3.F90: Use
-ffloat-store only for i?86/x86-64 -m32.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162500
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Sat, 24 Jul 2010 12:37:51 +0000 (12:37 +0000)]
PR middle-end/45035
* alias.c (true_dependence_1): Fix thinko in merge of old
true_dependence and canon_true_dependence.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162499
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 24 Jul 2010 07:47:43 +0000 (07:47 +0000)]
2010-07-24 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/entry_13.f90: Use abs() > eps instead of "/=".
* gfortran.dg/integer_exponentiation_3.F90: Use -ffloat-store.
Missed files from previous commit:
* gfortran.dg/func_decl_5.f90: New.
* gfortran.dg/intrinsic_std_6.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162498
138bc75d-0d04-0410-961f-
82ee72b054a4