2008-05-08 Kai Tietz <kai.tietz@onevision.com>
- PR/36180
+ PR bootstrap/36180
* calls.c (compute_argument_block_size ): Add ATTRIBUTE_UNUSED to
fndecl argument.
- (emit_library_call_value_1): Add ATTRIBUTE_UNUSED to variable
- fndecl.
- * target-def.h: Check that TARGET_RETURN_IN_MEMORY isn't declared in front.
+ (emit_library_call_value_1): Add ATTRIBUTE_UNUSED to variable fndecl.
+ * target-def.h: Check that TARGET_RETURN_IN_MEMORY isn't
+ declared in front.
2008-05-08 Richard Guenther <rguenther@suse.de>
2008-05-08 Sa Liu <saliu@de.ibm.com>
* config/spu/spu.md: Fixed subti3 pattern.
- * testsuite/gcc.target/spu/subti3.c: New.
2008-05-08 Richard Guenther <rguenther@suse.de>
* fold-const.c (operand_equal_p): Two objects which types
differ in pointerness are not equal.
-2008-05-08 Kai Tietz <kai,tietz@onevision.com>
+2008-05-08 Kai Tietz <kai.tietz@onevision.com>
* calls.c (compute_argument_block_size): Add argument tree fndecl.
(OUTGOING_REG_PARM_STACK_SPACE): Add function type argument.
* config/i386/sysv4.h: Likewise.
* config/i386/vx-common.h: Likewise.
* config/cris/cris.h: Removed #if 0 clause.
- * config/arm/arm-protos.h (arm_return_in_memory): Add fntype
- argument.
+ * config/arm/arm-protos.h (arm_return_in_memory): Add fntype argument.
* config/i386/i386-protos.h (ix86_return_in_memory): Add fntype
argument.
(ix86_sol10_return_in_memory): Likewise.
* config/v850/v850.h: Likewise.
* defaults.h: Likewise.
* doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Adjust documentation.
- * expr.c (emit_block_move): Adjust use of OUTGOING_REG_PARM_STACK_SPACE.
+ * expr.c (emit_block_move): Adjust use of
+ OUTGOING_REG_PARM_STACK_SPACE.
* function.c (STACK_DYNAMIC_OFFSET): Adjust use of
OUTGOING_REG_PARM_STACK_SPACE.
* targhooks.c (default_return_in_memory): Remove RETURN_IN_MEMORY.
2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>
- PATCH rtl/7335
- PATCH rtl/33826
- * see.c (see_copy_insn): Copy new pure const attributes for new
- call.
- * c-decl.c (merge_decls): Ditto.
- * postreload.c (record_opr_changes): Change CONST_OR_PURE_CALL_P
- to RTL_CONST_OR_PURE_CALL_P.
- * tree.c (define_local_buitin): Rename DECL_IS_PURE to
- DECL_PURE_P. Initialized DECL_LOOPING_CONST_PURE.
- (process_call_operands): Set tree_side_effects properly.
- * tree.h (TREE_READONLY_DECL_P): Removed.
- (DECL_IS_PURE): Renamed to DECL_PURE_P.
- (DECL_LOOPING_OR_CONST_P): New macro.
- (struct tree_function_decl): Added looping_const_or_pure_p.
- (ECF_*) Renumbered.
- (ECF_LOOPING_OR_CONST_P): New macro,
- * rtlanal.c (pure_const_p): Removed.
- * builtins.c (expand_builtin): Rename DECL_IS_PURE to DECL_PURE_P.
- * reorg.c (delete_prior_computation) Changed CONST_OR_PURE_CALL_P
- to RTL_CONST_CALL_P.
- * ipa-pure-const.c (pure_const_state_e): Added looping field.
- (check_decl, check_tree, check_call, scan_function): Initialize
- looping.
- (analyze_function): Rename DECL_IS_PURE to DECL_PURE_P.
- (static_execute): Set looping true for recursive functions.
- Undo setting state to IPA_NEITHER for recursive functions.
- * cse.c (cse_insn):
- * ifcvt.c (noce_can_store_speculate_p): Changed
- CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or
- RTL_CONST_OR_PURE_CALL_P.
- * dse.c (scan_insn): Ditto.
- * local-alloc.c (validate_equiv_mem, memref_used_between_p): Ditto.
- * gcse.c (oprs_not_seen_p) Changed CONST_OR_PURE_CALL_P to
- RTL_CONST_OR_PURE_CALL_P.
- (store_killed_in_insn): Changed CONST_OR_PURE_CALL_P and
- pure_call_p to RTL_CONST_CALL_P.
- * gimplify.c (gimplify_call_expr): Clear side effects for
- non-looping pure and constant calls.
- * calls.c (emit_call_1): Set rtl flags from ecf flags.
- (flags_from_decl_or_type): Set ecf flags from decl flags.
- (initialize_argument_information): Turn off
- ECF_LOOPING_CONST_OR_PURE when turning off ECF_CONST.
- Change const to pure if callee_copies is true rather than just
- turning off const.
- (expand_call): Turn off ECF_LOOPING_PURE_CONST_CALL and remove old
- way of marking pure calls.
- (emit_library_call_value_1): Turn off ECF_LOOPING_PURE_CONST_CALL.
- Remove hack that was supposed to fix pr7335 and remove old
- way of marking pure calls.
- * emit-rtl.c (emit_copy_of_insn_after): Copy RTL_CONST_CALL_P,
- RTL_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P.
- * cselib.c (cselib_process_insn): Changed CONST_OR_PURE_CALL_P to
- RTL_CONST_OR_PURE_CALL_P.
- * tree-ssa-pre.c (can_value_number_call): Fixed spacing.
- * loop-invariant.c (find_exits, find_invariant_bb): Changed
- CONST_OR_PURE_CALL_P to RTL_CONST_OR_PURE_CALL_P.
- * sched-deps.c (schedule_analyze): Ditto.
- * rtl.h (struct rtx_def): Use call field, unchanging field, and
- return_val field of calls to represent pure and const function
- info.
- (CONST_OR_PURE_CALL_P): Deleted macro.
- (RTL_CONST_CALL_P, RTL_PURE_CALL_P,
- RTL_LOOPING_CONST_OR_PURE_CALL_P, RTL_CONST_OR_PURE_P): New macros.
- * tree-inline.c (copy_body_r): Changed TREE_READONLY_DECL_P to
- TREE_READONLY.
- * tree-optimize.c (execute_fixup_cfg): Added test for
- ECF_LOOPING_CONST_OR_PURE.
- * c-common.c (handle_pure_attribute): Changed DECL_IS_PURE to
- DECL_PURE_P.
- * tree-cfg.c (update_call_expr_flags): Do not clear tree side
- effects for looping pure or const calls.
- (verify_gimple_expr): Added verification code.
- * config/alpha/alpha.c (alpha_legitimize_address,
- alpha_emit_xfloating_libcall): Changed CONST_OR_PURE_CALL_P to
- RTL_CONST_CALL_P.
- * config/s390/s390.c (s390_emit_tls_call_insn): Ditto.
- * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Ditto.
- * config/mips/mips.c (mips_call_tls_get_addr): Ditto.
- * cfgrtl.c (need_fake_edge_p): Changed CONST_OR_PURE_CALL_P to
- RTL_CONST_OR_PURE_CALL_P.
- * dce.c (deletable_insn_p): Allow non looping, non sibling, pure
- and const calls to be deleted.
-
-
-2008-05-08 Uros Bizjak <ubizjak@gmail.com>
+ PR rtl/7335
+ PR rtl/33826
+ * see.c (see_copy_insn): Copy new pure const attributes for new call.
+ * c-decl.c (merge_decls): Ditto.
+ * postreload.c (record_opr_changes): Change CONST_OR_PURE_CALL_P
+ to RTL_CONST_OR_PURE_CALL_P.
+ * tree.c (define_local_buitin): Rename DECL_IS_PURE to DECL_PURE_P.
+ Initialized DECL_LOOPING_CONST_PURE.
+ (process_call_operands): Set tree_side_effects properly.
+ * tree.h (TREE_READONLY_DECL_P): Removed.
+ (DECL_IS_PURE): Renamed to DECL_PURE_P.
+ (DECL_LOOPING_OR_CONST_P): New macro.
+ (struct tree_function_decl): Added looping_const_or_pure_p.
+ (ECF_*) Renumbered.
+ (ECF_LOOPING_OR_CONST_P): New macro.
+ * rtlanal.c (pure_const_p): Removed.
+ * builtins.c (expand_builtin): Rename DECL_IS_PURE to DECL_PURE_P.
+ * reorg.c (delete_prior_computation) Changed CONST_OR_PURE_CALL_P
+ to RTL_CONST_CALL_P.
+ * ipa-pure-const.c (pure_const_state_e): Added looping field.
+ (check_decl, check_tree, check_call, scan_function): Initialize
+ looping.
+ (analyze_function): Rename DECL_IS_PURE to DECL_PURE_P.
+ (static_execute): Set looping true for recursive functions.
+ Undo setting state to IPA_NEITHER for recursive functions.
+ * cse.c (cse_insn):
+ * ifcvt.c (noce_can_store_speculate_p): Changed
+ CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or
+ RTL_CONST_OR_PURE_CALL_P.
+ * dse.c (scan_insn): Ditto.
+ * local-alloc.c (validate_equiv_mem, memref_used_between_p): Ditto.
+ * gcse.c (oprs_not_seen_p) Changed CONST_OR_PURE_CALL_P to
+ RTL_CONST_OR_PURE_CALL_P.
+ (store_killed_in_insn): Changed CONST_OR_PURE_CALL_P and
+ pure_call_p to RTL_CONST_CALL_P.
+ * gimplify.c (gimplify_call_expr): Clear side effects for
+ non-looping pure and constant calls.
+ * calls.c (emit_call_1): Set rtl flags from ecf flags.
+ (flags_from_decl_or_type): Set ecf flags from decl flags.
+ (initialize_argument_information): Turn off
+ ECF_LOOPING_CONST_OR_PURE when turning off ECF_CONST.
+ Change const to pure if callee_copies is true rather than just
+ turning off const.
+ (expand_call): Turn off ECF_LOOPING_PURE_CONST_CALL and remove old
+ way of marking pure calls.
+ (emit_library_call_value_1): Turn off ECF_LOOPING_PURE_CONST_CALL.
+ Remove hack that was supposed to fix pr7335 and remove old
+ way of marking pure calls.
+ * emit-rtl.c (emit_copy_of_insn_after): Copy RTL_CONST_CALL_P,
+ RTL_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P.
+ * cselib.c (cselib_process_insn): Changed CONST_OR_PURE_CALL_P to
+ RTL_CONST_OR_PURE_CALL_P.
+ * tree-ssa-pre.c (can_value_number_call): Fixed spacing.
+ * loop-invariant.c (find_exits, find_invariant_bb): Changed
+ CONST_OR_PURE_CALL_P to RTL_CONST_OR_PURE_CALL_P.
+ * sched-deps.c (schedule_analyze): Ditto.
+ * rtl.h (struct rtx_def): Use call field, unchanging field, and
+ return_val field of calls to represent pure and const function info.
+ (CONST_OR_PURE_CALL_P): Deleted macro.
+ (RTL_CONST_CALL_P, RTL_PURE_CALL_P,
+ RTL_LOOPING_CONST_OR_PURE_CALL_P, RTL_CONST_OR_PURE_P): New macros.
+ * tree-inline.c (copy_body_r): Changed TREE_READONLY_DECL_P to
+ TREE_READONLY.
+ * tree-optimize.c (execute_fixup_cfg): Added test for
+ ECF_LOOPING_CONST_OR_PURE.
+ * c-common.c (handle_pure_attribute): Changed DECL_IS_PURE to
+ DECL_PURE_P.
+ * tree-cfg.c (update_call_expr_flags): Do not clear tree side
+ effects for looping pure or const calls.
+ (verify_gimple_expr): Added verification code.
+ * config/alpha/alpha.c (alpha_legitimize_address,
+ alpha_emit_xfloating_libcall): Changed CONST_OR_PURE_CALL_P to
+ RTL_CONST_CALL_P.
+ * config/s390/s390.c (s390_emit_tls_call_insn): Ditto.
+ * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Ditto.
+ * config/mips/mips.c (mips_call_tls_get_addr): Ditto.
+ * cfgrtl.c (need_fake_edge_p): Changed CONST_OR_PURE_CALL_P to
+ RTL_CONST_OR_PURE_CALL_P.
+ * dce.c (deletable_insn_p): Allow non looping, non sibling, pure
+ and const calls to be deleted.
+
+2008-05-07 Uros Bizjak <ubizjak@gmail.com>
PR target/35714
* config/i386/mmx.md (mmx_subv2sf3): New expander.