gcc-8.3/gcc/make_vector_type()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#bb6ca789]
#backlinks
*説明 [#yaa33bf9]
-パス: [[gcc-8.3/gcc/tree.c]]
-FIXME: これは何?
--説明
**引数 [#zb79b2d9]
-tree innertype
--
--[[gcc-8.3/gcc/tree]]
-poly_int64 nunits
--
--[[gcc-8.3/gcc/poly_int64]]
-machine_mode mode
--
--[[gcc-8.3/gcc/machine_mode]]
**返り値 [#ya5f5869]
-tree
--
**参考 [#a4f2ed76]
*実装 [#d3cbccc1]
/* Create a new vector type node holding NUNITS units of...
and mapped to the machine mode MODE. Initialize its ...
the information necessary for debugging output. */
static tree
make_vector_type (tree innertype, poly_int64 nunits, mac...
{
tree t;
tree mv_innertype = TYPE_MAIN_VARIANT (innertype);
-
--[[gcc-8.3/gcc/TYPE_MAIN_VARIANT()]]
t = make_node (VECTOR_TYPE);
TREE_TYPE (t) = mv_innertype;
SET_TYPE_VECTOR_SUBPARTS (t, nunits);
SET_TYPE_MODE (t, mode);
-
--[[gcc-8.3/gcc/make_node()]]
--[[gcc-8.3/gcc/TREE_TYPE()]]
--[[gcc-8.3/gcc/SET_TYPE_VECTOR_SUBPARTS()]]
--[[gcc-8.3/gcc/SET_TYPE_MODE()]]
if (TYPE_STRUCTURAL_EQUALITY_P (mv_innertype) || in_lt...
SET_TYPE_STRUCTURAL_EQUALITY (t);
else if ((TYPE_CANONICAL (mv_innertype) != innertype
|| mode != VOIDmode)
&& !VECTOR_BOOLEAN_TYPE_P (t))
TYPE_CANONICAL (t)
= make_vector_type (TYPE_CANONICAL (mv_innertype),...
-
--[[gcc-8.3/gcc/TYPE_STRUCTURAL_EQUALITY_P()]]
--[[gcc-8.3/gcc/SET_TYPE_STRUCTURAL_EQUALITY()]]
--[[gcc-8.3/gcc/TYPE_CANONICAL()]]
--[[gcc-8.3/gcc/VECTOR_BOOLEAN_TYPE_P()]]
--[[gcc-8.3/gcc/make_vector_type()]]
layout_type (t);
hashval_t hash = type_hash_canon_hash (t);
t = type_hash_canon (hash, t);
-
--[[gcc-8.3/gcc/layout_type()]]
--[[gcc-8.3/gcc/hashval_t]]
--[[gcc-8.3/gcc/type_hash_canon_hash()]]
--[[gcc-8.3/gcc/type_hash_canon()]]
/* We have built a main variant, based on the main var...
inner type. Use it to build the variant we return. ...
if ((TYPE_ATTRIBUTES (innertype) || TYPE_QUALS (innert...
&& TREE_TYPE (t) != innertype)
return build_type_attribute_qual_variant (t,
TYPE_ATTRIBUTES (innertype),
TYPE_QUALS (innertype));
return t;
}
-
--[[gcc-8.3/gcc/TYPE_ATTRIBUTES()]]
--[[gcc-8.3/gcc/TYPE_QUALS()]]
--[[gcc-8.3/gcc/TREE_TYPE()]]
--[[gcc-8.3/gcc/build_type_attribute_qual_variant()]]
*コメント [#a3214552]
終了行:
*参照元 [#bb6ca789]
#backlinks
*説明 [#yaa33bf9]
-パス: [[gcc-8.3/gcc/tree.c]]
-FIXME: これは何?
--説明
**引数 [#zb79b2d9]
-tree innertype
--
--[[gcc-8.3/gcc/tree]]
-poly_int64 nunits
--
--[[gcc-8.3/gcc/poly_int64]]
-machine_mode mode
--
--[[gcc-8.3/gcc/machine_mode]]
**返り値 [#ya5f5869]
-tree
--
**参考 [#a4f2ed76]
*実装 [#d3cbccc1]
/* Create a new vector type node holding NUNITS units of...
and mapped to the machine mode MODE. Initialize its ...
the information necessary for debugging output. */
static tree
make_vector_type (tree innertype, poly_int64 nunits, mac...
{
tree t;
tree mv_innertype = TYPE_MAIN_VARIANT (innertype);
-
--[[gcc-8.3/gcc/TYPE_MAIN_VARIANT()]]
t = make_node (VECTOR_TYPE);
TREE_TYPE (t) = mv_innertype;
SET_TYPE_VECTOR_SUBPARTS (t, nunits);
SET_TYPE_MODE (t, mode);
-
--[[gcc-8.3/gcc/make_node()]]
--[[gcc-8.3/gcc/TREE_TYPE()]]
--[[gcc-8.3/gcc/SET_TYPE_VECTOR_SUBPARTS()]]
--[[gcc-8.3/gcc/SET_TYPE_MODE()]]
if (TYPE_STRUCTURAL_EQUALITY_P (mv_innertype) || in_lt...
SET_TYPE_STRUCTURAL_EQUALITY (t);
else if ((TYPE_CANONICAL (mv_innertype) != innertype
|| mode != VOIDmode)
&& !VECTOR_BOOLEAN_TYPE_P (t))
TYPE_CANONICAL (t)
= make_vector_type (TYPE_CANONICAL (mv_innertype),...
-
--[[gcc-8.3/gcc/TYPE_STRUCTURAL_EQUALITY_P()]]
--[[gcc-8.3/gcc/SET_TYPE_STRUCTURAL_EQUALITY()]]
--[[gcc-8.3/gcc/TYPE_CANONICAL()]]
--[[gcc-8.3/gcc/VECTOR_BOOLEAN_TYPE_P()]]
--[[gcc-8.3/gcc/make_vector_type()]]
layout_type (t);
hashval_t hash = type_hash_canon_hash (t);
t = type_hash_canon (hash, t);
-
--[[gcc-8.3/gcc/layout_type()]]
--[[gcc-8.3/gcc/hashval_t]]
--[[gcc-8.3/gcc/type_hash_canon_hash()]]
--[[gcc-8.3/gcc/type_hash_canon()]]
/* We have built a main variant, based on the main var...
inner type. Use it to build the variant we return. ...
if ((TYPE_ATTRIBUTES (innertype) || TYPE_QUALS (innert...
&& TREE_TYPE (t) != innertype)
return build_type_attribute_qual_variant (t,
TYPE_ATTRIBUTES (innertype),
TYPE_QUALS (innertype));
return t;
}
-
--[[gcc-8.3/gcc/TYPE_ATTRIBUTES()]]
--[[gcc-8.3/gcc/TYPE_QUALS()]]
--[[gcc-8.3/gcc/TREE_TYPE()]]
--[[gcc-8.3/gcc/build_type_attribute_qual_variant()]]
*コメント [#a3214552]
ページ名: