On Mon, 18 Nov 2024, Jan Hubicka wrote:
> > I don't think we handle
> >
> > mem = foo ();
>
> Hmm, we can't
> struct val {int a,b;};
>
> [[gnu::noinline]]
> struct val dup(int *a)
> {
> a[0]=a[1];
> struct val ret;
> ret.a = a[2];
> ret.b = a[3];
> retur
> I don't think we handle
>
> mem = foo ();
Hmm, we can't
struct val {int a,b;};
[[gnu::noinline]]
struct val dup(int *a)
{
a[0]=a[1];
struct val ret;
ret.a = a[2];
ret.b = a[3];
return ret;
}
int
test (int *b)
{
struct val ret = dup (b);
On Sun, 17 Nov 2024, Jan Hubicka wrote:
> Last year I made modref to track which functions are deterministic - i.e. they
> produce same effects given same inputs (including memory) and which functions
> have no side effects (which includes infinite loops, trapping etc.).
>
> deterministic functio