Age | Commit message (Collapse) | Author | Files | Lines |
|
be forced to constant memory.
* expr.c (expand_expr_real_1) <normal_inner_ref>: Force op0 to
non-constant memory if it cannot be forced to constant memory.
Overhaul surrounding code and factor out common condition.
From-SVN: r140760
|
|
* reload1.c (alter_reg): Add missing curly braces.
From-SVN: r140758
|
|
* config/rs6000/predicates.md (easy_fp_constant): Single FP consts
are easy.
* config/rs6000/rs6000.c (rs6000_override_options): Move
rs6000_init_hard_regno_mode_ok after all options changed.
Set rs6000_single_float, rs6000_double_float if TARGET_HARD_FLOAT.
(rs6000_handle_option): Process -msingle-float, -mdouble-float,
-msimple-fpu flags. Add warning messages if single FP not configured.
(rs6000_file_start): Output gnu_attribute for single-float.
(legitimate_lo_sum_address_p): Condition on TARGET_DOUBLE_FLOAT.
(rs6000_legitimize_address): Likewise.
(rs6000_legitimize_reload_address): Likewise.
(rs6000_emit_move): Condition on TARGET_DOUBLE_FLOAT,
TARGET_SINGLE_FLOAT.
(function_arg_advance): Likewise (partial conversion).
(setup_incoming_varargs): Condition on TARGET_DOUBLE_FLOAT.
(rs6000_gimplify_va_arg): Condition on TARGET_DOUBLE_FLOAT,
TARGET_SINGLE_FLOAT.
(rs6000_split_multireg_move): Condition on TARGET_DOUBLE_FLOAT.
(rs6000_emit_prologue): Likewise.
(rs6000_function_value): Condition on TARGET_DOUBLE_FLOAT,
TARGET_SINGLE_FLOAT.
(rs6000_libcall_value): Likewise.
* config/rs6000/rs6000.h (TARGET_SINGLE_FLOAT): New default to 1.
(TARGET_DOUBLE_FLOAT): New default to 1
(TARGET_SIMPLE_FPU): New default to 0
(TARGET_SINGLE_FPU): New default to 0
(TARGET_SINGLE_FLOAT_MODE): New.
(TARGET_DOUBLE_FLOAT_MODE): New.
* config/rs6000/singlefp.h: New; redefine TARGET_SINGLE_FLOAT,
TARGET_DOUBLE_FLOAT, TARGET_SIMPLE_FPU, TARGET_SINGLE_FPU,
UNITS_PER_FP_WORD
* config/rs6000/rs6000.md (define_mode_iterator): Condition on
TARGET_DOUBLE_FLOAT, TARGET_SINGLE_FLOAT.
(extendsfdf2, extendsfdf2_fpr, truncdfsf2, truncdfsf2_fpr,
copysigndf3,fseldfsf4, negdf2, negdf2_fpr, absdf2, absdf2_fpr,
nabsdf2_fpr, adddf3, adddf3_fpr, subdf3, subdf3_fpr, muldf3,
muldf3_fpr, divdf3, divdf3_fpr, sqrtdf2, smaxdf3, smindf3,
movdfcc, *fseldfdf4, floatsidf2, *floatsidf2_internal,
floatunssidf2, *floatunssidf2_internal, fix_truncdfsi2,
*fix_truncdfsi2_internal, fix_truncdfsi2_internal_gfxopt,
fix_truncdfsi2_mfpgpr, fctiwz, btruncdf2, ceildf2, floordf2,
rounddf2, floatdidf2, floatsidf_ppc64_mfpgpr, floatsidf_ppc64,
floatunssidf_ppc64, fix_truncdfdi2, movdf_hardfloat32,
movdf_hardfloat64_mfpgpr, movdf_hardfloat64, extenddftf2_fprs,
extenddftf2_internal, trunctfdf2_internal2, fix_trunc_helper,
abstf2_internal, movdf_update1, movdf_update2, cmpdf_internal1,
cmptf_internal1, *cmptf_internal2): Condition on
TARGET_DOUBLE_FLOAT.
(aux_truncdfsf2, negsf2, *negsf2, abssf2, *abssf2, addsf3, subsf3,
mulsf3, divsf3, sqrtsf2, copysignsf3, smaxsf3, sminsf3, movsfcc,
*fselsfsf4, fixuns_truncsfsi2, fix_truncsfsi2, floatunssisf2,
btruncsf2, ceilsf2, floorsf2, roundsf2, floatdisf2_internal1,
floatdisf2_internal2, *movsf_hardfloat, trunctfsf2_fprs,
*movsf_update1, *movsf_update2, *cmpsf_internal1): Condition on
TARGET_SINGLE_FLOAT.
(divsf3, sqrtsf2, divdf3, divdf3_fpr): Condition on TARGET_SIMPLE_FPU.
* config/rs6000/rs6000.opt (-msingle-float): New.
(-mdouble-float): New.
(-msimple-fpu): New.
* doc/invoke.texi (RS/6000 and PowerPC Options): Add
-msingle-float, -mdouble-float, -msimple-fpu options.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Set
_SOFT_DOUBLE for -msingle-float.
* config.gcc: New config for target=powerpc-xilinx-eabi.
From-SVN: r140757
|
|
From-SVN: r140750
|
|
2008-09-29 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite.c (dot_all_scops_1): Remove unused checks. SCoPs always have
exit and entry.
(new_scop): Take entry and exit edge to define new SCoP.
(sd_region_p): New structure used during SCoP detection.
(move_scops): Delete.
(move_sd_regions): New.
(scopdet_info): Change the definition from edges back to basic_blocks.
(scopdet_edge_info): Work on basic_blocks and rename to
scopdet_basic_block_info.
(split_difficult_bb): At the moment removed. We should later
add it at another place.
(build_scops_1): Work on basic_blocks.
(bb_in_sd_region): New.
(find_single_entry_edge): New.
(find_single_exit_edge): New.
(create_single_entry_edge): New.
(sd_region_without_exit): New.
(create_single_exit_edge): New.
(unmark_exit_edges): New.
(mark_exit_edges): New.
(create_sese_edges): New.
(build_graphite_scops): New.
(build_scops): Make SCoPs SESE.
(limit_scops): Use the new functions.
From-SVN: r140746
|
|
From-SVN: r140745
|
|
From-SVN: r140743
|
|
2008-09-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR target/37640
* config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Force
address to a register before taking the lower part.
2008-09-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR target/37640
* gcc.c-torture/compile/sync-3.c: New testcase to check that
addresses of non zero offset works.
From-SVN: r140740
|
|
* config/sh/sh.h (OVERRIDE_OPTIONS): Unset flag_dwarf2_cfi_asm
for SHmedia.
From-SVN: r140739
|
|
2008-09-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
Kaushal Kantawala <kaushal_kantawala@playstation.sony.com>
PR tree-opt/36891
* tree-ssa-loop-im.c (rewrite_reciprocal): Set DECL_GIMPLE_REG_P on
the newly created variable.
Create a VECTOR_CST of all 1s for vector types.
2008-09-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
Kaushal Kantawala <kaushal_kantawala@playstation.sony.com>
PR tree-opt/36891
* gcc.dg/torture/pr36891.c: New testcase.
Co-Authored-By: Kaushal Kantawala <Kaushal_Kantawala@playstation.sony.com>
From-SVN: r140738
|
|
PR middle-end/36575
* fold-const (div_and_round_double) <ROUND_DIV_EXPR>: Fix typo.
From-SVN: r140734
|
|
convert between modes.
* expmed.c (store_fixed_bit_field): Always use convert_to_mode in
order to convert between modes.
(extract_bit_field_1): Test TRULY_NOOP_TRUNCATION on the right mode.
From-SVN: r140730
|
|
From-SVN: r140727
|
|
* config/sh/sh.c (sh_gimplify_va_arg_expr): Use VIEW_CONVERT_EXPR
if needed.
From-SVN: r140724
|
|
Revert:
2008-09-25 Vladimir Makarov <vmakarov@redhat.com>
* ira-lives.c:...
* doc/rtl.texi:...
From-SVN: r140721
|
|
From-SVN: r140717
|
|
* config/mips/mips.h (ISA_HAS_DMUL3, ISA_HAS_BADDU, ISA_HAS_BBIT,
ISA_HAS_CINS, ISA_HAS_EXTS, ISA_HAS_SEQ_SNE, ISA_HAS_POP): Change
them to yield false with MIPS16.
From-SVN: r140714
|
|
PR middle-end/37275
* dwarf2out.c (tls_mem_loc_descriptor): New function.
(mem_loc_descriptor): Use it for MEM. For PLUS fail if second
mem_loc_descriptor failed. Accept UNSPEC.
(loc_descriptor): Use tls_mem_loc_descriptor for MEM. For PARALLEL
fail if one of the loc_descriptor calls for pieces failed.
(loc_descriptor_from_tree_1): Handle even DECL_EXTERNAL __thread vars,
as long as they bind locally. For COMPONENT_REF, ARRAY_REF etc. fail
if loc_descriptor_from_tree_1 on offset failed.
* gcc.target/i386/pr37275.c: New test.
From-SVN: r140712
|
|
instead of word_mode.
* decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
to that of ptr_mode instead of word_mode.
From-SVN: r140711
|
|
PR middle-end/37576
* opts.c (common_handle_option): Don't call print_specific_help with
CL_SAVE as first argument.
From-SVN: r140709
|
|
* configure: Regenerate for new libtool.
* aclocal.m4: Ditto.
Co-Authored-By: Steve Ellcey <sje@cup.hp.com>
From-SVN: r140700
|
|
From-SVN: r140697
|
|
saving stack pointer.
2008-09-26 Pat Haugen <pthaugen@us.ibm.com>
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Use correct
alias set on MEM when saving stack pointer.
* config/rs6000/rs6000.md (allocate_stack): Likewise
From-SVN: r140693
|
|
PR ada/5911
* gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
From-SVN: r140687
|
|
warning.
2008-09-26 Kai Tietz <kai.tietz@onevision.com>
* g++.dg/compat/struct-layout-1_x1.h: Add __SIZE_TYPE__ cast
to avoid pointer truncation warning.
From-SVN: r140686
|
|
PR tree-optimization/37574
* tree-vectorizer.c (vect_is_simple_use): Fix indentation.
* tree-vect-transform.c (vect_get_constant_vectors): Use vectype
instead of vector_type for constants. Take computation out of loop.
(vect_get_vec_def_for_operand): Use only vectype for constant case,
and use only vector_type for invariant case.
(get_initial_def_for_reduction): Use vectype instead of vector_type.
From-SVN: r140685
|
|
2008-09-25 Jerry DeLisle <jvdelisle@gcc.gnu.org
PR fortran/37498
* trans-io.c (build_dt): Revert previous patch..
* ioparm.def: Delete IOPARM_dt_f2003.
From-SVN: r140683
|
|
PR c/37645
* c-common.c (handle_weakref_attribute): Ignore the attribute unless
the decl is a VAR_DECL or FUNCTION_DECL.
* gcc.dg/pr37645.c: New test.
From-SVN: r140680
|
|
point exception)
2008-09-25 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/37535
* ira-lives.c (mark_reg_live, mark_reg_dead): New functions.
(mark_ref_live, mark_ref_dead): Use them.
(def_conflicts_with_inputs_p): Remove.
(mark_early_clobbers): New function.
(process_bb_node_lives): Call preprocess_constraints and
mark_early_clobbers.
* doc/rtx.texi (clobber): Change how RA deals with clobbers.
From-SVN: r140679
|
|
From-SVN: r140677
|
|
2008-09-25 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/37448
* ira-int.h (IRA_ALLOCNO_TEMP): Rename to ALLOCNO_TEMP.
(ira_compress_allocno_live_ranges): New prototype.
* ira-color.c: Rename IRA_ALLOCNO_TEMP to ALLOCNO_TEMP.
(coalesced_allocnos_living_at_program_points): New.
(coalesced_allocnos_live_at_points_p,
set_coalesced_allocnos_live_points): New functions.
(coalesce_spill_slots): Rewrite.
* ira-lives.c (remove_some_program_points_and_update_live_ranges,
ira_compress_allocno_live_ranges): New functions.
* ira-build.c (ira_flattening): Call
ira_compress_allocno_live_ranges.
(ira_build): Ditto.
From-SVN: r140674
|
|
2008-09-25 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md: Check cmp/branch fuse for cmp peephole
optimization.
From-SVN: r140673
|
|
From-SVN: r140671
|
|
/cp
2008-09-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/37649
* name-lookup.c (maybe_process_template_type_declaration): Check
return value of push_template_decl_real for error_mark_node.
/testsuite
2008-09-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/37649
* g++.dg/template/crash82.C: New.
From-SVN: r140670
|
|
gcc/
* combine.c (make_compound_operation): Handle the 'E' format.
(count_rtxs): Likewise.
(update_table_tick): Likewise.
(get_last_value_validate): Likewise.
From-SVN: r140669
|
|
gcc/ada/
PR ada/37641
* adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
instead of deprecated FILE_WRITE_PROPERTIES.
From-SVN: r140665
|
|
2008-09-25 Tobias Burnus <burnus@net-b.de>
PR fortran/37504
* expr.c (gfc_check_pointer_assign): Allow assignment of
protected pointers.
* match.c (gfc_match_assignment,gfc_match_pointer_assignment):
Remove unreachable code.
2008-09-25 Tobias Burnus <burnus@net-b.de>
PR fortran/37504
* gfortran.dg/protected_7.f90: New test.
From-SVN: r140663
|
|
From-SVN: r140662
|
|
warning.
2008-09-25 Sergei Dyshel <sergeid@il.ibm.com>
* matrix-reorg.c (transform_allocation_sites): Initializers
added to avoid the warning.
From-SVN: r140661
|
|
2008-09-25 Martin Jambor <mjambor@suse.cz>
* cgraph.c (free_nodes): New variable.
(NEXT_FREE_NODE): New macro.
(cgraph_create_node): Reuse nodes from the free list. Do not
update uid if doing so.
(cgraph_remove_node): Add the node to the free list.
From-SVN: r140660
|
|
From-SVN: r140654
|
|
From-SVN: r140651
|
|
From-SVN: r140650
|
|
* dwarf2.h (DW_OP_GNU_encoded_addr): New.
* unwind-dw2.c (execute_stack_op): Handle it.
From-SVN: r140648
|
|
From-SVN: r140646
|
|
From-SVN: r140645
|
|
* c-common.c (fname_decl): New location argument.
* c-common.h (fname_decl): Same.
* c-parser.c (c_lex_one_token): Use {warning,error}_at instead of
{warning,error}.
(c_parser_typeof_specifier): Same.
(c_parser_parms_list_declarator): Same.
(c_parser_asm_string_literal): Same.
(c_parser_compound_statement_nostart): Same.
(c_parser_label): Same.
(c_parser_do_statement): Same.
(c_parser_asm_statement): Same.
(c_parser_unary_expression): Same.
(c_parser_sizeof_expression): Same.
(c_parser_postfix_expression): Same.
(c_parser_pragma): Same.
(c_parser_omp_clause_collapse): Same.
(c_parser_omp_clause_num_threads): Same.
(c_parser_omp_clause_schedule): Same.
(c_parser_omp_all_clauses): Same.
(c_parser_omp_sections_scope): Same.
(c_parser_omp_for_loop): Same. Pass condition's location to
c_objc_common_truthvalue_conversion.
(c_parser_enum_specifier): Remove comment.
testsuite/
* gcc.dg/gomp/for-1.c: Test for columns.
* gcc.dg/func-outside-1.c: Same.
* gcc.dg/bitfld-7.c: Same.
cp/
* semantics.c (finish_fname): Pass location to fname_decl.
From-SVN: r140642
|
|
From-SVN: r140635
|
|
2008-09-24 Michael J. Eager <eager@eagercon.com>
* config/rs6000/predicates.md (easy_fp_constant): Single FP consts
are easy.
* config/rs6000/rs6000.c (rs6000_override_options): Move
rs6000_init_hard_regno_mode_ok after all options changed.
Set rs6000_single_float, rs6000_double_float if TARGET_HARD_FLOAT.
(rs6000_handle_option): Process -msingle-float, -mdouble-float,
-msimple-fpu flags. Add warning messages if single FP not configured.
(rs6000_file_start): Output gnu_attribute for single-float.
(legitimate_lo_sum_address_p): Condition on TARGET_DOUBLE_FLOAT.
(rs6000_legitimize_address): Likewise.
(rs6000_legitimize_reload_address): Likewise.
(rs6000_emit_move): Condition on TARGET_DOUBLE_FLOAT,
TARGET_SINGLE_FLOAT.
(function_arg_advance): Likewise.
(function_arg): Likewise.
(setup_incoming_varargs): Condition on TARGET_DOUBLE_FLOAT.
(rs6000_gimplify_va_arg): Condition on TARGET_DOUBLE_FLOAT,
TARGET_SINGLE_FLOAT.
(rs6000_split_multireg_move): Condition on TARGET_DOUBLE_FLOAT.
(rs6000_emit_prologue): Likewise.
(rs6000_function_value): Condition on TARGET_DOUBLE_FLOAT,
TARGET_SINGLE_FLOAT.
(rs6000_libcall_value): Likewise.
* config/rs6000/rs6000.h (TARGET_SINGLE_FLOAT): New default to 1.
(TARGET_DOUBLE_FLOAT): New default to 1
(TARGET_SIMPLE_FPU): New default to 0
(TARGET_SINGLE_FPU): New default to 0
(TARGET_SINGLE_FLOAT_MODE): New.
(TARGET_DOUBLE_FLOAT_MODE): New.
* config/rs6000/singlefp.h: New; redefine TARGET_SINGLE_FLOAT,
TARGET_DOUBLE_FLOAT, TARGET_SIMPLE_FPU, TARGET_SINGLE_FPU,
UNITS_PER_FP_WORD
* config/rs6000/rs6000.md (define_mode_iterator): Condition on
TARGET_DOUBLE_FLOAT, TARGET_SINGLE_FLOAT.
(extendsfdf2, extendsfdf2_fpr, truncdfsf2, truncdfsf2_fpr,
copysigndf3,fseldfsf4, negdf2, negdf2_fpr, absdf2, absdf2_fpr,
nabsdf2_fpr, adddf3, adddf3_fpr, subdf3, subdf3_fpr, muldf3,
muldf3_fpr, divdf3, divdf3_fpr, sqrtdf2, smaxdf3, smindf3,
movdfcc, *fseldfdf4, floatsidf2, *floatsidf2_internal,
floatunssidf2, *floatunssidf2_internal, fix_truncdfsi2,
*fix_truncdfsi2_internal, fix_truncdfsi2_internal_gfxopt,
fix_truncdfsi2_mfpgpr, fctiwz, btruncdf2, ceildf2, floordf2,
rounddf2, floatdidf2, floatsidf_ppc64_mfpgpr, floatsidf_ppc64,
floatunssidf_ppc64, fix_truncdfdi2, movdf_hardfloat32,
movdf_hardfloat64_mfpgpr, movdf_hardfloat64, extenddftf2_fprs,
extenddftf2_internal, trunctfdf2_internal2, fix_trunc_helper,
abstf2_internal, movdf_update1, movdf_update2, cmpdf_internal1,
cmptf_internal1, *cmptf_internal2): Condition on
TARGET_DOUBLE_FLOAT.
(aux_truncdfsf2, negsf2, *negsf2, abssf2, *abssf2, addsf3, subsf3,
mulsf3, divsf3, sqrtsf2, copysignsf3, smaxsf3, sminsf3, movsfcc,
*fselsfsf4, fixuns_truncsfsi2, fix_truncsfsi2, floatunssisf2,
btruncsf2, ceilsf2, floorsf2, roundsf2, floatdisf2_internal1,
floatdisf2_internal2, *movsf_hardfloat, trunctfsf2_fprs,
*movsf_update1, *movsf_update2, *cmpsf_internal1): Condition on
TARGET_SINGLE_FLOAT.
(divsf3, sqrtsf2, divdf3, divdf3_fpr): Condition on TARGET_SIMPLE_FPU.
* config/rs6000/rs6000.opt (-msingle-float): New.
(-mdouble-float): New.
(-msimple-fpu): New.
* doc/invoke.texi (RS/6000 and PowerPC Options): Add
-msingle-float, -mdouble-float, -msimple-fpu options.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Set
_SOFT_DOUBLE for -msingle-float.
* config.gcc: New config for target=powerpc-xilinx-eabi.
From-SVN: r140632
|
|
sync with libgfortran.
2008-09-24 Tobias Burnus <burnus@net-b.de>
* options.c (set_default_std_flags,gfc_init_options):
Add comment: keep in sync with libgfortran.
2008-09-24 Tobias Burnus <burnus@net-b.de>
* runtime/compile_options.c (init_compile_options):
Sync flags with front end.
From-SVN: r140625
|