This patch adds a macro that extracts the TYPE_MODE and forcibly converts it to a scalar_float_mode. The forcible conversion includes a gcc_checking_assert that the mode is a SCALAR_FLOAT_MODE_P. This becomes important as more static type checking is added by later patches. It has the additional benefit of bypassing the VECTOR_TYPE_P (...) ? vector_type_mode (...) : ... condition in TYPE_MODE; in release builds the new macro is a simple field access. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * tree.h (SCALAR_FLOAT_TYPE_MODE): New macro. * builtins.c (expand_builtin_signbit): Use it instead of TYPE_MODE. * fold-const.c (fold_convert_const_real_from_fixed): Likewise. (native_encode_real): Likewise. (native_interpret_real): Likewise. * hsa-brig.c (emit_immediate_scalar_to_buffer): Likewise. * tree-vrp.c (simplify_float_conversion_using_ranges): Likewise. gcc/cp/ * mangle.c (write_real_cst): Use SCALAR_FLOAT_TYPE_MODE instead of TYPE_MODE. gcc/fortran/ * target-memory.c (size_float): Use SCALAR_FLOAT_TYPE_MODE instead of TYPE_MODE. gcc/objc/ * objc-encoding.c (encode_type): Use SCALAR_FLOAT_TYPE_MODE instead of TYPE_MODE. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251460
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| ChangeLog | Loading commit data... | |
| ChangeLog-2002 | Loading commit data... | |
| ChangeLog-2003 | Loading commit data... | |
| ChangeLog-2004 | Loading commit data... | |
| ChangeLog-2005 | Loading commit data... | |
| ChangeLog-2006 | Loading commit data... | |
| ChangeLog-2007 | Loading commit data... | |
| ChangeLog-2008 | Loading commit data... | |
| ChangeLog-2009 | Loading commit data... | |
| ChangeLog-2010 | Loading commit data... | |
| ChangeLog-2011 | Loading commit data... | |
| ChangeLog-2012 | Loading commit data... | |
| ChangeLog-2013 | Loading commit data... | |
| ChangeLog-2014 | Loading commit data... | |
| ChangeLog-2015 | Loading commit data... | |
| ChangeLog-2016 | Loading commit data... | |
| ChangeLog.ptr | Loading commit data... | |
| Make-lang.in | Loading commit data... | |
| arith.c | Loading commit data... | |
| arith.h | Loading commit data... | |
| array.c | Loading commit data... | |
| bbt.c | Loading commit data... | |
| check.c | Loading commit data... | |
| class.c | Loading commit data... | |
| config-lang.in | Loading commit data... | |
| constructor.c | Loading commit data... | |
| constructor.h | Loading commit data... | |
| convert.c | Loading commit data... | |
| cpp.c | Loading commit data... | |
| cpp.h | Loading commit data... | |
| data.c | Loading commit data... | |
| data.h | Loading commit data... | |
| decl.c | Loading commit data... | |
| dependency.c | Loading commit data... | |
| dependency.h | Loading commit data... | |
| dump-parse-tree.c | Loading commit data... | |
| error.c | Loading commit data... | |
| expr.c | Loading commit data... | |
| f95-lang.c | Loading commit data... | |
| frontend-passes.c | Loading commit data... | |
| gfc-diagnostic.def | Loading commit data... | |
| gfc-internals.texi | Loading commit data... | |
| gfortran.h | Loading commit data... | |
| gfortran.texi | Loading commit data... | |
| gfortranspec.c | Loading commit data... | |
| interface.c | Loading commit data... | |
| intrinsic.c | Loading commit data... | |
| intrinsic.h | Loading commit data... | |
| intrinsic.texi | Loading commit data... | |
| invoke.texi | Loading commit data... | |
| io.c | Loading commit data... | |
| ioparm.def | Loading commit data... | |
| iresolve.c | Loading commit data... | |
| iso-c-binding.def | Loading commit data... | |
| iso-fortran-env.def | Loading commit data... | |
| lang-specs.h | Loading commit data... | |
| lang.opt | Loading commit data... | |
| libgfortran.h | Loading commit data... | |
| match.c | Loading commit data... | |
| match.h | Loading commit data... | |
| matchexp.c | Loading commit data... | |
| mathbuiltins.def | Loading commit data... | |
| misc.c | Loading commit data... | |
| module.c | Loading commit data... | |
| openmp.c | Loading commit data... | |
| options.c | Loading commit data... | |
| parse.c | Loading commit data... | |
| parse.h | Loading commit data... | |
| primary.c | Loading commit data... | |
| resolve.c | Loading commit data... | |
| scanner.c | Loading commit data... | |
| scanner.h | Loading commit data... | |
| simplify.c | Loading commit data... | |
| st.c | Loading commit data... | |
| symbol.c | Loading commit data... | |
| target-memory.c | Loading commit data... | |
| target-memory.h | Loading commit data... | |
| trans-array.c | Loading commit data... | |
| trans-array.h | Loading commit data... | |
| trans-common.c | Loading commit data... | |
| trans-const.c | Loading commit data... | |
| trans-const.h | Loading commit data... | |
| trans-decl.c | Loading commit data... | |
| trans-expr.c | Loading commit data... | |
| trans-intrinsic.c | Loading commit data... | |
| trans-io.c | Loading commit data... | |
| trans-openmp.c | Loading commit data... | |
| trans-stmt.c | Loading commit data... | |
| trans-stmt.h | Loading commit data... | |
| trans-types.c | Loading commit data... | |
| trans-types.h | Loading commit data... | |
| trans.c | Loading commit data... | |
| trans.h | Loading commit data... | |
| types.def | Loading commit data... |