* rtlanal.c (insn_rtx_cost): New function, moved and renamed from
commit0a8a047c425418431aeb6cd37de6c24b342a3eb0
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 11 Jul 2004 14:37:57 +0000 (11 14:37 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 11 Jul 2004 14:37:57 +0000 (11 14:37 +0000)
treead634004c869136a8ba76616632680e13bc31501
parenta0bf44f9bb5ed7e9e9aa4db1392f4be35407f03c
* rtlanal.c (insn_rtx_cost): New function, moved and renamed from
combine.c's combine_insn_cost.
* rtl.h (insn_rtx_cost): Prototype here.
* combine.c (combine_insn_cost): Delete function.
(combine_validate_cost): Update callers of combine_insn_cost to
call insn_rtx_cost instead.
(combine_instructions): Likewise.  Use NONJUMP_INSN_P to avoid
requesting the rtx_cost of call and/or jump instructions.

* ifcvt.c (total_bb_rtx_cost): Use insn_rtx_cost instead of calling
rtx_cost directly.  Don't request/use the cost of call or jump
instructions.  Return -1 if the cost of any instruction can't be
determined (or the BB contains a function call).
(find_if_case_1): Abort transformation if total_bb_rtx_cost returns
-1 (i.e. can't determine the cost of any instruction or the basic
block contains a subroutine call).
(find_if_case_2): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84513 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/combine.c
gcc/ifcvt.c
gcc/rtl.h
gcc/rtlanal.c