Age | Commit message (Collapse) | Author | Files | Lines |
|
miscompilation.)
PR rtl-optimization/20527
* combine.c (can_combine_p) [AUTO_INC_DEC]: When INSN has an
REG_INC note, test that the register also isn't mentioned in PRED
or SUCC.
From-SVN: r96853
|
|
miscompilation.)
PR rtl-optimization/20527
* gcc.c-torture/execute/pr20527-1.c: New test.
From-SVN: r96852
|
|
* dwarf2out.c (dwarf_type_encoding_name): Remove unused prototype
and definition.
From-SVN: r96851
|
|
From-SVN: r96849
|
|
[[Split portion of a mixed commit.]]
From-SVN: r96847.2
|
|
* gcc.misc-tests/options.exp (check_for_options): Create a real C
program, compile it into a real executable and then delete the .c
and .x files afterwards, to avoid problems on testglue targets.
From-SVN: r96844
|
|
PR middle-end/20557
* bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p
to determine whether a block can be duplicated, rather than test
whether the block contains noncopyable insns ourselves.
From-SVN: r96836
|
|
* config/i860/i860.h (PREDICATE_CODES): Remove nonexistent
predicates.
From-SVN: r96834
|
|
From-SVN: r96831
|
|
(TARGET_DEFAULT, target_flags, TARGET_SWITCHES): Delete.
* config/fr30/fr30.opt: New file.
From-SVN: r96830
|
|
2005-03-18 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/20542
* tree-flow-inline.h (overlap_subvar): Move to here.
* tree-ssa-operands.c: From here.
* tree-flow.h (overlap_subvar): Declare.
* tree-ssa-alias.c (add_pointed_to_var): Use overlap_subvar here.
* tree-ssa-loop-im.c (is_call_clobbered_ref): Return proper answer
for variables with subvars.
From-SVN: r96829
|
|
From-SVN: r96828
|
|
* config/xtensa/lib1funcs.asm (__mulsi3): Use symbolic name for ACCLO.
* config/xtensa/xtensa.md (movsi_internal, movhi_internal,
movqi_internal): Likewise.
From-SVN: r96826
|
|
* config/xtensa/xtensa-protos.h: (xtensa_simm7, xtensa_uimm8,
xtensa_uimm8x2, xtensa_uimm8x4, xtensa_ai4const, xtensa_lsi4x4,
xtensa_b4const): Delete prototypes.
(xtensa_simm8, xtensa_simm8x256, xtensa_simm12b, xtensa_b4constu,
xtensa_mask_immediate, xtensa_mem_offset): Update prototypes.
(xtensa_b4const_or_zero, xtensa_const_ok_for_letter_p,
xtensa_extra_constraint): New prototypes.
(add_operand, arith_operand, nonimmed_operand, mem_operand,
mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
move_operand, const_float_1_operand, fpmem_offset_operand,
branch_operator, ubranch_operator, boolean_operator): Delete prototypes.
* config/xtensa/xtensa.c (b4const_or_zero): Rename to ...
(xtensa_b4const_or_zero): ...this. Change return type to bool and
argument type to HOST_WIDE_INT.
(xtensa_simm8, xtensa_simm8x256, xtensa_simm12b,
xtensa_mask_immediate): Likewise.
(xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4, xtensa_b4const):
Likewise. Also make these functions static.
(xtensa_simm7, xtensa_ai4const, xtensa_lsi4x4): Delete.
(xtensa_const_ok_for_letter_p): New.
(add_operand, arith_operand, nonimmed_operand, mem_operand,
mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
move_operand, const_float_1_operand, fpmem_offset_operand,
branch_operator, ubranch_operator, boolean_operator): Move to
predicates.md.
(smalloffset_mem_p): Inline code from xtensa_lsi4x4.
(xtensa_mem_offset): Change return type to bool.
(xtensa_extra_constraint): New.
(gen_int_relational): Update type of const_range_p function pointer.
Use xtensa_b4const_or_zero.
* config/xtensa/xtensa.h (CONST_OK_FOR_LETTER_P): Define to
xtensa_const_ok_for_letter_p. Update comments.
(EXTRA_CONSTRAINT): Define to xtensa_extra_constraint.
(PREDICATE_CODES): Delete.
* config/xtensa/xtensa.md: Include predicates.md.
* config/xtensa/predicates.md: New file.
From-SVN: r96824
|
|
* config/v850/v850-protos.h: Remove the prototypes for
reg_or_int9_operand, reg_or_const_operand,
pattern_is_ok_for_prepare, pattern_is_ok_for_dispose,
reg_or_0_operand, reg_or_int5_operand, call_address_operand,
movsi_source_operand, power_of_two_operand,
not_power_of_two_operand, special_symbolref_operand,
pattern_is_ok_for_prologue, pattern_is_ok_for_epilogue, and
register_is_ok_for_epilogue.
* config/v850/v850.c (reg_or_0_operand, reg_or_int5_operand,
reg_or_int9_operand, reg_or_const_operand,
call_address_operand, special_symbolref_operand,
movsi_source_operand, power_of_two_operand,
not_power_of_two_operand, register_is_ok_for_epilogue,
pattern_is_ok_for_epilogue, pattern_is_ok_for_prologue,
pattern_is_ok_for_dispose, pattern_is_ok_for_prepare): Move to
predicates.md.
* config/v850/v850.h (PREDICATE_CODES): Remove.
* config/v850/v850.md: Include predicates.md.
* config/v850/predicates.md: New.
From-SVN: r96822
|
|
(BASEVER_c, DEVPHASE_c, DATESTAMP_c)
(BASEVER_s, DEVPHASE_s, DATESTAMP_s, version): Set with :=.
(itoolsdir, itoolsdatadir): Move definition above new first use.
(install-itoolsdirs): New rule.
(install-mkheaders): Depend on install-itoolsdirs, not
install-include-dir.
From-SVN: r96821
|
|
2005-03-21 Stuart Hastings <stuart@apple.com>
* gcc.target/i386/sse-2.c: New.
From-SVN: r96820
|
|
From-SVN: r96813
|
|
-fpeel-loops is specified, too.
2005-03-21 Richard Guenther <rguenth@gcc.gnu.org>
* tree-ssa-loop.c (gate_tree_complete_unroll): Run complete
unrolling if -fpeel-loops is specified, too.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
Remove superfluous check for flag_unroll_loops.
From-SVN: r96808
|
|
* optabs.h (enum optab_index): Add new OTI_lrint and OTI_llrint.
(lrint_optab, llrint_optab): Define corresponding macros.
* optabs.c (init_optabs): Initialize lrint_optab and llrint_optab.
* genopinit.c (optabs): Implement lrint_optab using lrintsi2
pattern and llrint_optab using llrintdi2 patterns.
* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LRINT{,F,L}
using lrint_optab and BUILT_IN_LLRINT{,F,L} using llrint_optab.
(expand_builtin): Expand BUILT_IN_LRINT{,F,L} and
BUILT_IN_LLRINT{,F,L} using expand_builtin_mathfn if
flag_unsafe_math_optimizations is set.
testsuite:
* gcc.dg/builtins-46.c: Also check lrint* and llrint*.
From-SVN: r96802
|
|
2005-03-21 Paolo Bonzini <bonzini@gnu.org>
* combine.c (combine_simplify_rtx, simplify_if_then_else,
simplify_logical, if_then_else_cond, known_cond,
simplify_comparison): Adjust calls to reverse_comparison.
Don't use combine_reversed_comparison_code).
(combine_reversed_comparison_code): Remove.
(reversed_comparison): Using reversed_comparison_code, move it...
* jump.c (reversed_comparison): ... here.
* rtl.h (reversed_comparison): Add prototype.
From-SVN: r96801
|
|
* builtins.c (fold_builtin): Take decomposed arguments of
CALL_EXPR.
* fold-const.c (fold_ternary): Update a call to fold_builtin.
* gimplify.c (gimplify_call_expr): Likewise.
* tree-ssa-ccp.c (ccp_fold, ccp_fold_builtin): Likewise.
* tree.h: Update the prototype of fold_builtin.
From-SVN: r96800
|
|
2005-03-21 Paolo Bonzini <bonzini@gnu.org>
* rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit.
* rtlhooks.c (gen_lowpart_no_emit_general): New.
* rtlhooks-def.h (gen_lowpart_no_emit_general): Declare.
(RTL_HOOKS_GEN_LOWPART_NO_EMIT): New.
* simplify-rtx.c (simplify_binary_operation_1): Use it.
From-SVN: r96799
|
|
* builtins.c (fold_builtin_1): Take decomposed arguments of
CALL_EXPR.
(fold_builtin): Update a call to fold_builtin_1.
From-SVN: r96798
|
|
* builtins.c (fold_builtin_1): Take decomposed arguments of
CALL_EXPR.
From-SVN: r96797
|
|
From-SVN: r96796
|
|
2005-03-21 Paolo Carlini <pcarlini@suse.de>
* g++.dg/parse/crash25.C: Fix typo.
From-SVN: r96795
|
|
From-SVN: r96790
|
|
PR other/20564
* gcov.c (output_lines): Only output function block summary when
outputting branch information.
* doc/gcov.texi: Document format of preamble and additional block
information lines.
From-SVN: r96788
|
|
2005-03-21 Paolo Carlini <pcarlini@suse.de>
PR c++/20461
* g++.dg/parse/crash24.C: New test.
PR c++/20536
* g++.dg/parse/crash25.C: New test.
2005-03-21 Paolo Carlini <pcarlini@suse.de>
PR c++/20147
* g++.dg/ext/stmtexpr4.C: New test.
From-SVN: r96785
|
|
2005-03-21 Paolo Carlini <pcarlini@suse.de>
PR c++/20461
PR c++/20536
* init.c (emit_mem_initializers): Don't crash on undefined
types.
2005-03-21 Paolo Carlini <pcarlini@suse.de>
PR c++/20147
* semantics.c (finish_stmt_expr_expr): Return immediately
if error_operand_p (expr).
From-SVN: r96784
|
|
From-SVN: r96782
|
|
* libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
(LIBGCC2_HAS_DF_MODE, LIBGCC2_HAS_TF_MODE, LIBGCC2_HAS_XF_MODE): Make
the defaults false if BITS_PER_UNIT != 8.
(SFtype, SCtype, __fixsfdi, __floatdisf, __fixunssfSI, __fixunssfDI)
(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE rather
than BITS_PER_UNIT != 8.
(L_fixdfdi, L_fixsfdi, L_fixtfdi, L_fixunsdfdi, L_fixunsdfsi)
(L_fixunssfdi, L_fixunssfsi, L_fixunstfdi, L_fixunsxfdi, L_fixunsxfsi)
(L_fixxfdi, L_floatdidf, L_floatdisf, L_floatditf, L_floatdixf): Remove
#undefs.
* libgcc2.c (__fixunssfDI, __fixsfdi, __floatdisf, __fixunssfSI)
(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE.
From-SVN: r96778
|
|
PR middle-end/20539
* fold-const.c (fold_binary): Fix type mismatch between
TRUTH_{AND,OR,XOR}_EXPR nodes an their operands' types.
(fold_binary) <TRUTH_XOR_EXPR>: Avoid calling invert_truthvalue
for non-truth-valued expressions.
* c-common.c (c_common_truthvalue_conversion): Handle ERROR_MARK
and FUNCTION_DECL in the main switch.
<TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
TRUTH_XOR_EXPR>: When changing the result type of these tree nodes,
we also need to convert their operands to match.
<TRUTH_NOT_EXPR>: Likewise.
* gcc.c-torture/compile/pr13066-1.c: New test case.
* gcc.c-torture/compile/pr20539-1.c: Likewise.
* g++.dg/opt/pr13066-1.C: Likewise.
From-SVN: r96777
|
|
without checking whether an lvalue.
* c-common.c (lvalue_or_else): Replace by lvalue_error; only give
diagnostic without checking whether an lvalue.
* c-common.h (lvalue_p): Remove.
(enum lvalue_use): Update comment.
(lvalue_or_else): Replace by lvalue_error.
* c-typeck.c (lvalue_p): Make static.
(lvalue_or_else): New. Call lvalue_error.
cp:
* cp-tree.h (lvalue_or_else, lvalue_p): New.
* typeck.c (lvalue_or_else): New. Call lvalue_error.
From-SVN: r96776
|
|
[[Split portion of a mixed commit.]]
From-SVN: r96774.2
|
|
* config/rs6000/rs6000.c (rs6000_parm_start): New function.
(function_arg_advance): Use rs6000_parm_start.
(function_arg, rs6000_arg_partial_bytes): Likewise.
From-SVN: r96771
|
|
* c-common.c (check_case_value): Adjust comment about stripping
NOPs.
(handle_vector_size_attribute): Don't strip NON_LVALUE_EXPR.
* c-typeck.c (default_conversion, convert_arguments,
build_modify_expr, convert_for_assignment, store_init_value,
digest_init): Use STRIP_TYPE_NOPS instead of stripping nops
manually. Remove inaccurate comments.
From-SVN: r96770
|
|
* varasm.c (do_assemble_alias): Restore comment describing function.
Annotate the target parameter as potentially unused.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r96768
|
|
PR target/18551
* config/avr/avr.c (avr_output_function_prologue): Do not use
current_function_name() in a label, use a local label instead.
From-SVN: r96765
|
|
flag_unsafe_math_optimizations.
* config/rs6000/rs6000.c (rs6000_generate_compare): Test
flag_finite_math_only, not flag_unsafe_math_optimizations.
From-SVN: r96764
|
|
* builtins.c (fold_builtin_1): Update a call to
targetm.fold_builtin.
* hooks.c (hook_tree_tree_bool_null): Rename to
hook_tree_tree_tree_bool_null. Take one more argument of type
tree.
* hooks.h: Update the prototype of hook_tree_tree_bool_null.
* target-def.h (TARGET_FOLD_BUILTIN): Define it as
hook_tree_tree_tree_bool_null.
* target.h (gcc_target): Update the prototype of fold_builtin.
* config/alpha/alpha.c (alpha_fold_builtin): Take decomposed
arguments of CALL_EXPR.
* doc/tm.texi (TARGET_FOLD_BUILTIN): Update. Mention the
new prototype.
From-SVN: r96762
|
|
* cgraph.h (cgraph_node): Add prev_clone pointer.
* cgraph.c (cgraph_remove_node): Remove from doubly linked chain.
(cgraph_clone_node): Produce doubly linked chain.
From-SVN: r96761
|
|
INTEGER_CSTs.
* c-common.c (handle_aligned_attribute, check_function_sentinel,
get_nonnull_operand, handle_sentinel_attribute,
check_function_arguments_recurse): Do not strip NOPS from
INTEGER_CSTs.
* c-decl.c (check_bitfield_type_and_width, build_enumerator):
Likewise.
* c-format.c (get_constant): Likewise.
* c-parser.c (c_parser_postfix_expression): Likewise.
* c-typeck.c (set_init_index): Likewise.
(convert_arguments): Don't check for NOP_EXPR containing integer
constant.
From-SVN: r96760
|
|
* builtins.c (fold_fixed_mathfn, fold_builtin_trunc,
fold_builtin_floor, fold_builtin_ceil, fold_builtin_lround):
Take decomposed arguments of CALL_EXPR.
(fold_builtin_1): Update calls to the functions mentioned
above.
From-SVN: r96759
|
|
integer type.
* c-decl.c (check_bitfield_type_and_width): Require bit-field
width to have integer type.
(build_enumerator): Require enumerator value to have integer type.
testsuite:
* gcc.dg/bitfld-14.c, gcc.dg/enum3.c: New tests.
From-SVN: r96755
|
|
[[Split portion of a mixed commit.]]
From-SVN: r96753.2
|
|
* doc/extend.texi (__builtin_inf): Move statement about INFINITY
to __builtin_inff.
From-SVN: r96748
|
|
* c.opt (ansi, std=iso9899:1990, std=iso9899:1999,
std=iso9899:199x): Correct descriptions.
From-SVN: r96745
|
|
gcc:
* config.gcc: Consistently use solaris2.1[0-9]* instead of
solaris2.1[0-9].
libcpp:
* configure.ac: Consistently use solaris2.1[0-9]* instead of
solaris2.1[0-9].
* configure: Regenerate.
From-SVN: r96743
|