Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r123176
|
|
From-SVN: r123172
|
|
From-SVN: r123171
|
|
From-SVN: r123170
|
|
From-SVN: r123169
|
|
From-SVN: r123168
|
|
* tracer.c (tracer): Don't take FLAGS argument. Assert we are
in cfglayout mode. Don't go into and out of cfglayout mode.
Link the blocks in the order of the constructed traces.
(rest_of_handle_tracer): Adjust call to tracer.
* loop-init.c (rtl_loop_init): Assert we are in cfglayout mode.
Don't go into cfglayout mode.
(rtl_loop_done): Don't go out of cfglayout mode.
* cfglayout.c (relink_block_chain): New function, split out from...
(fixup_reorder_chain): ...here. Remove redundant checking.
(cfg_layout_finalize): Don't clear the header, footer, and aux
fields here, move the code to do so to relink_block_chain. Likewise
for free_original_copy_tables.
* rtl.h (tracer): Update prototype.
* bb-reorder.c (reorder_basic_blocks): Don't take FLAGS argument.
Assert we are in cfglayout mode. Don't go into and out of cfglayout
mode. Use relink_block_chain to serialize the CFG according to the
new basic block order. Move targetm.cannot_modify_jumps_p check from
here...
(gate_handle_reorder_blocks): ...to here.
(duplicate_computed_gotos): Move targetm.cannot_modify_jumps_p check
from here...
(gate_duplicate_computed_gotos): ...to here.
(rest_of_handle_reorder_blocks): Don't see if anything has changed,
something always changes when going into and out of cfglayout mode.
Perform an expensive cfg cleanup while going into cfglayout mode.
Always update liveness information on HAVE_conditional_execution
targets. Reserialize the basic blocks and go out of cfglayout mode.
* reg-stack.c: Include cfglayout.h.
(rest_of_handle_stack_regs): Go into and out of cfglayout mode around
the call to reorder_basic_blocks.
* basic-block.h (reorder_basic_blocks): Update prototype.
(relink_block_chain): New prototype.
* passes.c (pass_outof_cfg_layout_mode): Move after cse2.
From-SVN: r123167
|
|
applicable.
* config/mips/mips.md (type, hazard, *movdi_32bit,
*movdi_gp32_fp64, *movdi_64bit, *movsi_internal, movcc,
*movhi_internal, *movqi_internal, *movsf_hardfloat,
*movdf_hardfloat_64bit, *movdf_hardfloat_32bit, *movdf_softfloat,
movv2sf_hardfloat_64bit, load_df_low, load_df_high, store_df_high,
mthc1, mfhc1): Change xfer instruction type to mfc and mtc, as
applicable.
(movcc): Change first xfer to multi.
* config/mips/24k.md, config/mips/4100.md, config/mips/4300.md,
config/mips/5000.md, config/mips/5400.md, config/mips/5500.md,
config/mips/5k.md, config/mips/7000.md, config/mips/9000.md,
config/mips/generic.md: Change reservations using "xfer" to use
"mfc,mtc".
* config/mips/sb1.md (ir_sb1_mtxfer): Use "mtc" instead of
using match_operand.
(ir_sb1_mfxfer): Use "mfc" instead of using match_operand.
* config/mips/sr71k.md (ir_sr70_xfer_from): Use "mfc" instead of
examining mode.
(ir_sr70_xfer_to): Use "mtc" instead of examining mode.
From-SVN: r123164
|
|
* config/i386/i386.c: Remove unnecessary function declarations.
Move targetm definition, and all related macros, to the end of
the file. Resort some functions to put definitions before uses.
(ix86_attribute_table): Make static. Move to end of file.
(ix86_gimplify_va_arg): Make static.
From-SVN: r123159
|
|
PR fortran/30834
* arith.c (complex_pow): Rewrite to handle large power.
(gfc_arith_power): Handle large power in the real and integer
cases.
* gfortran.dg/integer_exponentiation_3.F90: New test.
* gfortran.dg/integer_exponentiation_4.f90: New test.
* gfortran.dg/integer_exponentiation_5.F90: New test.
From-SVN: r123154
|
|
* cp-tree.h (current_tempalte_parms): Improve documentation.
* pt.c (current_template_args): Likewise.
From-SVN: r123153
|
|
PR c++/30863
* parser.c (cp_parser_parse_and_diagnose_invalid_type_name): Do
not consume tokens when failing.
PR c++/30863
* g++.dg/template/error24.C: New test.
* g++.dg/parse/tmpl-outside1.C: Tweak error markers.
From-SVN: r123152
|
|
Mark Mitchell <mark@codesourcery.com>
PR c++/31273
* call.c (standard_conversion): Use type_decays_to. Keep FCODE
consistent with FROM.
PR c++/31273
* g++.dg/expr/bitfield7.C: New test.
From-SVN: r123150
|
|
* error.c (dump_expr): Handle dependent names that designate types.
* cxx-pretty-print.c (pp_cxx_unqualified_id): Handle TYPENAME_TYPE.
From-SVN: r123148
|
|
* config/i386/i386.c (ix86_function_regparm): Early exit for 64-bit;
don't increase local_regparm with force_align_arg_pointer check.
(ix86_function_sseregparm): Assert 32-bit.
(type_has_variadic_args_p): New.
(ix86_return_pops_args): Early exit for 64-bit. Reindent; use
type_has_variadic_args_p.
(ix86_function_arg_regno_p): Use == 0 instead of ! test for eax.
(init_cumulative_args): Remove TARGET_DEBUG_ARG. Remove zero_cum;
use memset instead. Do maybe_vaarg check first; skip attribute
tests if true; skip attribute tests for 64-bit.
(construct_container): Remove TARGET_DEBUG_ARG.
(function_arg_advance_32, function_arg_advance_64): Split out ...
(function_arg_advance): ... from here.
(function_arg_32, function_arg_64): Split out ...
(function_arg): ... from here.
(ix86_pass_by_reference): Tidy.
(ix86_function_value_regno_p): Rearrange w/ switch on regno.
(function_value_32): New, from parts of ix86_function_value
and ix86_value_regno.
(function_value_64): New, from parts of ix86_function_value
and ix86_libcall_value.
(ix86_function_value_1): New.
(ix86_function_value, ix86_libcall_value): Use it.
(return_in_memory_32, return_in_memory_64): Split out ...
(ix86_return_in_memory): ... from here.
(ix86_struct_value_rtx): Skip for 64-bit.
(ix86_libcall_value, ix86_value_regno): Remove.
(setup_incoming_varargs_64): Split out ...
(ix86_setup_incoming_varargs): ... from here.
(ix86_va_start): Remove TARGET_DEBUG_ARG.
(legitimate_address_p, legitimize_address): Remove TARGET_DEBUG_ADDR.
* config/i386/i386-protos.h (ix86_function_value): Remove.
* config/i386/i386.opt (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Remove.
From-SVN: r123146
|
|
From-SVN: r123142
|
|
that overflows with option -Wextra)
2007-03-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR other/23572
* c-lex.c (interpret_float): On overflow, emit pedantic warning if
infinities not supported, otherwise emit warning if -Woverflow. On
underflow, emit warning if -Woverflow.
* real.c (real_from_string): Return -1 if underflow, +1 if overflow
and 0 otherwise.
* real.h (real_from_string): Update declaration
testsuite/
* gcc.dg/float-range-4.c: New.
* gcc.dg/float-range-1.c: Update. Test for a warning.
* gcc.dg/float-range-3.c: New.
* gcc.dg/float-range-5.c: New.
From-SVN: r123137
|
|
PR fortran/31262
* trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
larger than twice the width of a HOST_WIDE_INT.
* gfortran.dg/no_range_check_1.f90: New test.
From-SVN: r123136
|
|
* defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default.
* calls.c (compute_argument_block_size, expand_call,
emit_library_call_value_1): Don't ifdef OUTGOING_REG_PARM_STACK_SPACE.
* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
* function.c (STACK_DYNAMIC_OFFSET): Likewise.
* doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Update.
* config/alpha/unicosmk.h, config/bfin/bfin.h, config/iq2000/iq2000.h,
config/mips/mips.h, config/mn10300/mn10300.h, config/mt/mt.h,
config/pa/pa.h, config/rs6000/rs6000.h, config/score/score.h,
config/spu/spu.h, config/v850/v850.h (OUTGOING_REG_PARM_STACK_SPACE):
Set to 1.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r123135
|
|
* c-incpath.c (add_sysroot_to_chain): New.
(merge_include_chains): Add sysroot argument. Call
add_sysroot_to_chain if sysrooted.
(register_include_chains): Update call to merge_include_chains.
* doc/cppopts.texi: Document use of '=' in include directory
arguments.
From-SVN: r123134
|
|
From-SVN: r123133
|
|
2007-03-22 Dirk Mueller <dmueller@suse.de>
* g++.old-deja/g++.brendan/warnings2.C: Don't use -pedantic.
* g++.dg/other/static1.C: Remove stray semicolon.
* g++.dg/other/init1.C: Likewise.
* g++.dg/rtti/dyncast1.C: Likewise.
* g++.dg/tree-ssa/pr17153.C: Likewise.
* g++.dg/lookup/disamb1.C: Likewise.
* g++.dg/lookup/scoped2.C: Likewise.
* g++.dg/lookup/friend7.C: Likewise.
* g++.dg/parse/parse4.C: Likewise.
* g++.dg/parse/parse5.C: Likewise.
* g++.dg/expr/pr29066.C: Likewise.
* g++.dg/expr/cast4.C: Likewise.
* g++.dg/tc1/dr193.C: Likewise.
* g++.dg/tc1/dr213.C: Likewise.
* g++.dg/abi/dcast1.C: Likewise.
* g++.dg/abi/covariant2.C: Likewise.
* g++.dg/inherit/covariant11.C: Likewise.
* g++.dg/inherit/covariant9.C: Likewise.
* g++.dg/inherit/covariant10.C: Likewise.
* g++.dg/init/static3.C: Likewise.
* g++.dg/init/init-ref3.C: Likewise.
* g++.dg/init/ref10.C: Likewise.
* g++.dg/template/meminit2.C: Likewise.
* g++.dg/template/using9.C: Likewise.
* g++.dg/template/friend9.C: Likewise.
* g++.dg/template/ref1.C: Likewise.
* g++.old-deja/g++.warn/inline.C: Likewise.
* g++.old-deja/g++.robertl/eb91.C: Likewise.
* g++.old-deja/g++.robertl/eb46.C: Likewise.
* g++.old-deja/g++.robertl/eb34.C: Likewise.
* g++.old-deja/g++.robertl/eb43.C: Likewise.
* g++.old-deja/g++.robertl/eb26.C: Likewise.
* g++.old-deja/g++.robertl/eb116.C: Likewise.
* g++.old-deja/g++.brendan/copy5.C: Likewise.
* g++.old-deja/g++.brendan/overload8.C: Likewise.
* g++.old-deja/g++.brendan/overload11.C: Likewise.
* g++.old-deja/g++.brendan/copy7.C: Likewise.
* g++.old-deja/g++.brendan/crash38.C: Likewise.
* g++.old-deja/g++.brendan/template11.C: Likewise.
* g++.old-deja/g++.brendan/err-msg3.C: Likewise.
* g++.old-deja/g++.brendan/crash50.C: Likewise.
* g++.old-deja/g++.brendan/crash16.C: Likewise.
* g++.old-deja/g++.jason/pmem2.C: Likewise.
* g++.old-deja/g++.jason/parse9.C: Likewise.
* g++.old-deja/g++.jason/byval2.C: Likewise.
* g++.old-deja/g++.jason/overload8.C: Likewise.
* g++.old-deja/g++.jason/pmf8.C: Likewise.
* g++.old-deja/g++.jason/template33.C: Likewise.
* g++.old-deja/g++.jason/return3.C: Likewise.
* g++.old-deja/g++.jason/scoping2.C: Likewise.
* g++.old-deja/g++.jason/virtual.C: Likewise.
* g++.old-deja/g++.jason/opeq3.C: Likewise.
* g++.old-deja/g++.jason/template27.C: Likewise.
* g++.old-deja/g++.jason/synth6.C: Likewise.
* g++.old-deja/g++.jason/ref8.C: Likewise.
* g++.old-deja/g++.jason/offset1.C: Likewise.
* g++.old-deja/g++.other/static20.C: Likewise.
* g++.old-deja/g++.other/array1.C: Likewise.
* g++.old-deja/g++.other/new3.C: Likewise.
* g++.old-deja/g++.other/array2.C: Likewise.
* g++.old-deja/g++.other/overload9.C: Likewise.
* g++.old-deja/g++.other/cast6.C: Likewise.
* g++.old-deja/g++.other/ptrmem8.C: Likewise.
* g++.old-deja/g++.other/eh4.C: Likewise.
* g++.old-deja/g++.other/using7.C: Likewise.
* g++.old-deja/g++.other/init18.C: Likewise.
* g++.old-deja/g++.other/dyncast1.C: Likewise.
* g++.old-deja/g++.other/dyncast2.C: Likewise.
* g++.old-deja/g++.other/dtor11.C: Likewise.
* g++.old-deja/g++.pt/static11.C: Likewise.
* g++.old-deja/g++.pt/crash19.C: Likewise.
* g++.old-deja/g++.pt/overload12.C: Likewise.
* g++.old-deja/g++.pt/crash46.C: Likewise.
* g++.old-deja/g++.pt/mi1.C: Likewise.
* g++.old-deja/g++.pt/vaarg3.C: Likewise.
* g++.old-deja/g++.pt/nontype5.C: Likewise.
* g++.old-deja/g++.pt/local5.C: Likewise.
* g++.old-deja/g++.pt/typename2.C: Likewise.
* g++.old-deja/g++.pt/explicit80.C: Likewise.
* g++.old-deja/g++.pt/auto_ptr.C: Likewise.
* g++.old-deja/g++.law/visibility1.C: Likewise.
* g++.old-deja/g++.law/visibility2.C: Likewise.
* g++.old-deja/g++.law/virtual2.C: Likewise.
* g++.old-deja/g++.law/operators19.C: Likewise.
* g++.old-deja/g++.law/parsing10.C: Likewise.
* g++.old-deja/g++.law/visibility4.C: Likewise.
* g++.old-deja/g++.law/operators4.C: Likewise.
* g++.old-deja/g++.law/dtors2.C: Likewise.
* g++.old-deja/g++.law/missed-error3.C: Likewise.
* g++.old-deja/g++.law/visibility10.C: Likewise.
* g++.old-deja/g++.law/scope3.C: Likewise.
* g++.old-deja/g++.law/casts2.C: Likewise.
* g++.old-deja/g++.law/code-gen5.C: Likewise.
* g++.old-deja/g++.law/operators33.C: Likewise.
* g++.old-deja/g++.law/friend4.C: Likewise.
* g++.old-deja/g++.mike/pmf7.C: Likewise.
* g++.old-deja/g++.mike/p5611.C: Likewise.
* g++.old-deja/g++.mike/net37.C: Likewise.
* g++.old-deja/g++.mike/p3570.C: Likewise.
* g++.old-deja/g++.mike/p5718.C: Likewise.
* g++.old-deja/g++.mike/net21.C: Likewise.
* g++.old-deja/g++.mike/p1862.C: Likewise.
* g++.old-deja/g++.mike/p4511.C: Likewise.
* g++.old-deja/g++.mike/virt3.C: Likewise.
* g++.old-deja/g++.mike/p16146.C: Likewise.
* g++.old-deja/g++.mike/p1989.C: Likewise.
* g++.old-deja/g++.mike/p5571.C: Likewise.
* g++.old-deja/g++.gb/scope10.C: Likewise.
* g++.old-deja/g++.abi/primary5.C: Likewise.
* g++.old-deja/g++.abi/empty2.C: Likewise.
* g++.old-deja/g++.abi/arraynew.C: Likewise.
* g++.old-deja/g++.eh/vbase4.C: Likewise.
* g++.old-deja/g++.eh/ptr1.C: Likewise.
* g++.old-deja/g++.eh/cleanup1.C: Likewise.
* g++.old-deja/g++.bob/template3.C: Likewise.
* g++.old-deja/g++.bob/inherit1.C: Likewise.
From-SVN: r123132
|
|
2006-03-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31193
* trans-intrinsic.c (gfc_size_in_bytes): Remove function.
(gfc_conv_intrinsic_array_transfer): Remove calls to previous.
Explicitly extract TREE_TYPEs for source and mold. Use these
to calculate length of source and mold, except for characters,
where the se string_length is used. For mold, the TREE_TYPE is
recalculated using gfc_get_character_type_len so that the
result is correctly cast for character literals and substrings.
Do not use gfc_typenode_for_spec for the final cast.
2006-03-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31193
* gfortran.dg/transfer_array_intrinsic_3.f90: New test.
From-SVN: r123131
|
|
PR fortran/20897
fortran/
* decl.c (gfc_match_derived_decl): Reliably reject
'doubleprecision' and 'doublecomplex' as type names.
testsuite/
* gfortran.dg/derived_name_1.f90: New.
* gfortran.dg/derived_name_2.f: New.
From-SVN: r123129
|
|
* config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf.
Macroize expander using SSEMODEF mode macro. Use SSE_FLOAT_MODE_P.
(*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize
insn pattern using X87MODEF12 mode macro.
From-SVN: r123128
|
|
reg_overlap_mentioned_p for DST.
2007-03-21 Seongbae Park <seongbae.park@gmail.com>
* regmove.c (regmove_optimize): Use reg_mentioned_p
instead of reg_overlap_mentioned_p for DST.
From-SVN: r123124
|
|
From-SVN: r123122
|
|
From-SVN: r123114
|
|
POINTERS_EXTEND_UNSIGNED < 0
* explow.c (convert_memory_address): Fold memory reference when
POINTERS_EXTEND_UNSIGNED < 0
From-SVN: r123113
|
|
PR target/31245
* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
* config/i386/mmintrin.h (__m64): Likewise.
* config/i386/xmmintrin.h (__m128): Likewise.
From-SVN: r123112
|
|
gcc/
* config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options.
(VXWORKS_OS_CPP_BUILTINS): Define.
* config/i386/vxworks.h (VXWORKS_CPU_DEFINE): Fold into...
(TARGET_OS_CPP_BUILTINS): ...here. Use VXWORKS_OS_CPP_BUILTINS.
From-SVN: r123108
|
|
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_nonpic): New
procedure.
* gcc.target/i386/20020616-1.c: Use an alternative to %ebx
when compiling PIC.
* gcc.target/i386/asm-4.c: Require nonpic.
* gcc.target/i386/cmov1.c: Likewise.
* gcc.target/i386/mul.c: Likewise.
* gcc.target/i386/pr21291.c: Require nonpic or ! ilp32.
* gcc.target/i386/ssetype-1.c: Require nonpic.
* gcc.target/i386/ssetype-3.c: Likewise.
* gcc.target/i386/ssetype-5.c: Likewise.
From-SVN: r123107
|
|
gcc/
* rtl.h (constant_pool_reference_p): Delete.
(find_constant_src): Declare.
* rtlanal.c (find_constant_src): New function.
* simplify-rtx.c (constant_pool_reference_p): Delete.
* config/i386/i386.md: Use find_constant_src instead of
constant_pool_reference_p/avoid_constant_pool_reference pairs.
From-SVN: r123106
|
|
gcc/testsuite/
* gcc.c-torture/execute/builtins/chk.h (LOCAL): Define.
* gcc.c-torture/execute/builtins/sprintf-chk.c (s1): Make LOCAL.
* gcc.c-torture/execute/builtins/stpcpy-chk.c (s1): Likewise.
* gcc.c-torture/execute/builtins/strcpy-chk.c (s1): Likewise.
From-SVN: r123105
|
|
gcc/
* doc/invoke.texi (-fpie, -fPIE): Document __pie__ and __PIE__.
* c-cppbuiltin.c (c_cpp_builtins): Define them.
From-SVN: r123104
|
|
* config/arm/elf.h (TARGET_ASM_DESTRUCTOR): Define.
* config/arm/arm.c (arm_elf_asm_cdtor): New function.
(arm_elf_asm_constructor): Use it.
(arm_elf_asm_destructor): New function.
From-SVN: r123103
|
|
From-SVN: r123100
|
|
* jump.c (mark_jump_label): Treat SEQUENCE specially.
From-SVN: r123096
|
|
2007-03-19 Seongbae Park <seongbae.park@gmail.com>
PR tree-optimization/30590
* g++.dg/opt/pr30590.C: New testcase.
From-SVN: r123087
|
|
From-SVN: r123086
|
|
2007-03-19 Andrew Haley <aph@redhat.com>
PR tree-optimization/31264
* tree-vrp.c (register_edge_assert_for_1): Don't look though
VIEW_CONVERT_EXPRs.
2007-03-20 Andrew Haley <aph@redhat.com>
* testsuite/libjava.lang/PR31264.java: New test.
From-SVN: r123085
|
|
2007-03-19 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/30907
* fwprop.c (forward_propagate_into): Never propagate inside a loop.
(fwprop_init): Always call loop_optimizer_initialize.
(fwprop_done): Always call loop_optimizer_finalize.
(fwprop): We always have loop info now.
(gate_fwprop_addr): Remove.
(pass_fwprop_addr): Use gate_fwprop as gate.
PR rtl-optimization/30841
* df-problems.c (df_ru_local_compute, df_rd_local_compute,
df_chain_alloc): Call df_reorganize_refs unconditionally.
* df-scan.c (df_rescan_blocks, df_reorganize_refs): Change
refs_organized to refs_organized_size.
(df_ref_create_structure): Use refs_organized_size instead of
bitmap_size if refs had been organized, and keep refs_organized_size
up-to-date.
* df.h (struct df_ref_info): Change refs_organized to
refs_organized_size.
(DF_DEFS_SIZE, DF_USES_SIZE): Use refs_organized_size instead of
bitmap_size.
From-SVN: r123084
|
|
personality routine for functions that do not require...
* except.c (output_function_exception_table): Do not reference the
EH personality routine for functions that do not require an
exception table.
From-SVN: r123082
|
|
From-SVN: r123080
|
|
PR c/30762
* c-typeck.c (convert_for_assignment): Call comptypes for
RECORD_TYPE or UNION_TYPE.
* gcc.dg/pr30762-1.c: New test.
* gcc.dg/pr30762-2.c: New test.
From-SVN: r123073
|
|
PR inline-asm/30505
* reload1.c (reload): Do invalid ASM checking after
cleanup_subreg_operands.
* gcc.target/i386/pr30505.c: New test.
From-SVN: r123072
|
|
gcc/testsuite/
* gcc.target/arm/register-variables.c: New.
From-SVN: r123071
|
|
* tree-cfg.c (find_taken_edge): Tighten conditions for
optimizing computed gotos.
* PR tree-optimization/30984
* gcc.c-torture/pr30984.c: New test.
From-SVN: r123067
|
|
CONST_INTs correctly.
* builtins.c (expand_builtin_sync_operation,
expand_builtin_compare_and_swap,
expand_builtin_lock_test_and_set): Care for extending CONST_INTs
correctly.
* config/i386/sync.md (sync_double_compare_and_swapdi_pic,
sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
for operand 3.
From-SVN: r123064
|
|
2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
* doc/tm.texi: Add brackets around the return type of
TARGET_SECONDARY_RELOAD.
From-SVN: r123062
|