From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Mitchell To: rth@cygnus.com Cc: gcc@gcc.gnu.org, law@cygnus.com Subject: Re: type based aliasing again Date: Thu, 30 Sep 1999 18:02:00 -0000 Message-ID: <19990908234517H.mitchell@codesourcery.com> References: <199909090340.UAA24340@atrus.synopsys.com> <19990908214911I.mitchell@codesourcery.com> <19990908231849.A22758@cygnus.com> X-SW-Source: 1999-09n/msg00338.html Message-ID: <19990930180200.7n2Zxte7dxeHCY-CbNB95qjNO1_LhHF555v2Bu2VYZE@z> >>>>> "Richard" == Richard Henderson writes: Richard> I've got an example c++ program that triggers this with Richard> compiler generated temporaries and inline functions. The Richard> symptom is that lcm hoists a load out of a loop because Richard> it doesn't recognize the store as aliasing. Oh, dear. Well, I take solace only in that I guess it's not the type-based aliasing code *itself* that's screwed up. :-) We'll enter (mem:SI (reg:SI 100) 1) in the gcse expression tables, we'll see that (mem:SI (reg:SI 100) 2) matches it, and reuse the same expression number. I don't know this code at all, but shouldn't we not think these match? -- Mark Mitchell mark@codesourcery.com CodeSourcery, LLC http://www.codesourcery.com