GIMPLE and intent of variables

grabekm90 grabekm90@wp.pl
Wed Aug 17 09:50:00 GMT 2011




Jeff Law wrote:
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 08/16/11 15:35, grabekm90 wrote:
> 
>> How to resolve a problem with pointers (especially arrays)? For
>> example, we have a GIMPLE function:
>> 
>> set_a (int * a) { int * D.2701; D.2701 = a + 40; *D.2701 = 7; }
>> 
>> This is equivalent code in C:
>> 
>> void set_a(int * a) { a[10] = 107; }
>> 
>> GIMPLE tries to avoid operations on the left side of the assign sign.
>> There is a problem because I want to identify local variable (D.2701)
>> with function parameter (a). In this case "a" is output parameter. I
>> could follow a behavior of parameters in my plugin, but I suppose
>> that GIMPLE makes accessible better solution, doesn't it?
> Adding/subtracting from a pointer should result in another pointer to a
> different part of the same object.  So anytime I saw
> <whatever> = <pointer> +- index
> 
> I'd record that <whatever> was a derived pointer.
> 
> jeff
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
> 
> iQEcBAEBAgAGBQJOSuPvAAoJEBRtltQi2kC7p6AH/3x6EXhLr4os3FjFklvNdJk6
> FsGYnl9l3ZxRzYv5TyS6Pe2hzZaRPzZyF0a6r6/pZ9KqxlBA7XQwIAxjBnW37+DK
> LypIeCz7IeQDqPnB2OV9e271Q+b6EWPhSg/csAAeGqKtmixjwNC2Zjkgjbf5Anmn
> WtSyo12A2b16f24I/bHw36frupcBF7adMBK5CyQVthoMkbVsporvG9Yz4NX/vmF+
> 2UPGw3wap9SIsMEs9bG/OA13Q2WsQS7EJw2n5GH4gdlEwMmd6e8WsuQ0802SkHdX
> aVgwIJ0xQbk2RuVnRb8244u+6AOuVT4yVVvHJ5QGfON/UoLFUKa1SPUXRSRLKaM=
> =HggP
> -----END PGP SIGNATURE-----
> 
> 

 The question is: how can we get to know, using GIMPLE mechanism, from which
parameter a pointer derives?
-- 
View this message in context: http://old.nabble.com/GIMPLE-and-intent-of-variables-tp32275433p32277626.html
Sent from the gcc - patches mailing list archive at Nabble.com.



More information about the Gcc-patches mailing list