This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Check precision rather than machine mode in STRIP_NOPS and STRIP_SIGN_NOPS
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Adam Nemet <anemet at caviumnetworks dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 8 Jun 2009 21:38:28 -0400
- Subject: Re: [PATCH] Check precision rather than machine mode in STRIP_NOPS and STRIP_SIGN_NOPS
- References: <firstname.lastname@example.org>
> Based on verify_gimple_assign_unary we can only have conversion between
> ENUM_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, OFFSET_TYPE, POINTER_TYPE and
> REFERENCE_TYPE here which I think can be removed as long as they have the
> same precision.
You can have conversions for basically everything, e.g between the const and
the non-const version of an aggregate type. They will be stripped off during
gimplification (see useless_type_conversion_p_1) but I think they still need
to be handled by STRIP_NOPS and STRIP_SIGN_NOPS.