Age | Commit message (Collapse) | Author | Files | Lines |
|
* c-typeck.c (build_compound_expr): Correct logic in last change.
testsuite:
* gcc.dg/void-cast-2.c: New test.
From-SVN: r98901
|
|
* config/ia64/ia64.c (update_set_flags): Delete ppred and pcond
parameters. Replace conditional move code with assert checking for
ar.lc. Delete obsolete comments.
(set_src_needs_barrier): Delete cond parameter, and code using it.
(rtx_needs_barrier): Delete initialization of cond. Fix typo in
assert checking for PR_REGS. Fix calls to update_set_flags and
set_src_needs_barrier.
(group_barrier_needed): Renamed from group_barrier_needed_p. Fix all
callers. Rewrite explanatory comment before the function.
(safe_group_barrier_needed): Renamed from safe_group_barrier_needed_p.
Fix all callers.
From-SVN: r98900
|
|
From-SVN: r98898
|
|
[[Split portion of a mixed commit.]]
From-SVN: r98896.2
|
|
From-SVN: r98890
|
|
PR c/21159
* c-typeck.c (build_compound_expr): Don't warn for left-hand side
being a compound expression whose right-hand side is cast to void.
testsuite:
* gcc.dg/void-cast-1.c: New test.
From-SVN: r98886
|
|
2005-04-27 Caroline Tice <ctice@apple.com>
* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
Remove targetm.have_named_sections test.
(fix_edges_for_rarely_executed_code): Likewise.
(insert_section_boundary_note): Likewise.
(reorder_basic_blocks): Check partitioning flag before calling
verify_hot_cold_block_grouping.
* dbxout.c (dbxout_function_end): Get hot/cold section labels from
the function struct rather than global variables.
* dwarf2out.c (COLD_TEXT_SECTION_LABEL): New macro.
(COLD_END_LABEL): Likewise
(cold_text_section_label): New static global variable.
(cold_end_label): Likewise.
(dwarf2out_switch_text_section): Get hot/cold section labels from
the function struct rather than global variables; test to make sure
cfun is defined.
(output_aranges): Use cold_text_section_label and cold_end_label;
check partitioning flag before putting out delta.
(output_ranges): Remove incorrect code attempting to use
hot/cold labels.
(output_line_info): Get cold section label from function struct; test
to make sure cfun is defined.
(add_location_or_const_value_attribute): Likewise.
(dwarf2out_var_location): Likewise.
(dwarf2out_init): Generate cold_text_section_label and cold_end_label;
write out cold_text_section_label if partition flag is set.
(dwarf2out_finish): Write out cold_end_label if partition flag is set;
* function.h (struct function): Add new fields to point to hot/cold
section labels: hot_section_label, cold_section_label,
hot_section_end_label and cold_section_end_label; also add new field
for cold text section name, unlikely_text_section_name.
* opts.c (decode_options): Turn off partitioning flag if
!targetm.have_named_sections.
* output.h (hot_section_label): Remove.
(hot_section_end_label): Remove.
(cold_section_end_label): Remove.
(unlikely_section_label): Remove.
(unlikely_text_section_name): Remove.
* passes.c (rest_of_handle_final): Remove extra blank line.
* varasm.c (unlikely_section_label): Remove.
(hot_section_label): Remove.
(hot_section_end_label): Remove.
(cold_section_end_label): Remove.
(unlikely_text_section_name): Remove.
(initialize_cold_section_name): Modify to call
targetm.strip_name_encoding; to store cold section name in current
function struct, if it exists; and to only use the decl_section_name
if flag_named_sections is true.
(unlikely_text_section): Modify to get section name out of current
function struct, if there is one; otherwise build it from
UNLIKELY_EXECUTED_TEXT_SECTION_NAME.
(in_unlikely_text_section): Likewise.
(named_section): Modify to get/put cold section name in current function
struct, if there is one.
(function_section): Change 'bool unlikely' to 'int reloc'; check
targetm.have_named_sections before calling named_section.
(current_function_section): Likewise.
(assemble_start_function): Modify to get/put unlikely_text_section_name
in current function struct; modify to get hot/cold section labels
from function struct; initialize labels using
ASM_GENERATE_INTERNAL_LABEL;
test partitioning flag before writing out hot section label.
(assemble_end_function): Test partitioning flag before writing out
hot/cold section labels.
(default_section_type_flags_1): Get cold text section name from
function struct if there is one; Set flags correctly for
cold text section if there is not a current function struct.
From-SVN: r98885
|
|
2005-04-27 Richard Guenther <rguenth@gcc.gnu.org>
* tree-ssa-propagate.c (set_rhs): Revert last change.
From-SVN: r98882
|
|
From-SVN: r98881
|
|
* configure.ac: Check for ld --sysroot support.
* gcc.c: Document %R specifier for specs.
(SYSROOT_SPEC): New macro.
(sysroot_spec): New variable.
(static_specs): Add sysroot_spec.
(main): Pass the sysroot spec to the linker if appropriate.
* configure: Regenerated.
* config.in: Likewise.
From-SVN: r98880
|
|
and INDIRECT_REF handling.
2005-04-27 Richard Guenther <rguenth@gcc.gnu.org>
* fold-const.c (fold_binary): Use build_fold_addr_expr
for address calculation and INDIRECT_REF handling.
From-SVN: r98877
|
|
2005-04-27 Andrew Haley <aph@redhat.com>
* postreload-gcse.c (hash_scan_set): Remove bogus assertion.
From-SVN: r98873
|
|
backtracing is on.
* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame
pointer when thumb backtracing is on.
* config/fp-bit.c (abort): Revert change.
From-SVN: r98872
|
|
gnu.gcj.runtime.NameFinder.* system properties.
* gcj.texi (libgcj Runtime Properties): Remove obsolete
gnu.gcj.runtime.NameFinder.* system properties. Update documentation
for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.
From-SVN: r98871
|
|
From-SVN: r98868
|
|
From-SVN: r98866
|
|
From-SVN: r98862
|
|
setjmpless_size.
* explow.c (allocate_dynamic_stack_space SETJMP_VIA_SAVE_AREA):
Kill setjmpless_size. current_function_calls_setjmp is completely
computed when we are called, so just use the optimized size value
instead of using REG_SAVE_AREA notes.
(optimize_save_area_alloca): Delete....
* rtl.h (optimize_save_area_alloca): Likewise...
* passes.c (rest_of_compilation): and don't call it any more.
* reg-notes.def (SAVE_AREA): Delete.
From-SVN: r98861
|
|
* config/fp-bit.c (abort): Add noreturn attribute.
* config/avr/avr.c (avr_naked_function_p): Use gcc_assert and
gcc_unreachable as appropriate.
(ptrreg_to_str, cond_string, avr_normalize_condition): Likewise.
* config/avr/avr.h (ASM_OUTPUT_REG_PUSH,
ASM_OUTPUT_REG_POP): Likewise.
From-SVN: r98854
|
|
VIEW_CONVERT_EXPR's for the lhs.
2005-04-27 Paolo Bonzini <bonzini@gnu.org>
* tree-complex.c (expand_vector_operations_1): Do not build
VIEW_CONVERT_EXPR's for the lhs.
From-SVN: r98853
|
|
noncanonical RTL handling.
* config/pa/pa.h (PRINT_OPERAND_ADDRESS): Use gcc_assert, remove
unnecessary noncanonical RTL handling.
* config/pa/pa64-linux.h (INITIAL_ELIMINATION_OFFSET): Use
gcc_assert and gcc_unreachable.
From-SVN: r98852
|
|
2005-04-27 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/tree-ssa/gen-vect-25.c: Make more portable.
From-SVN: r98851
|
|
appropriate.
* config/arm/arm.h (ARM_PRINT_OPERAND_ADDRESS): Use gcc_assert and
gcc_unreachable as appropriate.
(THUMB_PRINT_OPERAND_ADDRESS): Likewise.
* config/arm/arm.c (arm_override_options, arm_compute_func_type,
use_return_insn, const_ok_for_op, arm_gen_constant,
arm_canonicalize_comparison, legitimize_pic_address,
thumb_find_work_register, arm_load_pic_register, arm_rtx_costs_1,
arm_cirrus_insn_p, cirrus_reorg, minmax_code,
load_multiple_sequence, emit_ldm_seq, store_multiple_sequence,
emit_stm_seq, arm_gen_movmemqi, arm_select_dominance_cc_mode,
arm_select_cc_mode, arm_reload_in_hi, arm_reload_out_hi,
move_minipool_fix_forward_ref, move_minipool_fix_backward_ref,
dump_minipool, create_fix_barrier, push_minipool_fix, arm_reorg,
fp_immediate_constant, fp_const_from_val, vfp_output_fstmx,
output_call, output_mov_long_double_fpa_from_arm,
output_mov_long_double_arm_from_fpa,
output_mov_double_fpa_from_arm, output_mov_double_arm_from_fpa,
output_move_double, arithmetic_instr, shift_op, int_log2,
output_return_instruction, arm_output_function_prologue,
arm_output_epilogue, arm_output_function_epilogue,
emit_multi_reg_push, arm_get_frame_offsets,
arm_compute_initial_elimination_offset, arm_expand_prologue,
arm_print_operand, arm_assemble_integer, get_arm_condition_code,
arm_final_prescan_insn, arm_init_iwmmxt_builtins,
arm_expand_binop_builtin, thumb_pushpop, thumb_far_jump_used_p,
thumb_compute_initial_elimination_offset,
thumb_output_function_prologue, thumb_load_double_from_address,
thumb_output_move_mem_multiple, thumb_reload_out_hi,
arm_emit_vector_const, arm_dbx_register_number): Likewise.
* config/arm/pe.c (arm_mark_dllexport, arm_mark_dllimport): Likewise.
* config/arm/arm.md (thumb_extendhisi2,
*thumb_extendhisi2_insn_v6, *thumb_extendqisi2,
*thumb_extendqisi2_v6, movhi, *thumb_movhi_insn,
thumb_movhi_clobber, movqi, *arm_buneq, *arm_bltgt,
*arm_buneq_reversed, *arm_bltgt_reversed, suneq, sltgt): Likewise.
* config/arm/cirrus.md (*cirrus_arm_movdi,
*cirrus_movdf_hard_insn): Likewise.
* config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
From-SVN: r98850
|
|
* dojump.c: Fix comment typos. emit-rtl.c, expmed.c, expr.c,
stmt.c, stor-layout.c: Use fold_buildN instead of
fold (buildN (...)).
From-SVN: r98848
|
|
* tree-flow.h (ssa_names): Change the type to VEC(tree,gc).
(num_ssa_names): Use VEC_length.
(ssa_names): Use VEC_index.
* tree-ssanames.c (ssa_names): Change the type to
VEC(tree,gc).
(init_ssanames, fini_ssa_names, make_ssanames,
release_ssa_name): Update uses of ssa_names.
From-SVN: r98843
|
|
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
rw.po, sv.po, tr.po: Update.
From-SVN: r98840
|
|
PR fortran/21177
* interface.c (compare_parameter): Ignore type for EXPR_NULL
only if type is BT_UNKNOWN.
* gfortran.dg/pr21177.f90: New test
From-SVN: r98837
|
|
From-SVN: r98836
|
|
2005-04-27 Matt Thomas <matt@3am-software.com>
Jan-Benedict Glaw <jbglaw@microdata-pos.de>
* config/vax/vax.c (vax_rtx_costs): Whitespace cleanup.
(vax_output_mi_thunk): Ditto.
(vax_notice_cc_update): Ditto.
(INDEX_REGISTER_P): Add trailing \.
(BASE_REGISTER_P): Add trailing \.
(legitimate_address_p): Whitespace cleanup. Remove trailing \.
Co-Authored-By: Jan-Benedict Glaw <jbglaw@microdata-pos.de>
From-SVN: r98835
|
|
2005-04-27 Richard Guenther <rguenth@gcc.gnu.org>
* tree-ssa-propagate.c (set_rhs): Check operand of
ADDR_EXPR for gimpliness, too.
From-SVN: r98832
|
|
From-SVN: r98831
|
|
for constant values)
PR tree-optimization/21171
* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not
record address uses if the reference is volatile.
* gcc.dg/tree-ssa/pr21171.c: New test.
From-SVN: r98828
|
|
expand_vector_operations_1.
gcc:
2004-04-27 Paolo Bonzini <bonzini@gnu.org>
* tree-complex.c (expand_vector_operation): New, extracted from
expand_vector_operations_1.
(tree_vec_extract): Build a NOP_EXPR.
(expand_vec_parallel): Do not care about returning the correct type.
(expand_vector_operations_1): Call expand_vector_operation.
Build the VIEW_CONVERT_EXPR on the left side of MODIFY_EXPRs.
* tree-complex.c (gate_expand_vector_operations): New.
(pass_lower_vector_ssa): Use it.
* tree-optimize.c (init_tree_optimization_passes): Include
pass_lower_vector_ssa.
* tree-vect-transform.c (vect_min_worthwhile_factor): New.
(vectorizable_operation): Use it.
* tree-vectorizer.c (get_vectype_for_scalar_type): Accept
integer modes for the vector type.
* defaults.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
* tree-vect-analyze.c (vect_enhance_data_refs_alignment):
Do not cope with UNITS_PER_SIMD_WORD == 0.
* tree-vectorizer.c (get_vectype_for_scalar_type): Check
if the scalar type is not bigger than UNITS_PER_SIMD_WORD.
(vectorize_loops): Do not check that UNITS_PER_SIMD_WORD > 0.
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
* config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
* config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
* config/alpha/alpha.h (UNITS_PER_SIMD_WORD): Remove.
* config/bfin/bfin.h (UNITS_PER_SIMD_WORD): Remove.
* config/ia64/ia64.h (UNITS_PER_SIMD_WORD): Remove.
* doc/tm.texi (UNITS_PER_WORD): Rephrase more accurately.
(UNITS_PER_SIMD_WORD): New.
gcc/testsuite:
2004-04-27 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/tree-ssa/gen-vect-11.c, gcc.dg/tree-ssa/gen-vect-11a.c,
gcc.dg/tree-ssa/gen-vect-11b.c, gcc.dg/tree-ssa/gen-vect-11c.c,
gcc.dg/tree-ssa/gen-vect-2.c, gcc.dg/tree-ssa/gen-vect-25.c,
gcc.dg/tree-ssa/gen-vect-26.c, gcc.dg/tree-ssa/gen-vect-28.c,
gcc.dg/tree-ssa/gen-vect-32.c: New.
* gcc.dg/vect/vect-82.c, gcc.dg/vect/vect-83.c: Fix dg-final.
* gcc.dg/vect/vect-82_64.c, gcc.dg/vect/vect-83_64.c: Remove xfail,
don't run on PPC32.
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: tree-complex.c tree-optimize.c tree-vect-analyze.c defaults.h
CVS: tree-vect-transform.c tree-vectorizer.c ChangeLog
CVS: testsuite/ChangeLog config/alpha/alpha.h config/bfin/bfin.h
CVS: config/i386/i386.h config/ia64/ia64.h config/mips/mips.h
CVS: config/rs6000/rs6000.h
CVS: config/sparc/sparc.h doc/tm.texi
CVS: testsuite/gcc.dg/vect/vect-82.c
CVS: testsuite/gcc.dg/vect/vect-82_64.c
CVS: testsuite/gcc.dg/vect/vect-83.c
CVS: testsuite/gcc.dg/vect/vect-83_64.c
CVS: Added Files:
CVS: testsuite/gcc.dg/tree-ssa/gen-vect-11.c
CVS: testsuite/gcc.dg/tree-ssa/gen-vect-11a.c
CVS: testsuite/gcc.dg/tree-ssa/gen-vect-11b.c
CVS: testsuite/gcc.dg/tree-ssa/gen-vect-11c.c
CVS: testsuite/gcc.dg/tree-ssa/gen-vect-2.c
CVS: testsuite/gcc.dg/tree-ssa/gen-vect-25.c
CVS: testsuite/gcc.dg/tree-ssa/gen-vect-26.c
CVS: testsuite/gcc.dg/tree-ssa/gen-vect-28.c
CVS: testsuite/gcc.dg/tree-ssa/gen-vect-32.c
CVS: ----------------------------------------------------------------------
From-SVN: r98818
|
|
appropriate.
* config/ia64/ia64.c (ia64_encode_addr_area): Use gcc_assert and
gcc_unreachable as appropriate.
(ia64_expand_load_address, ia64_expand_tls_address,
ia64_split_tmode, ia64_split_tmode_move, ia64_expand_compare,
ia64_expand_vecint_compare, ia64_expand_vecint_minmax,
next_scratch_gr_reg, ia64_initial_elimination_offset,
ia64_expand_prologue, ia64_expand_epilogue,
ia64_output_dwarf_dtprel, ia64_print_operand,
ia64_register_move_cost, first_instruction, rws_access_regno,
update_set_flags, rtx_needs_barrier, group_barrier_needed_p,
ia64_sched_init, ia64_variable_issue,
ia64_first_cycle_multipass_dfs_lookahead_guard,
ia64_dfa_new_cycle, issue_nops_and_insn, get_template, bundling,
ia64_st_address_bypass_p, ia64_ld_address_bypass_p, process_set,
process_for_unwind_directive, ia64_hpux_file_end): Likewise.
* config/ia64/ia64.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
* config/ia64/ia64.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
* config/ia64/predicates.md (got_symbolic_operand,
sdata_symbolic_operand): Likewise.
* config/ia64/vect.md (vcondv2sf): Likewise.
From-SVN: r98817
|
|
2005-04-27 Matt Thomas <matt@3am-software.com>
* config/vax/vax.c (legitimate_constant_address_p): New. Formerly
CONSTANT_ADDRESS_P in config/vax/vax.h
(legitimate_constant_p): Added. Formerly CONSTANT_P in vax.h.
(INDEX_REGISTER_P): New.
(BASE_REGISTER_P): New.
(indirectable_constant_address_p): New. Adapted from
INDIRECTABLE_CONSTANT_ADDRESS_P in vax.h.
Use SYMBOL_REF_LOCAL_P.
(indirectable_address_p): New. Adapted from
INDIRECTABLE_ADDRESS_P in vax.h.
(nonindexed_address_p): New. Adapted from
GO_IF_NONINDEXED_ADDRESS in vax.h.
(index_temp_p): New. Adapted from
INDEX_TERM_P in vax.h.
(reg_plus_index_p): New. Adapted from
GO_IF_REG_PLUS_INDEX in vax.h.
(legitimate_address_p): New. Adapted from
GO_IF_LEGITIMATE_ADDRESS in vax.h
(vax_mode_dependent_address_p): New. Adapted from
GO_IF_MODE_DEPENDENT_ADDRESS in vax.h
* config/vax/vax.h (CONSTANT_ADDRESS_P): Use
legitimate_constant_address_p
(CONSTANT_P): Use legitimate_constant_p.
(INDIRECTABLE_CONSTANT_ADDRESS_P): Removed.
(INDIRECTABLE_ADDRESS_P): Removed.
(GO_IF_NONINDEXED_ADDRESS): Removed.
(INDEX_TEMP_P): Removed.
(GO_IF_REG_PLUS_INDEX): Removed.
(GO_IF_LEGITIMATE_ADDRESS): Use legitimate_address_p.
Two definitions, depending on whether REG_OK_STRICT is defined.
(GO_IF_MODE_DEPENDENT_ADDRESS): Use vax_mode_dependent_address_p.
Two definitions, depending on whether REG_OK_STRICT is defined.
* config/vax/vax-protos.h (legitimate_constant_address_p): Prototype
added.
(legitimate_constant_p): Prototype added.
(legitimate_address_p): Prototype added.
(vax_mode_dependent_address_p): Prototype added.
From-SVN: r98814
|
|
From-SVN: r98813
|
|
PR c/21213
* c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of
transparent union.
testsuite:
* gcc.dg/transparent-union-3.c: New test.
From-SVN: r98808
|
|
[[Split portion of a mixed commit.]]
From-SVN: r98805.2
|
|
PR c/20740
* c-format.c (init_dynamic_asm_fprintf_info): Give errors, not
assertion failures, if __gcc_host_wide_int__ is not properly
defined.
(init_dynamic_diag_info): Give errors, not assertion failures, if
location_t, tree or __gcc_host_wide_int__ are not properly
defined.
testsuite:
* gcc.dg/format/asm_fprintf-2.c, gcc.dg/format/asm_fprintf-3.c,
gcc.dg/format/asm_fprintf-4.c, gcc.dg/format/asm_fprintf-5.c,
gcc.dg/format/gcc_diag-2.c, gcc.dg/format/gcc_diag-3.c,
gcc.dg/format/gcc_diag-4.c, gcc.dg/format/gcc_diag-5.c,
gcc.dg/format/gcc_diag-6.c, gcc.dg/format/gcc_diag-7.c ,
gcc.dg/format/gcc_diag-8.c, gcc.dg/format/gcc_diag-9.c: New tests.
From-SVN: r98800
|
|
* tree.h (tree_phi_node): Add a comment about the order of PHI
arguments.
From-SVN: r98798
|
|
* tree-ssa-loop-ivopts.c (ivopts_data, decl_rtl_to_reset,
n_iv_uses, iv_use, n_iv_cands, iv_cand,
tree_ssa_iv_optimize_init, record_use, add_candidate_1,
prepare_decl_rtl, free_loop_data,
tree_ssa_iv_optimize_finalize): Use the VEC API instead of
VARRAY.
From-SVN: r98797
|
|
2005-04-26 Paul Brook <paul@codesourcery.com>
* config/arm/arm.md (thumb_mulsi3): Use two-operand assembly form.
[[Split portion of a mixed commit.]]
From-SVN: r98783.2
|
|
* config/mips/mips.c (mips_legitimize_tls_address): Use
gcc_unreachable.
* config/mmix/mmix.c (mmix_assemble_integer): Use gcc_assert.
* config/mmix/crti.asm (_init): Reword comment to avoid 'abort'.
* config/mmix/mmix.md (nonlocal_goto_receiver): Likewise.
* config/sparc/sparc.h (enum reg_class): Reword comment to avoid
'abort'.
From-SVN: r98782
|
|
* tree-flow-inline.h (op_iter_next_must_and_may_def): New.
(op_iter_init_must_and_may_def): Likewise.
(unmodifiable_var_p): Move to a later point in the file.
* tree-ssa-operands.h (FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): New.
* tree-ssa-dse.c (need_imm_uses_for): Remove, no longer needed.
(dse_record_phis): Directly check for virtual operands rather than
using need_imm_uses_for.
(dse_optimize_stmt): Handle V_MUST_DEF operands. Handle case where
store has multiple V_{MAY,MUST}_DEF operands.
From-SVN: r98780
|
|
* gcc.dg/tree-ssa/ssa-dse-1.c: New test.
* gcc.dg/tree-ssa/ssa-dse-2.c: New test.
* gcc.dg/tree-ssa/ssa-dse-3.c: New test.
* gcc.dg/tree-ssa/ssa-dse-4.c: New test.
* gcc.dg/tree-ssa/ssa-dse-5.c: New test.
* gcc.dg/tree-ssa/ssa-dse-6.c: New test.
* gcc.dg/tree-ssa/ssa-dse-7.c: New test.
From-SVN: r98779
|
|
2005-04-26 Andrew MacLeod <amacleod@redhat.com>
* tree-cfg.c (bsi_replace): Delink immediate uses for the original stmt.
From-SVN: r98778
|
|
outside a loop to go through a PHI chain.
* tree-cfg.c (lv_adjust_loop_header_phi): Speed up moving a
call to find_edge outside a loop to go through a PHI chain.
From-SVN: r98776
|
|
&a->b and &c->b.)
2004-04-26 Richard Guenther <rguenth@gcc.gnu.org>
PR tree-optimization/17598
* fold-const.c (fold_binary): Fold comparisons of addresses
of COMPONENT_REFs which reference the same field to
comparisons of the addresses of the base objects.
* gcc.dg/tree-ssa/pr17598.c: New testcase.
From-SVN: r98775
|
|
* config/arm/arm.c (arm_return_in_msb): New function.
(arm_must_pass_in_stack): New function.
(TARGET_RETURN_IN_MSB): Define target hook.
(TARGET_MUST_PASS_IN_STACK): Define target hook.
(arm_function_value): Pad small aggregate return.
(arm_pad_arg_upward): New function.
(arm_pad_reg_upward): New function.
* config/arm/arm.h (PROMOTE_FUNCTION_MODE): Include complex values.
(FUNCTION_ARG_PADDING): Define macro.
(BLOCK_REG_PADDING): Define macro.
(PAD_VARARGS_DOWN): Correct padding for AAPCS.
* config/arm/arm-protos.h (arm_pad_arg_upward): Declare function.
(arm_pad_reg_upward): Declare function.
From-SVN: r98774
|
|
PR tree-optimization/21047
* fold-const.c (fold_binary): Abort on ASSERT_EXPR.
(fold): Don't handle ASSERT_EXPR.
From-SVN: r98770
|