diff options
author | Kenneth Zadeck <zadeck@naturalbridge.com> | 2014-05-06 16:25:05 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 2014-05-06 16:25:05 +0000 |
commit | 807e902eea17f3132488c256c963823976b2348c (patch) | |
tree | e5e1af94eb1502ba893bd6ce4a11f68877ff62a9 /gcc/tree-core.h | |
parent | 6122336c832dc4dfedc49279549caddce86306ff (diff) | |
download | gcc-807e902eea17f3132488c256c963823976b2348c.zip gcc-807e902eea17f3132488c256c963823976b2348c.tar.gz gcc-807e902eea17f3132488c256c963823976b2348c.tar.bz2 |
Merge in wide-int.
From-SVN: r210113
Diffstat (limited to 'gcc/tree-core.h')
-rw-r--r-- | gcc/tree-core.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/gcc/tree-core.h b/gcc/tree-core.h index 373a9d6..72ef8e14 100644 --- a/gcc/tree-core.h +++ b/gcc/tree-core.h @@ -758,11 +758,31 @@ struct GTY(()) tree_base { of the field must be large enough to hold addr_space_t values. */ unsigned address_space : 8; } bits; + /* The following fields are present in tree_base to save space. The nodes using them do not require any of the flags above and so can make better use of the 4-byte sized word. */ + + /* The number of HOST_WIDE_INTs in an INTEGER_CST. */ + struct { + /* The number of HOST_WIDE_INTs if the INTEGER_CST is accessed in + its native precision. */ + unsigned char unextended; + + /* The number of HOST_WIDE_INTs if the INTEGER_CST is extended to + wider precisions based on its TYPE_SIGN. */ + unsigned char extended; + + /* The number of HOST_WIDE_INTs if the INTEGER_CST is accessed in + offset_int precision, with smaller integers being extended + according to their TYPE_SIGN. This is equal to one of the two + fields above but is cached for speed. */ + unsigned char offset; + } int_length; + /* VEC length. This field is only used with TREE_VEC. */ int length; + /* SSA version number. This field is only used with SSA_NAME. */ unsigned int version; } GTY((skip(""))) u; @@ -1051,7 +1071,7 @@ struct GTY(()) tree_common { struct GTY(()) tree_int_cst { struct tree_typed typed; - double_int int_cst; + HOST_WIDE_INT val[1]; }; |