> > --- > gcc/tree.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/gcc/tree.h b/gcc/tree.h > index bd0c51b2a18..86a4542f58b 100644 > --- a/gcc/tree.h > +++ b/gcc/tree.h > @@ -6156,6 +6156,17 @@ int_bit_position (const_tree field) > + wi::to_offset (DECL_FIELD_BIT_OFFSET (field))).to_shwi (); > } > > +/* Determine if tree code is a constant */ > +inline bool > +tree_code_is_cst (tree op) > +{ > + int code = TREE_CODE (op); > + if (code == INTEGER_CST || code == REAL_CST || code == COMPLEX_CST > + || code == VECTOR_CST) > + return true; > + return false;
We have is_gimple_ip_invariant which I think should suit your purpose - it return true if tree is a constant, it also accepts things like addresses of (global) variables, functions and labels. > +} > + > /* Return true if it makes sense to consider alias set for a type T. */ > > inline bool > -- > 2.18.1 >