mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-23 00:51:00 +08:00
i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to decide whether emit the short opcode.
* i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to decide whether emit the short opcode. * i386.h (x86_shift1): Declare. (TARGET_SHIFT1): New macro. * i386.c (x86_shift1): New global variable. * toplev.c (rest_of_compilation): Call find_basic_block pre-loop unconditionally; make loop to rebuild CFG; kill unnecesary find_basic_block calls; kill compute_bb_for_insn call. * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call. * haifa-sched.c (sched_init): Likewise. * ssa-ccp.c (ssa_const_prop): Likewise. * ssa-dce.c (ssa_eliminate_dead_code): Likewise. From-SVN: r54552
This commit is contained in:
parent
8ddfd7e562
commit
495333a652
@ -1,3 +1,19 @@
|
||||
Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
|
||||
decide whether emit the short opcode.
|
||||
* i386.h (x86_shift1): Declare.
|
||||
(TARGET_SHIFT1): New macro.
|
||||
* i386.c (x86_shift1): New global variable.
|
||||
|
||||
* toplev.c (rest_of_compilation): Call find_basic_block pre-loop unconditionally;
|
||||
make loop to rebuild CFG; kill unnecesary find_basic_block calls;
|
||||
kill compute_bb_for_insn call.
|
||||
* cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
|
||||
* haifa-sched.c (sched_init): Likewise.
|
||||
* ssa-ccp.c (ssa_const_prop): Likewise.
|
||||
* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
|
||||
|
||||
2002-06-11 David S. Miller <davem@redhat.com>
|
||||
|
||||
* emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
|
||||
|
@ -647,13 +647,6 @@ find_basic_blocks (f, nregs, file)
|
||||
|
||||
find_basic_blocks_1 (f);
|
||||
|
||||
/* Record the block to which an insn belongs. */
|
||||
/* ??? This should be done another way, by which (perhaps) a label is
|
||||
tagged directly with the basic block that it starts. It is used for
|
||||
more than that currently, but IMO that is the only valid use. */
|
||||
|
||||
compute_bb_for_insn ();
|
||||
|
||||
/* Discover the edges of our cfg. */
|
||||
make_edges (label_value_list, ENTRY_BLOCK_PTR->next_bb, EXIT_BLOCK_PTR->prev_bb, 0);
|
||||
|
||||
|
@ -394,6 +394,7 @@ const int x86_accumulate_outgoing_args = m_ATHLON | m_PENT4 | m_PPRO;
|
||||
const int x86_prologue_using_move = m_ATHLON | m_PENT4 | m_PPRO;
|
||||
const int x86_epilogue_using_move = m_ATHLON | m_PENT4 | m_PPRO;
|
||||
const int x86_decompose_lea = m_PENT4;
|
||||
const int x86_shift1 = ~m_486;
|
||||
const int x86_arch_always_fancy_math_387 = m_PENT | m_PPRO | m_ATHLON | m_PENT4;
|
||||
|
||||
/* In case the avreage insn count for single function invocation is
|
||||
@ -1834,6 +1835,10 @@ classify_argument (mode, type, classes, bit_offset)
|
||||
return 1;
|
||||
case V4SFmode:
|
||||
case V4SImode:
|
||||
case V16QImode:
|
||||
case V8HImode:
|
||||
case V2DFmode:
|
||||
case V2DImode:
|
||||
classes[0] = X86_64_SSE_CLASS;
|
||||
classes[1] = X86_64_SSEUP_CLASS;
|
||||
return 2;
|
||||
|
@ -208,7 +208,7 @@ extern const int x86_add_esp_4, x86_add_esp_8, x86_sub_esp_4, x86_sub_esp_8;
|
||||
extern const int x86_partial_reg_dependency, x86_memory_mismatch_stall;
|
||||
extern const int x86_accumulate_outgoing_args, x86_prologue_using_move;
|
||||
extern const int x86_epilogue_using_move, x86_decompose_lea;
|
||||
extern const int x86_arch_always_fancy_math_387;
|
||||
extern const int x86_arch_always_fancy_math_387, x86_shift1;
|
||||
extern int x86_prefetch_sse;
|
||||
|
||||
#define TARGET_USE_LEAVE (x86_use_leave & CPUMASK)
|
||||
@ -250,6 +250,7 @@ extern int x86_prefetch_sse;
|
||||
#define TARGET_EPILOGUE_USING_MOVE (x86_epilogue_using_move & CPUMASK)
|
||||
#define TARGET_DECOMPOSE_LEA (x86_decompose_lea & CPUMASK)
|
||||
#define TARGET_PREFETCH_SSE (x86_prefetch_sse)
|
||||
#define TARGET_SHIFT1 (x86_shift1 & CPUMASK)
|
||||
|
||||
#define TARGET_STACK_PROBE (target_flags & MASK_STACK_PROBE)
|
||||
|
||||
|
@ -10354,7 +10354,7 @@
|
||||
return "sal{q}\t{%b2, %0|%0, %b2}";
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
return "sal{q}\t%0";
|
||||
else
|
||||
return "sal{q}\t{%2, %0|%0, %2}";
|
||||
@ -10411,7 +10411,7 @@
|
||||
return "sal{q}\t{%b2, %0|%0, %b2}";
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
return "sal{q}\t%0";
|
||||
else
|
||||
return "sal{q}\t{%2, %0|%0, %2}";
|
||||
@ -10559,7 +10559,7 @@
|
||||
return "sal{l}\t{%b2, %0|%0, %b2}";
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
return "sal{l}\t%0";
|
||||
else
|
||||
return "sal{l}\t{%2, %0|%0, %2}";
|
||||
@ -10620,7 +10620,7 @@
|
||||
return "sal{l}\t{%b2, %k0|%k0, %b2}";
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
return "sal{l}\t%k0";
|
||||
else
|
||||
return "sal{l}\t{%2, %k0|%k0, %2}";
|
||||
@ -10677,7 +10677,7 @@
|
||||
return "sal{l}\t{%b2, %0|%0, %b2}";
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
return "sal{l}\t%0";
|
||||
else
|
||||
return "sal{l}\t{%2, %0|%0, %2}";
|
||||
@ -10716,7 +10716,7 @@
|
||||
return "sal{l}\t{%b2, %k0|%k0, %b2}";
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
return "sal{l}\t%k0";
|
||||
else
|
||||
return "sal{l}\t{%2, %k0|%k0, %2}";
|
||||
@ -10761,7 +10761,7 @@
|
||||
return "sal{w}\t{%b2, %0|%0, %b2}";
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
return "sal{w}\t%0";
|
||||
else
|
||||
return "sal{w}\t{%2, %0|%0, %2}";
|
||||
@ -10799,7 +10799,7 @@
|
||||
return "sal{w}\t{%b2, %0|%0, %b2}";
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
return "sal{w}\t%0";
|
||||
else
|
||||
return "sal{w}\t{%2, %0|%0, %2}";
|
||||
@ -10841,7 +10841,7 @@
|
||||
return "sal{w}\t{%b2, %0|%0, %b2}";
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
return "sal{w}\t%0";
|
||||
else
|
||||
return "sal{w}\t{%2, %0|%0, %2}";
|
||||
@ -10897,7 +10897,7 @@
|
||||
}
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
{
|
||||
if (get_attr_mode (insn) == MODE_SI)
|
||||
return "sal{l}\t%0";
|
||||
@ -10953,7 +10953,7 @@
|
||||
}
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
{
|
||||
if (get_attr_mode (insn) == MODE_SI)
|
||||
return "sal{l}\t%0";
|
||||
@ -11005,7 +11005,7 @@
|
||||
return "sal{b}\t{%b2, %0|%0, %b2}";
|
||||
else if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& INTVAL (operands[2]) == 1
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO))
|
||||
&& (TARGET_SHIFT1 || optimize_size))
|
||||
return "sal{b}\t%0";
|
||||
else
|
||||
return "sal{b}\t{%2, %0|%0, %2}";
|
||||
@ -11061,7 +11061,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"TARGET_64BIT && ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"sar{q}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set (attr "length")
|
||||
@ -11093,7 +11093,7 @@
|
||||
(set (match_operand:DI 0 "nonimmediate_operand" "=rm")
|
||||
(ashiftrt:DI (match_dup 1) (match_dup 2)))]
|
||||
"TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)
|
||||
&& (TARGET_SHIFT1 || optimize_size)
|
||||
&& ix86_binary_operator_ok (ASHIFTRT, DImode, operands)"
|
||||
"sar{q}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
@ -11250,7 +11250,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"sar{l}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set (attr "length")
|
||||
@ -11264,7 +11264,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" ""))))
|
||||
(clobber (reg:CC 17))]
|
||||
"TARGET_64BIT && ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"sar{l}\t%k0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set_attr "length" "2")])
|
||||
@ -11305,7 +11305,7 @@
|
||||
(set (match_operand:SI 0 "nonimmediate_operand" "=rm")
|
||||
(ashiftrt:SI (match_dup 1) (match_dup 2)))]
|
||||
"ix86_match_ccmode (insn, CCGOCmode)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)
|
||||
&& (TARGET_SHIFT1 || optimize_size)
|
||||
&& ix86_binary_operator_ok (ASHIFTRT, SImode, operands)"
|
||||
"sar{l}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
@ -11323,7 +11323,7 @@
|
||||
(set (match_operand:DI 0 "register_operand" "=r")
|
||||
(zero_extend:DI (ashiftrt:SI (match_dup 1) (match_dup 2))))]
|
||||
"TARGET_64BIT && ix86_match_ccmode (insn, CCmode)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)
|
||||
&& (TARGET_SHIFT1 || optimize_size)
|
||||
&& ix86_binary_operator_ok (ASHIFTRT, SImode, operands)"
|
||||
"sar{l}\t%k0"
|
||||
[(set_attr "type" "ishift")
|
||||
@ -11374,7 +11374,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (ASHIFTRT, HImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"sar{w}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set (attr "length")
|
||||
@ -11406,7 +11406,7 @@
|
||||
(set (match_operand:HI 0 "nonimmediate_operand" "=rm")
|
||||
(ashiftrt:HI (match_dup 1) (match_dup 2)))]
|
||||
"ix86_match_ccmode (insn, CCGOCmode)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)
|
||||
&& (TARGET_SHIFT1 || optimize_size)
|
||||
&& ix86_binary_operator_ok (ASHIFTRT, HImode, operands)"
|
||||
"sar{w}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
@ -11446,7 +11446,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (ASHIFTRT, QImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"sar{b}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set (attr "length")
|
||||
@ -11461,7 +11461,7 @@
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (ASHIFTRT, QImode, operands)
|
||||
&& (! TARGET_PARTIAL_REG_STALL || optimize_size)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"sar{b}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set (attr "length")
|
||||
@ -11506,7 +11506,7 @@
|
||||
(set (match_operand:QI 0 "nonimmediate_operand" "=qm")
|
||||
(ashiftrt:QI (match_dup 1) (match_dup 2)))]
|
||||
"ix86_match_ccmode (insn, CCGOCmode)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)
|
||||
&& (TARGET_SHIFT1 || optimize_size)
|
||||
&& ix86_binary_operator_ok (ASHIFTRT, QImode, operands)"
|
||||
"sar{b}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
@ -11558,7 +11558,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"TARGET_64BIT && ix86_binary_operator_ok (LSHIFTRT, HImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"shr{q}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set (attr "length")
|
||||
@ -11590,7 +11590,7 @@
|
||||
(set (match_operand:DI 0 "nonimmediate_operand" "=rm")
|
||||
(lshiftrt:DI (match_dup 1) (match_dup 2)))]
|
||||
"TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)
|
||||
&& (TARGET_SHIFT1 || optimize_size)
|
||||
&& ix86_binary_operator_ok (LSHIFTRT, HImode, operands)"
|
||||
"shr{q}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
@ -11668,7 +11668,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (LSHIFTRT, HImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"shr{l}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set (attr "length")
|
||||
@ -11682,7 +11682,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"TARGET_64BIT && ix86_binary_operator_ok (LSHIFTRT, HImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"shr{l}\t%k0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set_attr "length" "2")])
|
||||
@ -11724,7 +11724,7 @@
|
||||
(set (match_operand:SI 0 "nonimmediate_operand" "=rm")
|
||||
(lshiftrt:SI (match_dup 1) (match_dup 2)))]
|
||||
"ix86_match_ccmode (insn, CCGOCmode)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)
|
||||
&& (TARGET_SHIFT1 || optimize_size)
|
||||
&& ix86_binary_operator_ok (LSHIFTRT, HImode, operands)"
|
||||
"shr{l}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
@ -11742,7 +11742,7 @@
|
||||
(set (match_operand:DI 0 "register_operand" "=r")
|
||||
(lshiftrt:DI (zero_extend:DI (match_dup 1)) (match_dup 2)))]
|
||||
"TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)
|
||||
&& (TARGET_SHIFT1 || optimize_size)
|
||||
&& ix86_binary_operator_ok (LSHIFTRT, HImode, operands)"
|
||||
"shr{l}\t%k0"
|
||||
[(set_attr "type" "ishift")
|
||||
@ -11793,7 +11793,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (LSHIFTRT, HImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"shr{w}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set (attr "length")
|
||||
@ -11825,7 +11825,7 @@
|
||||
(set (match_operand:HI 0 "nonimmediate_operand" "=rm")
|
||||
(lshiftrt:HI (match_dup 1) (match_dup 2)))]
|
||||
"ix86_match_ccmode (insn, CCGOCmode)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)
|
||||
&& (TARGET_SHIFT1 || optimize_size)
|
||||
&& ix86_binary_operator_ok (LSHIFTRT, HImode, operands)"
|
||||
"shr{w}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
@ -11865,7 +11865,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (LSHIFTRT, QImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"shr{b}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set (attr "length")
|
||||
@ -11880,7 +11880,7 @@
|
||||
(clobber (reg:CC 17))]
|
||||
"(! TARGET_PARTIAL_REG_STALL || optimize_size)
|
||||
&& ix86_binary_operator_ok (LSHIFTRT, QImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"shr{b}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
(set (attr "length")
|
||||
@ -11925,7 +11925,7 @@
|
||||
(set (match_operand:QI 0 "nonimmediate_operand" "=qm")
|
||||
(lshiftrt:QI (match_dup 1) (match_dup 2)))]
|
||||
"ix86_match_ccmode (insn, CCGOCmode)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)
|
||||
&& (TARGET_SHIFT1 || optimize_size)
|
||||
&& ix86_binary_operator_ok (LSHIFTRT, QImode, operands)"
|
||||
"shr{b}\t%0"
|
||||
[(set_attr "type" "ishift")
|
||||
@ -11967,7 +11967,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"TARGET_64BIT && ix86_binary_operator_ok (ROTATE, DImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"rol{q}\t%0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
@ -12001,7 +12001,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (ROTATE, SImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"rol{l}\t%0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
@ -12016,7 +12016,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" ""))))
|
||||
(clobber (reg:CC 17))]
|
||||
"TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"rol{l}\t%k0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set_attr "length" "2")])
|
||||
@ -12060,7 +12060,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (ROTATE, HImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"rol{w}\t%0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
@ -12095,7 +12095,7 @@
|
||||
(clobber (reg:CC 17))]
|
||||
"(! TARGET_PARTIAL_REG_STALL || optimize_size)
|
||||
&& ix86_binary_operator_ok (ROTATE, QImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"rol{b}\t%0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
@ -12109,7 +12109,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (ROTATE, QImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"rol{b}\t%0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
@ -12156,7 +12156,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, DImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"ror{q}\t%0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
@ -12190,7 +12190,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (ROTATERT, SImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"ror{l}\t%0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
@ -12205,7 +12205,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" ""))))
|
||||
(clobber (reg:CC 17))]
|
||||
"TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"ror{l}\t%k0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
@ -12252,7 +12252,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (ROTATERT, HImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"ror{w}\t%0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
@ -12286,7 +12286,7 @@
|
||||
(match_operand:QI 2 "const_int_1_operand" "")))
|
||||
(clobber (reg:CC 17))]
|
||||
"ix86_binary_operator_ok (ROTATERT, QImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"ror{b}\t%0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
@ -12301,7 +12301,7 @@
|
||||
(clobber (reg:CC 17))]
|
||||
"(! TARGET_PARTIAL_REG_STALL || optimize_size)
|
||||
&& ix86_binary_operator_ok (ROTATERT, QImode, operands)
|
||||
&& (TARGET_PENTIUM || TARGET_PENTIUMPRO)"
|
||||
&& (TARGET_SHIFT1 || optimize_size)"
|
||||
"ror{b}\t%0"
|
||||
[(set_attr "type" "rotate")
|
||||
(set (attr "length")
|
||||
|
@ -2368,8 +2368,6 @@ sched_init (dump_file)
|
||||
|
||||
init_dependency_caches (luid);
|
||||
|
||||
compute_bb_for_insn ();
|
||||
|
||||
init_alias_analysis ();
|
||||
|
||||
if (write_symbols != NO_DEBUG)
|
||||
|
@ -991,9 +991,6 @@ ssa_const_prop ()
|
||||
df_analyse (df_analyzer, 0,
|
||||
DF_RD_CHAIN | DF_RU_CHAIN | DF_REG_INFO | DF_HARD_REGS);
|
||||
|
||||
/* We need mappings from insn to its containing block. */
|
||||
compute_bb_for_insn ();
|
||||
|
||||
/* Perform a quick and dirty dead code elimination pass. This is not
|
||||
as aggressive as it could be, but it's good enough to clean up a
|
||||
lot of unwanted junk and it is fast. */
|
||||
|
@ -508,8 +508,6 @@ ssa_eliminate_dead_code ()
|
||||
|
||||
/* Prepare for use of BLOCK_NUM (). */
|
||||
connect_infinite_loops_to_exit ();
|
||||
/* Be careful not to clear the added edges. */
|
||||
compute_bb_for_insn ();
|
||||
|
||||
/* Compute control dependence. */
|
||||
pdom = (int *) xmalloc (last_basic_block * sizeof (int));
|
||||
|
11
gcc/toplev.c
11
gcc/toplev.c
@ -2642,6 +2642,7 @@ rest_of_compilation (decl)
|
||||
free_bb_for_insn ();
|
||||
copy_loop_headers (insns);
|
||||
purge_line_number_notes (insns);
|
||||
find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
|
||||
|
||||
timevar_pop (TV_JUMP);
|
||||
close_dump_file (DFI_jump, print_rtl, insns);
|
||||
@ -2662,7 +2663,6 @@ rest_of_compilation (decl)
|
||||
timevar_push (TV_TO_SSA);
|
||||
open_dump_file (DFI_ssa, decl);
|
||||
|
||||
find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
|
||||
cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
|
||||
convert_to_ssa ();
|
||||
|
||||
@ -2717,8 +2717,6 @@ rest_of_compilation (decl)
|
||||
timevar_pop (TV_FROM_SSA);
|
||||
|
||||
ggc_collect ();
|
||||
/* CFG is no longer maintained up-to-date. */
|
||||
free_bb_for_insn ();
|
||||
}
|
||||
|
||||
timevar_push (TV_JUMP);
|
||||
@ -2726,7 +2724,6 @@ rest_of_compilation (decl)
|
||||
if (flag_delete_null_pointer_checks || flag_if_conversion)
|
||||
{
|
||||
open_dump_file (DFI_null, decl);
|
||||
find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
|
||||
if (rtl_dump_file)
|
||||
dump_flow_info (rtl_dump_file);
|
||||
cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
|
||||
@ -2745,8 +2742,6 @@ rest_of_compilation (decl)
|
||||
maximum instruction UID, so if we can reduce the maximum UID
|
||||
we'll save big on memory. */
|
||||
renumber_insns (rtl_dump_file);
|
||||
if (optimize)
|
||||
compute_bb_for_insn ();
|
||||
timevar_pop (TV_JUMP);
|
||||
|
||||
close_dump_file (DFI_jump, print_rtl_with_bb, insns);
|
||||
@ -2794,7 +2789,6 @@ rest_of_compilation (decl)
|
||||
/* The second pass of jump optimization is likely to have
|
||||
removed a bunch more instructions. */
|
||||
renumber_insns (rtl_dump_file);
|
||||
compute_bb_for_insn ();
|
||||
|
||||
timevar_pop (TV_CSE);
|
||||
close_dump_file (DFI_cse, print_rtl_with_bb, insns);
|
||||
@ -2912,6 +2906,7 @@ rest_of_compilation (decl)
|
||||
delete_trivially_dead_insns (insns, max_reg_num ());
|
||||
close_dump_file (DFI_loop, print_rtl, insns);
|
||||
timevar_pop (TV_LOOP);
|
||||
find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
|
||||
|
||||
ggc_collect ();
|
||||
}
|
||||
@ -2921,8 +2916,6 @@ rest_of_compilation (decl)
|
||||
|
||||
timevar_push (TV_FLOW);
|
||||
open_dump_file (DFI_cfg, decl);
|
||||
|
||||
find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
|
||||
if (rtl_dump_file)
|
||||
dump_flow_info (rtl_dump_file);
|
||||
cleanup_cfg ((optimize ? CLEANUP_EXPENSIVE : 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user