1917 lines
65 KiB
Plaintext
1917 lines
65 KiB
Plaintext
2007-07-19 Release Manager
|
|
|
|
* GCC 4.2.1 released.
|
|
|
|
2007-07-18 Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
Revert:
|
|
|
|
2007-07-09 Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
PR middle-end/32004
|
|
* function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
|
|
|
|
2007-07-06 Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
PR middle-end/32004
|
|
* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
|
|
pass_match_asm_constraints): New.
|
|
* passes.c (init_optimization_passes): Add new pass.
|
|
* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
|
|
* function.h (struct function): Add has_asm_statement bit.
|
|
(current_function_has_asm_statement): New.
|
|
* tree-pass.h (pass_match_asm_constraints): New.
|
|
|
|
2007-07-16 Paul Brook <paul@codesourcery.com>
|
|
|
|
PR target/32753
|
|
gcc/
|
|
* config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
|
|
|
|
2007-07-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
|
|
|
PR target/32538
|
|
* config/mips/iris6.h (LIBGCC_SPEC): Add libm.
|
|
|
|
2007-07-09 Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
PR middle-end/32004
|
|
* function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
|
|
|
|
2007-07-09 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
PR tree-optimization/32681
|
|
* tree-if-conv.c (find_phi_replacement_condition): Use the condition
|
|
saved in second_edge->aux when first_bb is a loop header.
|
|
|
|
2007-07-07 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
PR target/31331
|
|
* config/avr/avr.c (avr_naked_function_p): Handle receiving a type
|
|
rather than a decl.
|
|
(avr_attribute_table): Make "naked" attribute apply to function types
|
|
rather than to decls.
|
|
(avr_handle_fntype_attribute): New function.
|
|
|
|
2007-07-06 Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
PR middle-end/32004
|
|
* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
|
|
pass_match_asm_constraints): New.
|
|
* passes.c (init_optimization_passes): Add new pass.
|
|
* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
|
|
* function.h (struct function): Add has_asm_statement bit.
|
|
(current_function_has_asm_statement): New.
|
|
* tree-pass.h (pass_match_asm_constraints): New.
|
|
|
|
2007-07-06 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
PR rtl-optimization/32450
|
|
* function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
|
|
to ensure that instructions are not moved into the prologue when
|
|
profiling is on.
|
|
|
|
2007-07-04 Richard Guenther <rguenther@suse.de>
|
|
|
|
PR tree-optimization/32500
|
|
* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
|
|
Only use basic blocks that are always executed to infer loop bounds.
|
|
|
|
2007-07-04 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
PR tree-optimization/31966
|
|
PR tree-optimization/32533
|
|
* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
|
|
"basic_block" description as its third argument. Update function
|
|
calls to get destination bb from "edge" argument. Save "cond" into
|
|
aux field of the edge. Update prototype for changed arguments.
|
|
(if_convertible_loop_p): Clear aux field of incoming edges if bb
|
|
contains phi node.
|
|
(find_phi_replacement_condition): Operate on incoming edges, not
|
|
on predecessor blocks. If there is a condition saved in the
|
|
incoming edge aux field, AND it with incoming bb predicate.
|
|
Return source bb of the first edge.
|
|
(clean_predicate_lists): Clean aux field of outgoing node edges.
|
|
(tree_if_conversion): Do not initialize cond variable. Move
|
|
variable declaration into the loop.
|
|
(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
|
|
initializations of new_stmt, arg0 and arg1 variables.
|
|
|
|
2007-07-04 Kaz Kojima <kkojima@gcc.gnu.org>
|
|
|
|
PR target/32506
|
|
Backport from mainline.
|
|
* config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
|
|
predicate instead of target_operand.
|
|
(divsi3_i1_media, divsi3_media_2): Likewise.
|
|
|
|
2007-07-03 Richard Guenther <rguenther@suse.de>
|
|
|
|
Backport from mainline:
|
|
2006-12-11 Zdenek Dvorak <dvorakz@suse.cz>
|
|
|
|
PR rtl-optimization/30113
|
|
* loop-iv.c (implies_p): Require the mode of the operands to be
|
|
scalar.
|
|
|
|
2007-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
|
|
|
PR target/28307
|
|
* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
|
|
(__gthrw_pragma): Provide default definition.
|
|
(__gthrw2): Use it.
|
|
* gthr-posix.c (__gthrw_pragma): Define.
|
|
|
|
2007-07-02 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR libgomp/32468
|
|
* omp-low.c (check_combined_parallel): New function.
|
|
(lower_omp_parallel): Call it via walk_stmts, set
|
|
OMP_PARALLEL_COMBINED if appropriate.
|
|
(determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
|
|
isn't the only statement in WS_ENTRY_BB or OMP_RETURN
|
|
the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
|
|
don't consider it as combined parallel.
|
|
|
|
2007-06-30 Alexandre Oliva <aoliva@redhat.com>
|
|
|
|
* dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
|
|
limbo die nodes.
|
|
|
|
2007-06-28 Seongbae Park <seongbae.park@gmail.com>
|
|
|
|
* config/arm/arm.c (arm_get_frame_offsets): Set
|
|
offsets->locals_base to avoid negative stack size.
|
|
(thumb_expand_prologue): Assert on negative stack size.
|
|
|
|
2007-06-28 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
|
|
decl is non-external for AIX ABI.
|
|
|
|
2007-06-28 David Edelsohn <edelsohn@gnu.org>
|
|
|
|
* config/rs6000/predicates.md (current_file_function_operand):
|
|
Ensure the symbol is non-external for AIX ABI.
|
|
|
|
2007-06-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI.
|
|
(ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi.
|
|
(ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI.
|
|
|
|
2007-06-21 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR middle-end/32362
|
|
* omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
|
|
but decl is a global var, instead return decl.
|
|
* gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
|
|
even for is_global_var decls, if they are private in some outer
|
|
context.
|
|
|
|
2007-06-21 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
PR target/32389
|
|
* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
|
|
* config/i386/i386.c (assign_386_stack_local): Assert that
|
|
SLOT_VIRTUAL is valid only before virtual regs are instantiated.
|
|
(ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
|
|
Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
|
|
* config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto.
|
|
|
|
2007-06-20 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR inline-asm/32109
|
|
* gimplify.c (gimplify_asm_expr): Issue error if type is addressable
|
|
and !allows_mem.
|
|
|
|
PR middle-end/32285
|
|
* calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
|
|
if ACCUMULATE_OUTGOING_ARGS.
|
|
|
|
2007-06-20 Kaz Kojima <kkojima@gcc.gnu.org>
|
|
|
|
PR rtl-optimization/28011
|
|
Backport from mainline.
|
|
* reload.c (push_reload): Set dont_share if IN appears in OUT
|
|
also when IN is a PLUS rtx.
|
|
(reg_overlap_mentioned_for_reload_p): Return true if X and IN
|
|
are same PLUS rtx.
|
|
|
|
2007-06-19 Richard Guenther <rguenther@suse.de>
|
|
Michael Matz <matz@suse.de>
|
|
|
|
PR tree-optimization/30252
|
|
* tree-ssa-structalias.c (solution_set_add): Make sure to
|
|
preserve all relevant vars.
|
|
(handle_ptr_arith): Make sure to only handle positive
|
|
offsets.
|
|
(push_fields_onto_fieldstack): Create fields for empty
|
|
bases.
|
|
|
|
2007-06-19 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR tree-optimization/32353
|
|
* tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
|
|
|
|
2007-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
|
|
|
|
* config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the
|
|
return mode from the builtin itself.
|
|
(sparc_fold_builtin): Fix cast of zero constant.
|
|
|
|
2007-06-15 Diego Novillo <dnovillo@google.com>
|
|
|
|
PR 32327
|
|
* tree-ssa-operands.c (build_ssa_operands): Initially assume
|
|
that the statement does not take any addresses.
|
|
|
|
2007-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
|
|
|
|
* config/sparc/sparc.c (sparc_override_options): Initialize
|
|
fpu mask correctly.
|
|
|
|
2007-06-09 Ian Lance Taylor <iant@google.com>
|
|
|
|
PR tree-optimization/32169
|
|
* tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
|
|
CONVERT_EXPR, check whether min and max both converted to an
|
|
overflow infinity representation.
|
|
|
|
2007-06-08 Kaz Kojima <kkojima@gcc.gnu.org>
|
|
|
|
PR target/32163
|
|
Backport from mainline.
|
|
* config/sh/sh.md (symGOT_load): Don't schedule insns when
|
|
the symbol is generated with the stack protector.
|
|
|
|
2007-06-06 Ian Lance Taylor <iant@google.com>
|
|
|
|
* fold-const.c (merge_ranges): If range_successor or
|
|
range_predecessor fail, just return 0.
|
|
|
|
2007-06-05 Ian Lance Taylor <iant@google.com>
|
|
|
|
* tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
|
|
PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
|
|
(extract_range_from_assert): Set TREE_NO_WARNING when creating an
|
|
expression.
|
|
(test_for_singularity): Likewise.
|
|
|
|
2007-06-04 Ian Lance Taylor <iant@google.com>
|
|
|
|
* tree-vrp.c (adjust_range_with_scev): When loop is not expected
|
|
to overflow, reduce overflow infinity to regular infinity.
|
|
(vrp_var_may_overflow): New static function.
|
|
(vrp_visit_phi_node): Check vrp_var_may_overflow.
|
|
|
|
2007-05-31 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
Backport from mainline:
|
|
2007-05-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
|
|
with MASK_SSE2.
|
|
(__builtin_ia32_vec_ext_v2di): Likewise.
|
|
(__builtin_ia32_vec_ext_v4si): Likewise.
|
|
(__builtin_ia32_vec_ext_v8hi): Likewise.
|
|
(__builtin_ia32_vec_set_v8hi): Likewise.
|
|
|
|
2007-05-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
Backport from mainline:
|
|
2007-05-05 Aurelien Jarno <aurelien@aurel32.net>
|
|
|
|
* config/pa/pa.md: Split tgd_load, tld_load and tie_load
|
|
into pic and non-pic versions. Mark r19 as used for
|
|
tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used
|
|
for tgd_load, tld_load and tie_load .
|
|
* config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
|
|
version of tgd_load, tld_load and tie_load depending on the
|
|
value of flag_pic.
|
|
|
|
2007-05-27 Daniel Berlin <dberlin@dberlin.org>
|
|
|
|
Fix PR/30052
|
|
Backport PTA solver from mainline
|
|
|
|
* pointer-set.c: Copy from mainline
|
|
* pointer-set.h: Ditto.
|
|
* tree-ssa-structalias.c: Copy solver portions from mainline.
|
|
* Makefile.in (tree-ssa-structalias.o): Update dependencies
|
|
|
|
2007-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
|
|
* tree-vrp.c (compare_names): Initialize sop.
|
|
|
|
2007-05-30 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR tree-optimization/31769
|
|
* except.c (duplicate_eh_regions): Clear prev_try if
|
|
ERT_MUST_NOT_THROW region is inside of ERT_TRY region.
|
|
|
|
2007-05-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
|
|
|
PR tree-opt/32100
|
|
* fold-const.c (tree_expr_nonnegative_warnv_p): Don't
|
|
return true when truth_value_p is true and the type
|
|
is of signed:1.
|
|
|
|
2007-05-27 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
Backport from mainline:
|
|
2007-05-25 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
* config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
|
|
"memory" attribute for "sseishft" type insn without operands[2].
|
|
|
|
2007-05-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.
|
|
|
|
2007-05-22 Ian Lance Taylor <iant@google.com>
|
|
|
|
* tree-vrp.c (avoid_overflow_infinity): New static function,
|
|
broken out of set_value_range_to_value.
|
|
(set_value_range_to_value): Call avoid_overflow_infinity.
|
|
(extract_range_from_assert): Likewise.
|
|
|
|
2007-05-23 Chen Liqin <liqin@sunnorth.com.cn>
|
|
|
|
PR target/30987
|
|
* config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove.
|
|
* config/score/predicate.md (const_pow2, const_npow2): remove.
|
|
* config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef.
|
|
PR target/30474
|
|
* config/score/score.c (score_print_operand): makes sure that only lower
|
|
bits are used.
|
|
|
|
2007-05-21 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
PR target/31167
|
|
Backport from mainline.
|
|
* config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
|
|
x86_64_general_operand as operand[2] predicate. Remove "iF"
|
|
from operand constraints and use "e" constraint instead.
|
|
(*subti3_1, *subti3_1 splitter): Ditto.
|
|
(*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
|
|
operand[1] predicate.
|
|
|
|
2007-05-21 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
PR target/30041
|
|
Backport from mainline.
|
|
* config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
|
|
operands[1] in insn constraint. Correct type attribute to sselog1.
|
|
|
|
2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
|
|
|
|
PR target/31701
|
|
Backport from mainline.
|
|
* config/sh/sh.c (output_stack_adjust): Avoid using the frame
|
|
register itself to hold the offset constant. Tell flow the use
|
|
of r4 and r5 when they are used.
|
|
|
|
2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
|
|
|
|
PR target/31480
|
|
Backport from mainline.
|
|
* config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
|
|
is null.
|
|
|
|
2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
|
|
|
|
PR target/31022
|
|
Backport from mainline.
|
|
* config/sh/sh.c (sh_adjust_cost): Use the result of single_set
|
|
instead of PATTERN.
|
|
|
|
2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
|
|
|
|
PR target/27405
|
|
Backport from mainline.
|
|
* config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
|
|
(cmpsi{eq,gt,gtu}{si,di}_media): Rename to
|
|
cmp{eq,gt,gtu}{si,di}_media.
|
|
(*cmpne0si_media): Remove.
|
|
(*movsicc_umin): Adjust gen_cmp*_media call.
|
|
(unordered): Change the mode of unordered and operands[1] to
|
|
SImode.
|
|
(seq): Adjust gen_cmp*_media calls. Make the mode of
|
|
a temporary result of compare SImode if needed. If the mode
|
|
of operands[0] is DImode, extend the temporary result to DImode.
|
|
(slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
|
|
(sunorderd): Change the mode of match_operand and unorderd to
|
|
SImode.
|
|
(cmpeq{sf,df}_media): Remove.
|
|
(cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
|
|
(cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
|
|
and compare operation to SImode.
|
|
|
|
2007-05-18 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
* config/soft-fp/double.h, config/soft-fp/extended.h,
|
|
config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
|
|
config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
|
|
config/soft-fp/op-2.h, config/soft-fp/op-4.h,
|
|
config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
|
|
glibc CVS.
|
|
|
|
2007-05-17 Ian Lance Taylor <iant@google.com>
|
|
|
|
PR tree-optimization/31953
|
|
* tree-vrp.c (set_value_range_to_value): Add equiv parameter.
|
|
Change all callers.
|
|
(set_value_range_to_null): Call set_value_range_to_value.
|
|
(extract_range_from_comparison): Likewise.
|
|
|
|
2007-05-17 Eric Botcazou <ebotcazou@libertysurf.fr>
|
|
|
|
PR rtl-optimization/31691
|
|
* combine.c (simplify_set): Build a new src pattern instead of
|
|
substituting its operands in the COMPARE case.
|
|
|
|
2007-05-14 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
* BASE-VER: Set to 4.2.1.
|
|
* DEV-PHASE: Set to prerelease.
|
|
|
|
2007-05-13 Release Manager
|
|
|
|
* GCC 4.2.0 released.
|
|
|
|
2007-05-12 Richard Guenther <rguenther@suse.de>
|
|
|
|
PR tree-optimization/31797
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
|
|
propagate into a stmt that has volatile ops.
|
|
|
|
2007-05-01 Ian Lance Taylor <iant@google.com>
|
|
|
|
PR tree-optimization/31739
|
|
* tree-vrp.c (vrp_val_is_max): New static function.
|
|
(vrp_val_is_min): New static function.
|
|
(set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
|
|
copying the node.
|
|
(set_value_range): Use vrp_val_is_{max,min}.
|
|
(extract_range_from_assert): Likewise.
|
|
(extract_range_from_binary_expr): Likewise.
|
|
(extract_range_from_unary_expr): Likewise.
|
|
(dump_value_range, vrp_meet): Likewise.
|
|
(vrp_visit_phi_node): Likewise.
|
|
* tree.c (build_distinct_type_copy): Revert change of 2007-04-27.
|
|
|
|
2007-05-01 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
* config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
|
|
|
|
2007-04-27 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
* config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and
|
|
ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture.
|
|
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
|
|
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
|
|
|
|
2007-04-27 Ian Lance Taylor <iant@google.com>
|
|
|
|
PR middle-end/31710
|
|
* tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
|
|
TYPE_MAX_VALUE exist, convert them to the new type.
|
|
|
|
2007-04-26 Ian Lance Taylor <iant@google.com>
|
|
|
|
PR target/28675
|
|
* reload.c (find_reloads_subreg_address): If the address was valid
|
|
in the original mode but not in the new mode, reload the whole
|
|
address.
|
|
|
|
2007-04-26 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
PR middle-end/30761
|
|
* reload1.c (eliminate_regs_in_insn): In the single_set special
|
|
case, attempt to re-recognize the insn before falling back to
|
|
having reload fix it up.
|
|
|
|
2007-04-26 Richard Guenther <rguenther@suse.de>
|
|
Daniel Berlin <dberlin@dberlin.org>
|
|
|
|
PR tree-optimization/30567
|
|
* tree-ssa-structalias.c (update_alias_info): Record dereference
|
|
also if ESCAPE_STORED_IN_GLOBAL.
|
|
|
|
2007-04-26 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR c++/31598
|
|
* tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
|
|
|
|
PR tree-optimization/30558
|
|
* tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
|
|
clear this_state.prev_try.
|
|
|
|
2007-04-25 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
PR target/18989
|
|
* config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
|
|
|
|
2007-04-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
|
Roger Sayle <roger@eyesopen.com>
|
|
|
|
PR middle-end/30222
|
|
* expmed.c (make_tree): Use the correct type, i.e. the inner
|
|
type, when constructing the individual elements of a CONST_VECTOR.
|
|
|
|
2007-04-24 Ian Lance Taylor <iant@google.com>
|
|
|
|
PR tree-optimization/31605
|
|
* tree-vrp.c (set_value_range): Check that min and max are not
|
|
both overflow infinities.
|
|
(set_value_range_to_value): New static function.
|
|
(extract_range_from_binary_expr): Call set_value_range_to_value.
|
|
(extract_range_from_expr): Likewise.
|
|
(extract_range_from_unary_expr): Likewise. Don't create a range
|
|
which overflows on both sides.
|
|
(vrp_meet): Check for a useless range.
|
|
(vrp_visit_phi_node): If we see a constant which looks like an
|
|
overflow infinity, turn off the TREE_OVERFLOW flag.
|
|
|
|
2007-04-24 Ian Lance Taylor <iant@google.com>
|
|
|
|
PR tree-optimization/31602
|
|
* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
|
|
conditionals in the copied loop header.
|
|
* tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
|
|
warnings if TREE_NO_WARNING is set.
|
|
* doc/invoke.texi (Warning Options): Clarify that
|
|
-Wstrict-overflow does not warn about loops.
|
|
|
|
2007-04-24 Andreas Krebbel <krebbel1@de.ibm.com>
|
|
|
|
PR target/31641
|
|
* config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
|
|
argument of 0 for memset.
|
|
(s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
|
|
unsigned shift instead of the signed variant.
|
|
|
|
2007-04-24 Daniel Franke <franke.daniel@gmail.com>
|
|
|
|
* doc/invoke.texi: Removed leading '-' from option index entries.
|
|
|
|
2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
|
|
|
PR middle-end/31448
|
|
* expr.c (reduce_to_bit_field_precision): Handle
|
|
CONST_INT rtx's.
|
|
|
|
2007-04-20 Richard Henderson <rth@redhat.com>
|
|
|
|
PR target/28623
|
|
* config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
|
|
argument; update all callers.
|
|
(get_unaligned_offset): New.
|
|
* config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
|
|
get_unaligned_address, just pass on the address directly.
|
|
(unaligned_extendqidi): Use gen_lowpart instead of open-coding
|
|
the subreg in the helper patterns.
|
|
(unaligned_extendqidi_le): Use get_unaligned_offset.
|
|
(unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
|
|
(unaligned_extendhidi_be): Likewise.
|
|
(unaligned_extendhidi): Tidy.
|
|
* config/alpha/alpha-protos.h: Update.
|
|
|
|
2007-04-21 Richard Guenther <rguenther@suse.de>
|
|
|
|
PR middle-end/31136
|
|
* fold-const.c (fold_unary): Call fold_convert_const on the
|
|
original tree.
|
|
|
|
2007-04-20 Richard Henderson <rth@redhat.com>
|
|
|
|
* config/alpha/linux.h (CPP_SPEC): Undef before redefine.
|
|
|
|
2007-04-20 Bernd Schmidt <bernd.schmidt@analog.com>
|
|
|
|
* reload.c (combine_reloads): When trying to use a dying register,
|
|
check whether it's uninitialized and don't use if so.
|
|
|
|
2007-04-20 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
* config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
|
|
for __builtin_ia32_cmpordss.
|
|
|
|
PR tree-optimization/31632
|
|
* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
|
|
and arg1 for optimizations of comparison against min/max values.
|
|
Fold arg0 to arg1's type for optimizations of comparison against
|
|
min+1 and max-1 values.
|
|
|
|
2007-04-19 Eric Botcazou <ebotcazou@libertysurf.fr>
|
|
|
|
PR rtl-optimization/29841
|
|
* cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
|
|
trap instructions.
|
|
* sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
|
|
that may cause control flow transfer from being moved.
|
|
|
|
2007-04-18 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
* config/avr/avr.c (ptrreg_to_str): Replace error() with
|
|
output_operand_lossage().
|
|
|
|
2007-04-17 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
PR target/30483
|
|
* config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
|
|
error().
|
|
|
|
2007-04-17 Jan Hubicka <jh@suse.cz>
|
|
|
|
PR middle-end/30700
|
|
* dwarf2out.c (reference_to_unused): Ask cgraph for functions
|
|
availablility; add more sanity checking; ask varpool only about
|
|
VAR_DECL.
|
|
|
|
2007-04-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* Backport from mainline:
|
|
2007-04-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
|
|
on "0".
|
|
(sse_vmmulv4sf3): Likewise.
|
|
(sse2_vmaddv2df3): Likewise.
|
|
(sse2_vmmulv2df3): Likewise.
|
|
|
|
2007-04-16 Matthias Klose <doko@debian.org>
|
|
|
|
* config/alpha/linux.h (CPP_SPEC): Define.
|
|
* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
|
|
|
|
2007-04-16 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
* config/avr/avr.c (avr_arch_types): Rearranging array.
|
|
(enum avr_arch): Add.
|
|
(avr_mcu_types): Use avr_arch enumeration constants instead of
|
|
numbers.
|
|
* config/avr/avr.h (LINK_SPEC): Simplify.
|
|
|
|
2007-04-16 Jan Hubicka <jh@suse.cz>
|
|
|
|
PR target/27869
|
|
* config/i386/sse.md
|
|
(sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
|
|
(sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
|
|
(sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
|
|
(sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
|
|
|
|
2007-04-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* Backport from mainline:
|
|
2007-04-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
PR target/31582
|
|
* config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
|
|
copy of source, pass it to ix86_expand_vector_set and return
|
|
it as target.
|
|
|
|
2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
|
|
|
PR c/31520
|
|
* c-decl.c (finish_decl): Grab the type of the decl after the call
|
|
to store_init_value.
|
|
|
|
2007-04-14 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR c++/25874
|
|
* omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
|
|
post dominators and cleanup cfg before returning.
|
|
|
|
2007-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
* pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
|
|
null before emitting a .nsubspa directive.
|
|
|
|
2007-04-08 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
PR target/29932
|
|
* config/avr/predicates.md (io_address_operand): Delete predicate.
|
|
(low_io_address_operand): Don't use 'mode' argument.
|
|
(higth_io_address_operand): Rename ...
|
|
(high_io_address_operand): ... to this. Don't use 'mode' argument.
|
|
* config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
|
|
for above change.
|
|
|
|
2007-04-07 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
PR target/30289
|
|
* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
|
|
earlyclobber.
|
|
|
|
2007-04-05 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
PR target/25448
|
|
* config/avr/avr.c (avr_handle_fndecl_attribute): Use the
|
|
DECL_ASSEMBLER_NAME, not the DECL_NAME.
|
|
|
|
2007-04-04 Richard Henderson <rth@redhat.com>
|
|
|
|
PR target/31361
|
|
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
|
|
v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di. Use like-types for
|
|
the variable shift builtins.
|
|
(ix86_expand_builtin): Properly expand the variable shift builtins.
|
|
* config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
|
|
operand 2 be TImode.
|
|
* config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
|
|
_mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
|
|
_mm_srli_epi32, _mm_srli_epi64): Turn into macros.
|
|
(_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
|
|
(_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
|
|
_mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
|
|
two-vector shift builtins.
|
|
|
|
2007-04-04 Chen liqin <liqin@sunnorth.com.cn>
|
|
|
|
* config/score/crti.asm: Change _bss_start to __bss_start.
|
|
* config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
|
|
(OUTGOING_REG_PARM_STACK_SPACE) update.
|
|
* config/score/score.opt: add options to make backend support
|
|
score5, score5u, score7 and score7d.
|
|
* config/score/score.md: Likewise.
|
|
* config/score/misc.md: Likewise.
|
|
* config/score/mac.md: Likewise.
|
|
* doc/invoke.texi: Likewise.
|
|
* doc/md.texi: update constraints define.
|
|
|
|
2007-04-03 Stuart Hastings <stuart@apple.com>
|
|
|
|
PR 31281
|
|
* objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile
|
|
from rethrow decl.
|
|
* cse.c (record_jump_equiv): Bail out on CCmode comparisons.
|
|
|
|
2007-04-03 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR middle-end/30704
|
|
* fold-const.c (native_encode_real): Encode real.c provided longs
|
|
as a series of 32-bit native integers.
|
|
(native_interpret_real): Interpret buffer as a series of 32-bit
|
|
native integers.
|
|
|
|
2007-04-02 Eric Christopher <echristo@apple.com>
|
|
|
|
* doc/invoke.texi (i386 and x86-64 Options): Document -m64
|
|
limitations on darwin.
|
|
|
|
2007-04-02 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
PR target/31137
|
|
* config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
|
|
|
|
2007-04-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* Backport from mainline:
|
|
2007-03-28 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
|
|
|
|
PR target/31380
|
|
* config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
|
|
|
|
2007-03-30 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
* config/avr/avr.c (avr_override_options): Clear
|
|
'flag_delete_null_pointer_checks'.
|
|
|
|
2007-03-29 Michael Matz <matz@suse.de>
|
|
|
|
* 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.
|
|
|
|
2007-03-28 Mike Stump <mrs@apple.com>
|
|
|
|
* config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
|
|
* config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
|
|
* config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
|
|
|
|
2007-03-27 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
* config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
|
|
architecture.
|
|
|
|
2007-03-26 Ian Lance Taylor <iant@google.com>
|
|
|
|
PR tree-optimization/31345
|
|
* tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
|
|
[+INF, +INF(OVF)] into VARYING.
|
|
|
|
2007-03-23 Martin Michlmayr <tbm@cyrius.com>
|
|
|
|
* doc/invoke.texi (-fforce-mem): Update documentation to reflect
|
|
that this option will be removed in 4.3 rather than 4.2.
|
|
* opts.c (common_handle_option): Likewise.
|
|
|
|
2007-03-21 Mike Stump <mrs@apple.com>
|
|
|
|
* c.opt: Fixup for Objective-C/C++.
|
|
|
|
2007-03-21 Richard Henderson <rth@redhat.com>
|
|
|
|
PR target/31245
|
|
* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
|
|
* config/i386/mmintrin.h (__m64): Likewise.
|
|
* config/i386/xmmintrin.h (__m128): Likewise.
|
|
|
|
2007-03-20 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR c/30762
|
|
* c-typeck.c (convert_for_assignment): Call comptypes for
|
|
RECORD_TYPE or UNION_TYPE.
|
|
|
|
PR inline-asm/30505
|
|
* reload1.c (reload): Do invalid ASM checking after
|
|
cleanup_subreg_operands.
|
|
|
|
2007-03-19 Jeff Law <law@redhat.com>
|
|
|
|
* tree-cfg.c (find_taken_edge): Tighten conditions for
|
|
optimizing computed gotos.
|
|
|
|
2007-03-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
* pa.c (attr_length_call): Partially revert change of 2007-03-09.
|
|
(output_call): Likewise.
|
|
|
|
2007-03-16 Alexandre Oliva <aoliva@redhat.com>
|
|
|
|
PR debug/29906
|
|
* dwarf2out.c (force_type_die): Adjust comment.
|
|
(dwarf2out_imported_module_or_decl): Handle base AT_import types.
|
|
|
|
2007-03-15 Seongbae Park <seongbae.park@gmail.com>
|
|
|
|
PR tree-optimization/30590
|
|
* tree-nrv.c (tree_nrv): Check for the partial update
|
|
of the return value.
|
|
|
|
2007-03-14 Ian Lance Taylor <iant@google.com>
|
|
|
|
* tree-vrp.c (value_inside_range): Ignore fold warnings.
|
|
|
|
2007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
PR target/31123
|
|
* pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for
|
|
two unamed patterns.
|
|
|
|
2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
|
|
|
|
* doc/extend.texi: Edit "gnu_inline" documentation.
|
|
* doc/invoke.texi: Edit "-fgnu89-inline" documentation.
|
|
|
|
2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
|
|
|
|
* doc/extend.texi: Fix cpp.info cross-reference.
|
|
* doc/invoke.texi: Fix cpp.info cross-reference.
|
|
* doc/passes.texi: Fix gcc.info cross-reference.
|
|
|
|
2007-03-12 Daniel Berlin <dberlin@dberlin.org>
|
|
|
|
Fix PR tree-optimization/28544
|
|
* tree-ssa-operands.c (add_virtual_operand):
|
|
Move assert triggering on aliasing violations into
|
|
debugging define
|
|
|
|
2007-03-12 Ian Lance Taylor <iant@google.com>
|
|
|
|
* c.opt (fgnu89-inline): New option.
|
|
* c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline.
|
|
* c-common.c (c_common_attributes): Add gnu_inline attribyte.
|
|
(handle_gnu_inline_attribute): New static function.
|
|
* c-decl.c (start_function): Warn if we see a non-static inline
|
|
function in C99 mode.
|
|
* c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__.
|
|
* doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
|
|
(C Dialect Options): Document -fgnu89-inline.
|
|
* doc/extend.texi (Function Attributes): Document gnu_inline.
|
|
(Inline): Mention that C99 inline will be implemented in 4.3.
|
|
Refer to ways to get the old handling.
|
|
* doc/cpp.texi (Common Predefined Macros): Document
|
|
__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
|
|
|
|
2007-03-12 Richard Henderson <rth@redhat.com>
|
|
|
|
* config/alpha/alpha.c (alpha_elf_section_type_flags): New.
|
|
(TARGET_SECTION_TYPE_FLAGS): New.
|
|
|
|
2007-03-12 Richard Henderson <rth@redhat.com>
|
|
|
|
* config/darwin.c (machopic_reloc_rw_mask): New.
|
|
(machopic_select_section): Use decl_readonly_section.
|
|
* config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
|
|
* config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
|
|
|
|
2007-02-14 Richard Guenther <rguenther@suse.de>
|
|
|
|
Backport from mainline:
|
|
* flags.h (issue_strict_overflow_warning): Convert to a macro.
|
|
|
|
2007-03-11 Ian Lance Taylor <iant@google.com>
|
|
|
|
Backport -fstrict-overflow/-Wstrict-overflow from mainline:
|
|
2007-03-11 Ian Lance Taylor <iant@google.com>
|
|
|
|
* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
|
|
the *_DIV_EXPR codes correctly with overflow infinities.
|
|
|
|
2007-03-09 Ian Lance Taylor <iant@google.com>
|
|
|
|
* opts.c (common_handle_option): Treat -Wstrict-overflow (with no
|
|
argument) like -Wstrict-overflow=2.
|
|
* doc/invoke.texi (Warning Options): Update documentation.
|
|
|
|
2007-03-08 Ian Lance Taylor <iant@google.com>
|
|
|
|
* tree-vrp.c: Include "toplev.h" and "intl.h".
|
|
(usable_range_p): New static function.
|
|
(compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
|
|
overflowed values, juts set *strict_overflow_p.
|
|
(compare_values): Only return -2 if one of the operands is not a
|
|
constant.
|
|
(compare_ranges): Call usable_range_p.
|
|
(compare_range_with_value): Likewise.
|
|
(vrp_evaluate_conditional_warnv): Rename from
|
|
vrp_evaluate_conditional. Make static. Change all callers.
|
|
(vrp_evaluate_conditional): New function.
|
|
(simplify_div_or_mod_using_ranges): Issue warning about reliance
|
|
on signed overflow.
|
|
(simplify_abs_using_ranges): Likewise.
|
|
(simplify_stmt_for_jump_threading): Add within_stmt parameter.
|
|
* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
|
|
within_stmt parameter.
|
|
* tree-ssa-propagate.c (fold_predicate_in): Update call to
|
|
vrp_evaluate_conditional.
|
|
* tree-ssa-threadedge.c
|
|
(record_temporary_equivalences_from_stmts_at_dest): Change
|
|
simplify parameter to take a second tree parameter.
|
|
(simplify_control_stmt_condition): Likewise.
|
|
(thread_across_edge): Likewise.
|
|
* tree-flow.h (vrp_evaluate_conditional): Update declaration.
|
|
(thread_across_edge): Likewise.
|
|
* Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h.
|
|
|
|
2007-03-05 Ian Lance Taylor <iant@google.com>
|
|
|
|
* tree-vrp.c (extract_range_from_assert): Don't try to handle a
|
|
half-range if the other side is an overflow infinity.
|
|
|
|
2007-03-02 Ian Lance Taylor <iant@google.com>
|
|
|
|
Used signed infinities in VRP.
|
|
* tree-vrp.c (uses_overflow_infinity): New static function.
|
|
(supports_overflow_infinity): New static function.
|
|
(make_overflow_infinity): New static function.
|
|
(negative_overflow_infinity): New static function.
|
|
(positive_overflow_infinity): New static function.
|
|
(is_negative_overflow_infinity): New static function.
|
|
(is_positive_overflow_infinity): New static function.
|
|
(is_overflow_infinity): New static function.
|
|
(overflow_infinity_range_p): New static function.
|
|
(compare_values_warnv): New function split out of compare_values.
|
|
(compare_value): Call it.
|
|
(set_value_range_to_nonnegative): Add overflow_infinity
|
|
parameter. Change caller.
|
|
(vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
|
|
Change callers.
|
|
(vrp_expr_computes_nonzero): Likewise.
|
|
(compare_ranges, compare_range_with_value): Likewise.
|
|
(compare_name_with_value, compare_names): Likewise.
|
|
(vrp_evaluate_conditional): Likewise.
|
|
(set_value_range): Handle infinity
|
|
(vrp_operand_equal_p, operand_less_p): Likewise.
|
|
(extract_range_from_assert): Likewise.
|
|
(vrp_int_const_binop): Likewise.
|
|
(extract_range_from_binary_expr): Likewise.
|
|
(extract_range_from_unary_expr): Likewise.
|
|
(extract_range_from_comparison): Likewise.
|
|
(extract_range_from_expr): Likewise.
|
|
(dump_value_range): Likewise.
|
|
(vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
|
|
(test_for_singularity): Likewise.
|
|
(vrp_int_const_binop): Remove inline qualifier.
|
|
(adjust_range_with_scev): Add comment.
|
|
* tree-flow.h (vrp_evaluate_conditional): Update declaration.
|
|
|
|
2007-02-13 Ian Lance Taylor <iant@google.com>
|
|
|
|
* common.opt: Add Wstrict-overflow and Wstrict-overflow=.
|
|
* flags.h (warn_strict_overflow): Declare.
|
|
(enum warn_strict_overflow_code): Define.
|
|
(issue_strict_overflow_warning): New static inline function.
|
|
* opts.c (warn_strict_overflow): New variable.
|
|
(common_handle_option): Handle OPT_Wstrict_overflow and
|
|
OPT_Wstrict_overflow_.
|
|
* c-opts.c (c_common_handle_option): Set warn_strict_overflow for
|
|
OPT_Wall.
|
|
* fold-const.c: Include intl.h.
|
|
(fold_deferring_overflow_warnings): New static variable.
|
|
(fold_deferred_overflow_warning): New static variable.
|
|
(fold_deferred_overflow_code): New static variable.
|
|
(fold_defer_overflow_warnings): New function.
|
|
(fold_undefer_overflow_warnings): New function.
|
|
(fold_undefer_and_ignore_overflow_warnings): New function.
|
|
(fold_deferring_overflow_warnings_p): New function.
|
|
(fold_overflow_warning): New static function.
|
|
(make_range): Add strict_overflow_p parameter. Change all
|
|
callers.
|
|
(extract_muldiv, extract_muldiv_1): Likewise.
|
|
(fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
|
|
tree_expr_nonnegative_p.
|
|
(fold_negate_expr): Call fold_overflow_warning.
|
|
(fold_range_test): Likewise.
|
|
(fold_comparison): Likewise.
|
|
(fold_binary): Likewise. Call tree_expr_nonnegative_warnv_p
|
|
instead of tree_expr_nonnegative_p.
|
|
(tree_expr_nonnegative_warnv_p): Rename from
|
|
tree_expr_nonnegative_p, add strict_overflow_p parameter.
|
|
(tree_expr_nonnegative_p): New function.
|
|
(tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
|
|
strict_overflow_p parameter.
|
|
(tree_expr_nonzero_p): New function.
|
|
* passes.c (verify_interpass_invariants): New static function.
|
|
(execute_one_pass): Call it.
|
|
* tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
|
|
warnings.
|
|
(number_of_iterations_exit, loop_niter_by_eval): Likewise.
|
|
(estimate_numbers_of_iterations): Likewise.
|
|
(scev_probably_wraps_p): Likewise.
|
|
* tree-ssa-ccp.c: Include "toplev.h".
|
|
(evaluate_stmt): Defer fold overflow warnings until we know we are
|
|
going to optimize.
|
|
(struct fold_stmt_r_data): Add stmt field.
|
|
(fold_stmt_r): Defer fold overflow warnings until we know we
|
|
optimized.
|
|
(fold_stmt): Initialize stmt field of fold_stmt_r_data.
|
|
(fold_stmt_inplace): Likewise.
|
|
* tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
|
|
(cleanup_control_expr_graph): Defer fold overflow warnings until
|
|
we know we are going to optimize.
|
|
* tree-cfg.c (fold_cond_expr_cond): Likewise.
|
|
* tree-ssa-threadedge.c (simplify_control_stmt_condition):
|
|
Likewise.
|
|
* tree-vrp.c (vrp_expr_computes_nonnegative): Call
|
|
tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
|
|
* tree-ssa-loop-manip.c (create_iv): Likewise.
|
|
* c-typeck.c (build_conditional_expr): Likewise.
|
|
(build_binary_op): Likewise.
|
|
* tree-vrp.c (vrp_expr_computes_nonzero): Call
|
|
tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
|
|
(extract_range_from_unary_expr): Likewise.
|
|
* simplify-rtx.c (simplify_const_relational_operation): Warn when
|
|
assuming that signed overflow does not occur.
|
|
* c-common.c (pointer_int_sum): Ignore fold overflow warnings.
|
|
* tree.h (tree_expr_nonnegative_warnv_p): Declare.
|
|
(fold_defer_overflow_warnings): Declare.
|
|
(fold_undefer_overflow_warnings): Declare.
|
|
(fold_undefer_and_ignore_overflow_warnings): Declare.
|
|
(fold_deferring_overflow_warnings_p): Declare.
|
|
(tree_expr_nonzero_warnv_p): Declare.
|
|
* doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
|
|
of warning options.
|
|
(Warning Options): Document -Wstrict-overflow.
|
|
* Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
|
|
(tree-ssa-ccp.o): Likewise.
|
|
(tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
|
|
(fold-const.o): Depend on intl.h.
|
|
|
|
2007-01-27 Ian Lance Taylor <iant@google.com>
|
|
|
|
* common.opt: Add fstrict-overflow.
|
|
* opts.c (decode_options): Set flag_strict_overflow if -O2.
|
|
* flags.h (TYPE_OVERFLOW_WRAPS): Define.
|
|
(TYPE_OVERFLOW_UNDEFINED): Define.
|
|
(TYPE_OVERFLOW_TRAPS): Define. This replaces TYPE_TRAP_SIGNED.
|
|
Replace all uses.
|
|
* tree.h (TYPE_TRAP_SIGNED): Don't define.
|
|
* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
|
|
(fold_negate_expr): Likewise.
|
|
(make_range): Likewise.
|
|
(extract_muldiv_1): Likewise.
|
|
(fold_comparison): Likewise.
|
|
(fold_binary): Likewise.
|
|
(tree_expr_nonnegative_p): Likewise.
|
|
(tree_expr_nonzero_p): Likewise.
|
|
* tree-vrp.c (compare_values): Likewise.
|
|
(extract_range_from_binary_expr): Likewise.
|
|
(extract_range_from_unary_expr): Likewise.
|
|
* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
|
|
Likewise.
|
|
(nowrap_type_p): Likewise.
|
|
* tree-scalar-evolution.c (simple_iv): Likewise.
|
|
* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
|
|
(build_range_check): Likewise.
|
|
(extract_muldiv_1): Likewise.
|
|
(fold_comparison): Likewise.
|
|
* tree-vrp.c (vrp_int_const_binop): Likewise.
|
|
(extract_range_from_unary_expr): Likewise.
|
|
* convert.c (convert_to_integer): Likewise.
|
|
* fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
|
|
(fold_comparison): Likewise.
|
|
(fold_binary): Likewise.
|
|
* optabs.c (optab_for_tree_code): Likewise.
|
|
* tree-vectorizer.c (vect_is_simple_reduction): Likewise.
|
|
* simplify-rtx.c (simplify_const_relational_operation): Check
|
|
flag_strict_overflow and flag_trapv.
|
|
(simplify_const_relational_operation): Likewise.
|
|
* doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
|
|
(Optimize Options): Add -fstrict-overflow to -O2 list. Document
|
|
-fstrict-overflow.
|
|
|
|
2007-01-17 Ian Lance Taylor <iant@google.com>
|
|
|
|
* vec.h (VEC_reserve_exact): Define.
|
|
(vec_gc_p_reserve_exact): Declare.
|
|
(vec_gc_o_reserve_exact): Declare.
|
|
(vec_heap_p_reserve_exact): Declare.
|
|
(vec_heap_o_reserve_exact): Declare.
|
|
(VEC_OP (T,A,reserve_exact)): New static inline function, three
|
|
versions.
|
|
(VEC_OP (T,A,reserve)) [all versions]: Remove handling of
|
|
negative parameter.
|
|
(VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact.
|
|
(VEC_OP (T,A,copy)) [all versions]: Likewise.
|
|
(VEC_OP (T,a,safe_grow)) [all versions]: Likewise.
|
|
* vec.c (calculate_allocation): Add exact parameter. Change all
|
|
callers.
|
|
(vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve.
|
|
(vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1.
|
|
(vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions.
|
|
(vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve.
|
|
(vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1.
|
|
(vec_heap_p_reserve_exact): New function.
|
|
(vec_heap_o_reserve_exact): New function.
|
|
|
|
2007-03-11 Roger Sayle <roger@eyesopen.com>
|
|
Andrew Pinski <andrew_pinski@playstation.sony.com>
|
|
|
|
PR middle-end/30433
|
|
* fold-const.c (fold_relational_const): Add back compile-time
|
|
evaluation of complex constant equality/inequality comparisons.
|
|
|
|
2007-03-11 Ira Rosen <irar@il.ibm.com>
|
|
|
|
PR tree-optimization/29925
|
|
* tree-data-ref.c (analyze_offset): Add a return value (bool) to
|
|
indicate success/failure of the analysis. Add negation to subtrahend
|
|
in case of subtraction. Fail if both operands contain constants.
|
|
(create_data_ref): Fail if analyze_offset fails.
|
|
|
|
2007-03-10 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
PR c++/30924
|
|
* tree.c (walk_type_fields): Recurse into the element type of
|
|
ARRAY_TYPEs if there is a pointer set.
|
|
|
|
2007-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
* pa.c (attr_length_call): Revise condition for long pc-relative branch.
|
|
(output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
|
|
calls on the SOM target. Don't use "LONG_PIC_PCREL" call sequence on
|
|
SOM target.
|
|
|
|
2007-03-09 Richard Henderson <rth@redhat.com>
|
|
|
|
PR target/26090
|
|
* target.h (targetm.asm.out.reloc_rw_mask): New.
|
|
* target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
|
|
(TARGET_ASM_OUT): Use it.
|
|
* targhooks.c, targhooks.h (default_reloc_rw_mask): New.
|
|
* varasm.c (categorize_decl_for_section): Remove shlib argument;
|
|
use the new reloc_rw_mask target hook instead.
|
|
(default_section_type_flags_1): Merge into...
|
|
(default_section_type_flags): ... here.
|
|
(decl_readonly_section_1): Merge into...
|
|
(decl_readonly_section): ... here.
|
|
(default_elf_select_section_1): Merge into...
|
|
(default_elf_select_section): ... here.
|
|
(default_unique_section_1): Merge into...
|
|
(default_unique_section): ... here.
|
|
(compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
|
|
(default_select_rtx_section): Use it.
|
|
(default_elf_select_rtx_section): Likewise.
|
|
* output.h: Update to match.
|
|
* doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
|
|
* config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
|
|
(TARGET_ASM_RELOC_RW_MASK): New.
|
|
* config/i386/i386.c (x86_64_elf_select_section): Adjust call
|
|
to categorize_decl_for_section.
|
|
(x86_64_elf_unique_section): Likewise.
|
|
* config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
|
|
TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
|
|
(TARGET_ASM_RELOC_RW_MASK): New.
|
|
* config/ia64/ia64.c (ia64_rwreloc_select_section,
|
|
ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
|
|
(ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
|
|
(TARGET_RWRELOC): Remove.
|
|
(ia64_section_type_flags): Adjust call to default_section_type_flags.
|
|
* config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
|
|
* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
|
|
(rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
|
|
(rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
|
|
(rs6000_xcoff_select_section): Use decl_readonly_section.
|
|
(rs6000_xcoff_section_type_flags): Use default_section_type_flags.
|
|
* config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
|
|
(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
|
|
(TARGET_SECTION_TYPE_FLAGS): Remove.
|
|
* config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
|
|
|
|
2007-03-08 Geoffrey Keating <geoffk@apple.com>
|
|
|
|
PR 31013
|
|
* gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
|
|
is declared.
|
|
* config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
|
|
passed, use shared libgcc.
|
|
|
|
2007-03-09 Alexandre Oliva <aoliva@redhat.com>
|
|
|
|
PR rtl-optimization/30643
|
|
* cse.c (cse_insn): Recompute dest_hash after insert_regs for
|
|
dest_addr_elt.
|
|
|
|
2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
|
|
|
PR tree-opt/30045
|
|
* tree-vrp.c (nonnull_arg_p): Treat the static decl as always
|
|
non null.
|
|
|
|
2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
|
|
|
PR middle-end/30729
|
|
* stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
|
|
effects unknown to this function, return early.
|
|
|
|
2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
|
|
|
PR tree-opt/28624
|
|
* tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
|
|
bitmap for EXECUTE_IF_SET_IN_BITMAP.
|
|
|
|
2006-03-09 Mark Shinwell <shinwell@codesourcery.com>
|
|
Andrew MacLeod <amacleod@redhat.com>
|
|
PR tree-optimization/29877
|
|
* tree-outof-ssa.c (check_replaceable): Don't allow TER to replace
|
|
an expression if the RHS is a register variable.
|
|
|
|
2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
|
|
|
PR C/31072
|
|
* c-decl.c (merge_decls): Don't call make_var_volatile.
|
|
* varasm.c (make_var_volatile): Remove.
|
|
* output.h (make_var_volatile): Remove.
|
|
|
|
2007-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|
|
|
* builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
|
|
llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
|
|
ATTR_CONST_NOTHROW_LIST.
|
|
|
|
* fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR.
|
|
|
|
2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
|
|
|
PR target/30406
|
|
* config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
|
|
instead of precision.
|
|
|
|
2007-03-08 Volker Reichelt <reichelt@netcologne.de>
|
|
|
|
PR c++/30852
|
|
* c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
|
|
|
|
2007-03-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
|
|
|
* c.opt (Waddress): New.
|
|
* common.opt (Walways-true): Delete.
|
|
(Wstring-literal-comparison): Delete.
|
|
* doc/invoke.texi (Warning Options): Delete -Walways-true and
|
|
-Wstring-literal-comparison. Add -Waddress.
|
|
(Waddress): New.
|
|
(Walways-true): Delete.
|
|
(Wstring-literal-comparison): Delete.
|
|
* doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
|
|
consistently instead of -Walways-true in example.
|
|
* c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
|
|
* c-typeck.c (parser_build_binary_op): Replace
|
|
-Wstring-literal-comparison and -Walways-true with -Waddress.
|
|
(build_binary_op): Likewise.
|
|
* c-common.c (c_common_truthvalue_conversion): Likewise.
|
|
|
|
2007-03-07 Richard Henderson <rth@redhat.com>
|
|
|
|
PR target/30848
|
|
* reg-stack.c (emit_swap_insn): If a malformed asm was seen,
|
|
silently fix up the stack in the case of a missing register.
|
|
|
|
2007-03-06 David Daney <ddaney@avtrex.com>
|
|
|
|
* doc/install.texi (mips-*-*): Change recommended binutils
|
|
version.
|
|
|
|
2007-03-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
|
|
|
* doc/invoke.texi (Warning Options): Replace -Werror- with
|
|
-Werror=.
|
|
* opts.c (common_handle_option): Likewise.
|
|
|
|
2007-03-06 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
* config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
|
|
ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162
|
|
devices.
|
|
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
|
|
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
|
|
|
|
2007-03-06 Roger Sayle <roger@eyesopen.com>
|
|
|
|
PR middle-end/30744
|
|
* fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency
|
|
when transforming ~X op C to X op' ~C.
|
|
|
|
2007-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
* pa.md: In unamed move patterns, disparge copies between general
|
|
and floating point registers using '?' modifier. Don't include 'f'
|
|
constraint for register preferences in DImode, SImode, HImode and
|
|
QImode patterns. Likewise for 'r' in DFmode and SFmode patterns.
|
|
Remove constraints for copies between general and floating registers
|
|
in soft-float DFmode pattern.
|
|
(movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
|
|
floating register.
|
|
(movsf): Likewise.
|
|
|
|
2007-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|
|
|
* convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
|
|
conversion.
|
|
|
|
2007-03-05 Steve Ellcey <sje@cup.hp.com>
|
|
|
|
Backported from mainline
|
|
PR debug/29614
|
|
* cgraph.h (cgraph_varpool_last_needed_node): Make global.
|
|
* cgraph.c (cgraph_varpool_last_needed_node): Ditto.
|
|
* cgraphunit.c (cgraph_varpool_assemble_pending_decls):
|
|
Set cgraph_varpool_last_needed_node to NULL.
|
|
|
|
2007/03/05 David Taylor <dtaylor@emc.com>
|
|
|
|
PR 31050
|
|
* gcc.c: Correct copyright date in --version output.
|
|
|
|
2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
|
|
|
|
* c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
|
|
-ffixed-line-length-* options.
|
|
|
|
2007-03-05 David Edelsohn <edelsohn@gnu.ogr>
|
|
|
|
* config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux
|
|
with -mlong-double-128, except SPE.
|
|
|
|
* config/rs6000/darwin-ldouble.c: Only build new functions for
|
|
__LONG_DOUBLE_128__.
|
|
|
|
Backport from mainline:
|
|
2007-01-16 David Edelsohn <edelsohn@gnu.org>
|
|
|
|
* config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
|
|
(strong_alias): Define.
|
|
(__gcc_qmul): Provide non-FMA for soft-float.
|
|
(__gcc_qdiv): Same.
|
|
(__gcc_qneg): New.
|
|
(__gcc_qeq): New.
|
|
(__gcc_qle): New.
|
|
(__gcc_qge): New.
|
|
(__gcc_qunord): New.
|
|
(__gcc_stoq): New.
|
|
(__gcc_dtoq): New.
|
|
(__gcc_qtos): New.
|
|
(__gcc_qtod): New.
|
|
(__gcc_qtoi): New.
|
|
(__gcc_qtou): New.
|
|
(__gcc_itoq): New.
|
|
(__gcc_utoq): New.
|
|
(fmsub): New.
|
|
* config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
|
|
soft-float functions.
|
|
* config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
|
|
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
|
|
about long double soft float.
|
|
|
|
2007-03-05 Richard Guenther <rguenther@suse.de>
|
|
|
|
Backport from mainline:
|
|
2007-02-28 Richard Guenther <rguenther@suse.de>
|
|
|
|
PR middle-end/30364
|
|
* fold-const.c (fold_binary): Do not associate expressions
|
|
with more than one variable for integer types that do not wrap.
|
|
|
|
2007-03-04 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
PR ada/26797
|
|
* doc/invoke.texi (-O2): Document that Tree-VRP is not turned on
|
|
for the Ada compiler.
|
|
|
|
2007-03-02 Zdenek Dvorak <dvorakz@suse.cz>
|
|
|
|
PR tree-optimization/29902
|
|
* tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
|
|
any involved ssa name appears in abnormal phi node.
|
|
|
|
2007-03-02 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
|
|
(sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
|
|
if the lhs has side-effects.
|
|
<lhs_elt>: Treat the reference as a use if the rhs has side-effects.
|
|
|
|
2007-03-02 Paul Brook <paul@codesourcery.com>
|
|
|
|
* config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
|
|
modes to LDRD for DImode.
|
|
(output_move_double): Fixup out of range ldrd/strd.
|
|
(vfp_secondary_reload_class): Rename...
|
|
(coproc_secondary_reload_class): ... to this. Add wb argument.
|
|
* config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
|
|
coproc_secondary_reload_class for CLASS_IWMMXT.
|
|
(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
|
|
* arm-protos.h (coproc_secondary_reload_class): Update prototype.
|
|
|
|
2007-03-02 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
|
|
entry by means of emit_insn_at_entry.
|
|
|
|
2007-03-01 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
|
|
|
* doc/invoke.texi (Wextra): Delete outdated paragraph.
|
|
|
|
2007-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
* pa/predicates.md (move_src_operand): Allow zero for mode.
|
|
* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
|
|
move pattern.
|
|
|
|
2007-02-27 Mike Stump <mrs@apple.com>
|
|
|
|
* config/darwin-crt3.c: Avoid compilation when compiling for a
|
|
kext multilib.
|
|
|
|
2007-02-27 Andreas Schwab <schwab@suse.de>
|
|
|
|
* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
|
|
|
|
2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
|
|
|
|
* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
|
|
|
|
2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
|
|
|
|
* doc/include/gcc-common.texi (versionsubtitle): New macro.
|
|
* doc/cpp.texi: Standardize title page.
|
|
* doc/cppinternals.texi: Likewise.
|
|
* doc/gcc.texi: Standardize title page, remove version number
|
|
from copyright page.
|
|
* doc/gccint.texi: Likewise.
|
|
* doc/install.texi: Standardize title page, add table of
|
|
contents.
|
|
|
|
2007-02-24 Mike Stump <mrs@apple.com>
|
|
|
|
* config/i386/i386.c (output_pic_addr_const): Stubify optimized
|
|
symbols.
|
|
|
|
2007-02-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
* pa.md (muldi3): Force subregs to registers in 64-bit expander.
|
|
|
|
2007-02-23 Mike Stump <mrs@apple.com>
|
|
|
|
* tlink.c (scan_linker_output): Parse linker messages from
|
|
darwin9's linker better.
|
|
|
|
2007-02-21 Ira Rosen <irar@il.ibm.com>
|
|
|
|
* tree-ssa-alias.c: Include pointer-set.h
|
|
* Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h.
|
|
|
|
2007-02-21 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
Backported from mainline
|
|
2006-12-20 Andrew Pinski <pinskia@gmail.com>
|
|
PR middle-end/30143
|
|
* omp-low.c (init_tmp_var): New function.
|
|
(save_tmp_var): New function.
|
|
(lower_omp_1): Use them for VAR_DECL.
|
|
|
|
2007-02-20 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
PR target/29943
|
|
* varasm.c (use_blocks_for_decl_p): Return false for decls with
|
|
alias attribute.
|
|
|
|
2007-02-19 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
|
|
due to calls to functions taking pointers as parameters.
|
|
|
|
2007-02-19 Richard Henderson <rth@redhat.com>
|
|
|
|
PR debug/29558
|
|
* var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
|
|
in memory.
|
|
|
|
2007-02-18 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
|
|
|
|
2007-02-18 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* calls.c (mem_overlaps_already_clobbered_arg_p): Return true
|
|
for arg pointer based indexed addressing.
|
|
|
|
2007-02-18 Ira Rosen <irar@il.ibm.com>
|
|
|
|
* tree-ssa-alias.c (may_aliases_intersect): New function.
|
|
* tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect
|
|
for different tags.
|
|
* tree-flow.h (may_aliases_intersect): Add function declaration.
|
|
|
|
2007-02-17 Alexandre Oliva <aoliva@redhat.com>
|
|
|
|
PR tree-optimization/30823
|
|
* tree-sra.c (sra_build_assignment): Drop type-checking assert.
|
|
|
|
2007-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
|
|
PR other/27843
|
|
* Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
|
|
nested double- and backquotes.
|
|
|
|
2007-02-15 Alexandre Oliva <aoliva@redhat.com>
|
|
|
|
* tree-sra.c (instantiate_missing_elements): Canonicalize
|
|
bit-field types.
|
|
(sra_build_assignment): New.
|
|
(generate_copy_inout, generate_element_copy,
|
|
generate_element_zero, generate_one_element_init): Use it.
|
|
|
|
2007-02-15 Kaz Kojima <kkojima@gcc.gnu.org>
|
|
|
|
PR rtl-optimization/29599
|
|
Backport from mainline.
|
|
* reload1.c (eliminate_regs_in_insn): Take the destination
|
|
mode into account when computing the offset.
|
|
|
|
2007-02-13 Joseph S. Myers <joseph@codesourcery.com>
|
|
|
|
* doc/invoke.texi, doc/standards.texi: Refer to
|
|
gcc-4.2/c99status.html.
|
|
|
|
2007-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
PR target/30634
|
|
* pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
|
|
CONST_DOUBLE and operand 0 is a hard register.
|
|
(movdi): For 64-bit target, remove code to force CONST_DOUBLE to
|
|
memory. Fail if operand 1 is a non-zero CONST_INT and operand 0
|
|
is a hard floating-point register.
|
|
|
|
2007-02-06 Mark Mitchell <mark@codesourcery.com>
|
|
|
|
PR target/29487
|
|
* tree.h (DECL_REPLACEABLE_P): New macro.
|
|
* except.c (set_nothrow_function_flags): Likewise.
|
|
|
|
2007-02-07 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR c++/30703
|
|
* gimplify.c (gimplify_scan_omp_clauses): Remove special casing
|
|
of INDIRECT_REF <RESULT_DECL>.
|
|
|
|
2007-02-06 Rask Ingemann Lamberisen <rask@sygehus.dk>
|
|
|
|
PR 30370
|
|
* config/rs6000/t-ppccomm: Correct Makefile typo.
|
|
|
|
2007-02-06 Roger Sayle <roger@eyesopen.com>
|
|
|
|
PR libgomp/28296
|
|
Backport from mainline.
|
|
* config/darwin.h (CPP_SPEC): Handle -pthread, transforming
|
|
it into -D_REENTRANT.
|
|
|
|
2007-02-05 Alexandre Oliva <aoliva@redhat.com>
|
|
|
|
PR debug/30189
|
|
* dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
|
|
even if cv-qualification is the same.
|
|
|
|
2007-02-05 Geoffrey Keating <geoffk@apple.com>
|
|
|
|
* config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
|
|
__enable_execute_stack on completion.
|
|
|
|
2007-02-05 Bob Wilson <bob.wilson@acm.org>
|
|
|
|
* config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
|
|
|
|
2007-02-02 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
|
|
|
|
PR target/29682
|
|
* config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to
|
|
general or fp registers. Add comments.
|
|
* config/ia64/ia64.md (reg_pred_prefix): Add comment.
|
|
|
|
2007-02-04 Richard Guenther <rguenther@suse.de>
|
|
|
|
Backport from mainline:
|
|
2007-01-30 Richard Guenther <rguenther@suse.de>
|
|
|
|
PR middle-end/27657
|
|
* dwarf2out.c (reference_to_unused): Query varpool if the
|
|
variable was output.
|
|
|
|
2007-02-02 Mike Stump <mrs@apple.com>
|
|
|
|
* config.gcc (*-*-darwin*): Backport darwin9.h bits.
|
|
* config/darwin9.h: Add.
|
|
* config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
|
|
(output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
|
|
generate a branch island.
|
|
|
|
2007-02-02 Hui-May Chang <hm.chang@apple.com>
|
|
|
|
Revert for x86 darwin:
|
|
2005-06-19 Uros Bizjak <uros@kss-loka.si>
|
|
|
|
* config/i386/i386.c (ix86_function_arg_regno_p): Put back the
|
|
code before the following patch under TARGET_MACHO.
|
|
(ix86_function_value_regno_p): Likewise.
|
|
|
|
2007-02-02 Simon Martin <simartin@users.sourceforge.net>
|
|
|
|
PR c++/28266
|
|
* gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
|
|
expanded only once even if an error occurs.
|
|
|
|
2007-02-02 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR middle-end/30473
|
|
* builtins.c (fold_builtin_sprintf): Do not attempt to optimize
|
|
sprintf (str, "%s"). Do not optimize sprintf (str, "nopercent", p++).
|
|
|
|
2007-02-01 Guy Martin <gmsoft@gentoo.org>
|
|
|
|
* pa.md (tp_load): Correct mfctl instruction syntax.
|
|
|
|
2007-02-01 Geoffrey Keating <geoffk@apple.com>
|
|
|
|
* config/rs6000/rs6000.c (rs6000_stack_info): Correct
|
|
altivec_padding_size calculation on AIX. Improve comment, add
|
|
assert to verify that it's right.
|
|
|
|
2007-01-31 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
PR target/19087
|
|
* config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
|
|
|
|
2007-01-30 Richard Guenther <rguenther@suse.de>
|
|
|
|
PR middle-end/30313
|
|
* passes.c (execute_one_pass): Reset in_gimple_form to not
|
|
confuse non-unit-at-a-time mode.
|
|
|
|
2007-01-27 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__.
|
|
|
|
2007-01-29 Mike Stump <mrs@apple.com>
|
|
|
|
* doc/gccint.texi (Top): Rename Loop Representation to Loop
|
|
Analysis and Representation to resolve case insensitive conflict.
|
|
* doc/loop.texi (Loop Analysis and Representation): Likewise.
|
|
|
|
2007-01-29 Josh Conner <jconner@apple.com>
|
|
|
|
PR middle-end/29683
|
|
* calls.c (compute_argument_addresses): Set stack and stack_slot
|
|
for partial args, too.
|
|
(store_one_arg): Use locate.size.constant for the size when
|
|
generating a save_area.
|
|
|
|
2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
|
|
* doc/sourcebuild.texi: Add comma for clarity.
|
|
* doc/extend.texi: Fix some typos.
|
|
* doc/passes.texi: Likewise.
|
|
* doc/cppinternals.texi: Likewise.
|
|
* doc/c-tree.texi: Likewise.
|
|
* doc/tree-ssa.texi: Likewise.
|
|
* doc/install.texi: Likewise.
|
|
|
|
2007-01-26 Zdenek Dvorak <dvorakz@suse.cz>
|
|
|
|
PR tree-optimization/29516
|
|
* tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
|
|
most_expensive_mult_to_index, addr_to_parts,
|
|
create_mem_ref, maybe_fold_tmr): Make the type of
|
|
fields of TARGET_MEM_REF sizetype.
|
|
(move_fixed_address_to_symbol, move_pointer_to_base,
|
|
aff_combination_remove_elt): New functions.
|
|
* tree.def (TARGET_MEM_REF): Add comment on types of
|
|
the operands.
|
|
* gcc.dg/tree-ssa/loop-20.c: New test.
|
|
|
|
2007-01-25 Geoffrey Keating <geoffk@apple.com>
|
|
|
|
PR 25127
|
|
* config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
|
|
save Altivec registers in an eh_return function.
|
|
(compute_vrsave_mask): Likewise.
|
|
(rs6000_stack_info): Correct AIX/Darwin stack alignment computation
|
|
for saving Altivec registers.
|
|
(rs6000_emit_prologue): Don't allocate stack twice in
|
|
eh_return function. Correct expected value of altivec_save_offset
|
|
when using save_world. Describe save of R0 to stack when using
|
|
save_world. Describe stack pointer adjustment when using
|
|
save_world. Remove duplicated eh_return parameter register saving.
|
|
Update sp_offset variable after save_world.
|
|
* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
|
|
darwin-world.asm.
|
|
(LIB2FUNCS_EXTRA): Add darwin-world.asm.
|
|
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
|
|
implies Altivec.
|
|
|
|
2007-01-24 Geoffrey Keating <geoffk@apple.com>
|
|
|
|
* unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
|
|
|
|
2007-01-24 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR middle-end/27416
|
|
* gimplify.c (omp_check_private): New function.
|
|
(gimplify_scan_omp_clauses): Use it for
|
|
firstprivate/lastprivate/reduction.
|
|
|
|
PR middle-end/30494
|
|
* gimplify.c (omp_add_variable): Don't call omp_notice_variable
|
|
on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
|
|
|
|
PR middle-end/30421
|
|
* omp-low.c (lower_omp_for_lastprivate): Add dlist argument.
|
|
If lower_lastprivate_clauses emits some statements, append them
|
|
to dlist rather than body_p and to body_p append an initializer.
|
|
(lower_omp_for): Adjust caller.
|
|
|
|
2007-01-21 Eric Botcazou <ebotcazou@libertysurf.fr>
|
|
|
|
PR rtl-optimization/29329
|
|
* combine.c (replaced_rhs_insn): Rename to i2mod.
|
|
(replaced_rhs_value): Rename to i2mod_new_rhs.
|
|
(i2mod_old_rhs): New global variable.
|
|
(combine_instructions): Adjust for above change. Save a copy of
|
|
the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
|
|
note are substituted in the second instruction.
|
|
(distribute_notes) <REG_DEAD>: Adjust for above change. Do not
|
|
ditch the note if it pertains to the second eliminated register
|
|
and this register is mentioned in i2mod_old_rhs.
|
|
|
|
Revert:
|
|
2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
|
|
|
|
* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
|
|
the insn to which the note was originally attached.
|
|
|
|
2007-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
* pa.c (output_move_double): Change array size of xoperands to 4.
|
|
|
|
2007-01-17 Eric Christopher <echristo@apple.com>
|
|
|
|
Backport from mainline:
|
|
2006-12-18 Roger Sayle <roger@eyesopen.com>
|
|
Eric Christopher <echristo@apple.com>
|
|
|
|
PR target/29302
|
|
* real.c (real_maxval): Correctly handle IBM extended double format.
|
|
|
|
2007-01-17 Tom Tromey <tromey@redhat.com>
|
|
|
|
* doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
|
|
* doc/install.texi (Testing): Use sourceware.org.
|
|
(Binaries): Likewise.
|
|
(Specific): Likewise.
|
|
* doc/contrib.texi (Contributors): Use sourceware.org.
|
|
|
|
2007-01-15 Joseph S. Myers <joseph@codesourcery.com>
|
|
|
|
* config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
|
|
glibc CVS.
|
|
|
|
2007-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
* pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
|
|
* pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
|
|
(ASM_OUTPUT_INTERNAL_LABEL): Define.
|
|
|
|
2007-01-10 Ralf Corsépius <ralf.corsepius@rtems.org>
|
|
|
|
* config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
|
|
|
|
2007-01-09 Nicolas Pitre <nico@cam.org>
|
|
|
|
PR target/30173
|
|
* arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
|
|
|
|
2007-01-08 Nick Clifton <nickc@redhat.com>
|
|
|
|
* config/frv/predicates.md (reg_or_0_operand): Accept
|
|
CONST_DOUBLEs.
|
|
|
|
2007-01-08 Ralf Corsépius <ralf.corsepius@rtems.org>
|
|
|
|
* config/bfin/rtems.h, config/bfin/t-rtems: New.
|
|
* config.gcc: Add bfin*-rtems*.
|
|
|
|
2007-01-08 Chen liqin <liqin@sunnorth.com.cn>
|
|
* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
|
|
* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
|
|
const_simm15, const_pow2, const_npow2): Added.
|
|
* config/score/misc.md (insv, extv, extzv, movmemsi,
|
|
move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
|
|
* config/score/score.c (score_address_cost, score_select_cc_mode):
|
|
Added.
|
|
Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
|
|
Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
|
|
Update score_print_operand.
|
|
* config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
|
|
Adjust register allocate order and update some macro define.
|
|
* config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
|
|
mdx_block_move_straight, mdx_block_move_loop_head,
|
|
mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
|
|
mdx_block_move): Added.
|
|
(mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
|
|
mdp_limm): Updated and fix some bug and typo.
|
|
* config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
|
|
(movsf, movdf, doloop_end): Added.
|
|
|
|
2007-01-05 Richard Guenther <rguenther@suse.de>
|
|
|
|
PR middle-end/27826
|
|
* tree.c (get_narrower): Do not construct COMPONENT_REFs
|
|
with mismatched types. Instead explicitly build a
|
|
conversion NOP_EXPR.
|
|
|
|
2007-01-05 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR c/30360
|
|
* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
|
|
denom against 0.0.
|
|
|
|
2007-01-03 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
* unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
|
|
(struct _Unwind_Context): Rename args_size to flags, remove
|
|
signal_frame field, add a new args_size field and version field.
|
|
(_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
|
|
_Unwind_IsExtendedContext): New inline functions.
|
|
(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
|
|
Assume by_value array is only present if _Unwind_IsExtendedContext.
|
|
(_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
|
|
_Unwind_IsSignalFrame.
|
|
(__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
|
|
(uw_update_context_1): Use _Unwind_SetSignalFrame.
|
|
(uw_init_context_1): Initialize context->flags to
|
|
EXTENDED_CONTEXT_BIT.
|
|
* config/rs6000/linux-unwind.h (frob_update_context): Use
|
|
_Unwind_SetSignalFrame.
|
|
|
|
2007-01-01 Mike Stump <mrs@apple.com>
|
|
|
|
* configure.ac: Remove support for building with Apple's gcc-3.1.
|
|
|
|
2007-01-01 Andreas Schwab <schwab@suse.de>
|
|
|
|
PR target/29166
|
|
* config/ia64/ia64.c (ia64_compute_frame_size): Account space for
|
|
save of BR0 in extra_spill_size instead of spill_size.
|
|
(ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
|
|
area.
|
|
(ia64_expand_epilogue): Restore BR0 from its new location.
|