Drea Pinski (pinskia) <[email protected]> requested changes to the code:


> +++ gcc/rust/backend/rust-intrinsic-handlers.cc
> @@ -751,0 +768,4 @@
> +
> +  // Most intrinsic functions are pure but not the atomic ones
> +  TREE_READONLY (fndecl) = 0;
> +  TREE_SIDE_EFFECTS (fndecl) = 1;
Huh, shouldn't this be done as part of compile_intrinsic_function?

> +++ gcc/rust/backend/rust-intrinsic-handlers.cc
> @@ -751,0 +781,4 @@
> +  enter_intrinsic_block (ctx, fndecl);
> +
> +  auto dst = Backend::var_expression (param_vars[0], UNDEF_LOCATION);
> +  TREE_READONLY (dst) = 0;
Why are you setting READONLY here?

> +++ gcc/rust/backend/rust-intrinsic-handlers.cc
> @@ -751,0 +811,4 @@
> +    = Backend::return_statement (fndecl, exchange_call, UNDEF_LOCATION);
> +
> +  TREE_READONLY (exchange_call) = 0;
> +  TREE_SIDE_EFFECTS (exchange_call) = 1;
This seems wrong.


--
https://forge.sourceware.org/gcc/gcc-TEST/pulls/161#issuecomment-6246

Reply via email to