This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

VRP PLUS/MINUS_EXPR


Hello,

here is a slight improvement to VRP for sum and difference of intervals. There are some things I left because I didn't understand them enough:

* range_int_cst_p (&vr0): I thought it was always true by that time, but it isn't obvious

* TYPE_PRECISION (expr_type) <= HOST_BITS_PER_DOUBLE_INT: the __int256 patch scared me (though I would love to have larger types, especially with a proper range analysis to use only 2 or 3 of the 4 64-bit integers that make up an __int256 when it is enough, see PR 53100 for the __int128 version)

* when is the value range of a type smaller than the one given by its precision? Is it for enum?


2012-07-25 Marc Glisse <marc.glisse@inria.fr>


	PR tree-optimization/30318
	* tree-vrp.c (extract_range_from_binary_expr_1) [PLUS_EXPR]:
	Handle __int128.
	[MINUS_EXPR] merge with PLUS_EXPR.

bootstrapped just c and c++ and ran the testsuite with no new regression.

--
Marc Glisse

Attachment: p2
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]