summaryrefslogtreecommitdiff
path: root/gcc/config/ia64/ia64.md
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2004-07-03 16:59:38 +0000
committerAndreas Schwab <schwab@gcc.gnu.org>2004-07-03 16:59:38 +0000
commitfa9784263f4e37528e0acb57019488a735221b7f (patch)
treea33813b972267f6ebca6c44e595184df05f283f2 /gcc/config/ia64/ia64.md
parent83e113ae503cf6b7caad741c80ba1eabef8aa2f8 (diff)
downloadgcc-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.md13
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))]