diff options
author | Andreas Schwab <schwab@suse.de> | 2004-07-03 16:59:38 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@gcc.gnu.org> | 2004-07-03 16:59:38 +0000 |
commit | fa9784263f4e37528e0acb57019488a735221b7f (patch) | |
tree | a33813b972267f6ebca6c44e595184df05f283f2 /gcc/config/ia64/ia64.md | |
parent | 83e113ae503cf6b7caad741c80ba1eabef8aa2f8 (diff) | |
download | gcc-fa9784263f4e37528e0acb57019488a735221b7f.tar.gz |
ia64.md: Define new attribute "empty".
* config/ia64/ia64.md: Define new attribute "empty".
(prologue_use, nop_x, insn_group_barrier): Set it.
* config/ia64/ia64.c (ia64_reorg): When looking for trailing call
skip over "empty" insns.
From-SVN: r84059
Diffstat (limited to 'gcc/config/ia64/ia64.md')
-rw-r--r-- | gcc/config/ia64/ia64.md | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md index 07b6a612aae..b185bc82059 100644 --- a/gcc/config/ia64/ia64.md +++ b/gcc/config/ia64/ia64.md @@ -154,6 +154,10 @@ (define_attr "predicable" "no,yes" (const_string "yes")) +;; Empty. True iff this insn does not generate any code. + +(define_attr "empty" "no,yes" (const_string "no")) + ;; DFA descriptions of ia64 processors used for insn scheduling and @@ -5425,7 +5429,8 @@ "" "" [(set_attr "itanium_class" "ignore") - (set_attr "predicable" "no")]) + (set_attr "predicable" "no") + (set_attr "empty" "yes")]) ;; Allocate a new register frame. @@ -5592,7 +5597,8 @@ [(const_int 5)] "" "" - [(set_attr "itanium_class" "nop_x")]) + [(set_attr "itanium_class" "nop_x") + (set_attr "empty" "yes")]) ;; The following insn will be never generated. It is used only by ;; insn scheduler to change state before advancing cycle. @@ -5624,7 +5630,8 @@ "" ";;" [(set_attr "itanium_class" "stop_bit") - (set_attr "predicable" "no")]) + (set_attr "predicable" "no") + (set_attr "empty" "yes")]) (define_expand "trap" [(trap_if (const_int 1) (const_int 0))] |