[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

16.15.1 属性とその値の指定方法

define_attr 式を使って、ターゲットマシンで必要とされる 各属性を定義する。以下のような形式になる。

 
(define_attr name list-of-values default)

name は、定義しようとしている属性の名前を指定する文字列である。

list-of-values は、属性に割り当てられる、コンマで区切った値のリスト を指定する文字列か、その属性が数値を取ることを示すヌル文字列のどちらかである。

default は、ある属性式であり、この属性に対する明示的な値を 含まない定義を持つパターンにマッチする insn のこの属性の値を与える。 デフォルトの扱いについてのもっと詳細な情報は、See section 属性割り当ての例。 特定の insn に依存しない属性についての情報は、See section 定数である属性の定義

定義されている各属性毎に、たくさんの定義がファイル ‘insn-attr.h’ に 書き込まれる。属性に対して明示的な値の組が指定されている場合は、 以下のように定義されている。

例えば、‘md’ ファイルに以下のように書いてあったとすると、

 
(define_attr "type" "branch,fp,load,store,arith" …)

ファイル ‘insn-attr.h’ には以下のように出力される。

 
#define HAVE_ATTR_type
enum attr_type {TYPE_BRANCH, TYPE_FP, TYPE_LOAD,
                 TYPE_STORE, TYPE_ARITH};
extern enum attr_type get_attr_type ();

属性が数値を取るなら、enum 型は定義されず、属性値を取得する 関数は int を返す。


This document was generated using texi2html 1.78.