This is the mail archive of the gcc-bugs@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]

Re: optimization/6909: problem w/ -Os on modified loop-2c.c test case.


http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6909

2002-06-02  Glen Nakamura  <glen@imodulo.com>

	* fold-const.c (fold): Move transformation of X >= CST to X > (CST - 1)
	and X < CST to X <= (CST - 1) to expose the following simplifications:
	  1. unsigned int < 0x80000000 to signed int >= 0.
	  2. unsigned int >= 0x80000000 to signed int < 0.
	  3. unsigned int > 0xfffffffe to unsigned int == 0xffffffff.
	  4. unsigned int <= 0xfffffffe to unsigned int != 0xffffffff.

Notes: This patch is a variation of a similar one posted in regard to PR6822.
I added "code = ??_EXPR;" in a number of places to keep "code" and
"TREE_CODE (t)" in sync.  I couldn't think of a specific test case to expose
the problem, but I think it's correct and other places that use TREE_SET_CODE
do the same thing.

- Glen Nakamura

Attachment: fold.diff
Description: Text document


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