Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!iuvax!cica!tut.cis.ohio-state.edu!snorkelwacker!think!yale!cmcl2!stealth.acf.nyu.edu!brnstnd From: brnstnd@stealth.acf.nyu.edu Newsgroups: comp.lang.misc Subject: Re: Pointers as 3-tuples Message-ID: <7513:Apr1102:47:0290@stealth.acf.nyu.edu> Date: 11 Apr 90 02:47:02 GMT References: <6531@brazos.Rice.edu> <14324@lambda.UUCP> Reply-To: brnstnd@stealth.acf.nyu.edu (Dan Bernstein) Distribution: usa Organization: IR Lines: 15 In article <14324@lambda.UUCP> jlg@lambda.UUCP (Jim Giles) writes: [ basically, it doesn't work to compile once for aliasing and once ] [ for non-aliasing, because you have to do this for each potentially ] [ aliased parameter, and there's a combinatorial explosion, and it ] [ can't be done efficiently, blah blah blah ] Jim, you're being silly. As you delight in pointing out, most parameters ever passed in real programs aren't aliased to each other. Hence it's enough to compile one version where no parameters are aliased and one version where all parameters are aliased if at all possible. (If it's likely that some parameters may be aliased, the compiler can introduce an intermediate level where just those parameters are aliased, provided that the programmer or a global analysis points them out.) Say ``oops.'' ---Dan