*参照元 [#jc4b968d]
#backlinks

*説明 [#tacdd4cf]
-パス: [[gcc-8.3/gcc/gimple.h]]

-FIXME: これは何?
--説明


**参考 [#aa6fb0a1]


*実装 [#z4139c24]

 /* Data structure definitions for GIMPLE tuples.  NOTE: word markers
    are for 64 bit hosts.  */
 
 struct GTY((desc ("gimple_statement_structure (&%h)"), tag ("GSS_BASE"),
 	    chain_next ("%h.next"), variable_size))
   gimple
 {
   /* [ WORD 1 ]
      Main identifying code for a tuple.  */
   ENUM_BITFIELD(gimple_code) code : 8;
 
   /* Nonzero if a warning should not be emitted on this tuple.  */
   unsigned int no_warning	: 1;
 
   /* Nonzero if this tuple has been visited.  Passes are responsible
      for clearing this bit before using it.  */
   unsigned int visited		: 1;
 
   /* Nonzero if this tuple represents a non-temporal move.  */
   unsigned int nontemporal_move	: 1;
 
   /* Pass local flags.  These flags are free for any pass to use as
      they see fit.  Passes should not assume that these flags contain
      any useful value when the pass starts.  Any initial state that
      the pass requires should be set on entry to the pass.  See
      gimple_set_plf and gimple_plf for usage.  */
   unsigned int plf		: 2;
 
   /* Nonzero if this statement has been modified and needs to have its
      operands rescanned.  */
   unsigned modified 		: 1;
 
   /* Nonzero if this statement contains volatile operands.  */
   unsigned has_volatile_ops 	: 1;
 
   /* Padding to get subcode to 16 bit alignment.  */
   unsigned pad			: 1;
 
   /* The SUBCODE field can be used for tuple-specific flags for tuples
      that do not require subcodes.  Note that SUBCODE should be at
      least as wide as tree codes, as several tuples store tree codes
      in there.  */
   unsigned int subcode		: 16;
 
   /* UID of this statement.  This is used by passes that want to
      assign IDs to statements.  It must be assigned and used by each
      pass.  By default it should be assumed to contain garbage.  */
   unsigned uid;
 
   /* [ WORD 2 ]
      Locus information for debug info.  */
   location_t location;
 
   /* Number of operands in this tuple.  */
   unsigned num_ops;
 
   /* [ WORD 3 ]
      Basic block holding this statement.  */
   basic_block bb;
 
   /* [ WORD 4-5 ]
      Linked lists of gimple statements.  The next pointers form
      a NULL terminated list, the prev pointers are a cyclic list.
      A gimple statement is hence also a double-ended list of
      statements, with the pointer itself being the first element,
      and the prev pointer being the last.  */
   gimple *next;
   gimple *GTY((skip)) prev;
 };


*コメント [#t6b21b45]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS