This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] PATCH to volatile support
- From: law at redhat dot com
- To: Jason Merrill <jason at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 25 Jun 2003 10:29:21 -0600
- Subject: Re: [tree-ssa] PATCH to volatile support
- Reply-to: law at redhat dot com
In message <wvlsmpy6x6m.fsf@prospero.boston.redhat.com>, Jason Merrill writes:
>On Wed, 25 Jun 2003 03:29:39 -0400, Jason Merrill <jason@redhat.com> wrote:
>
>> ! /* If there were posteffects after the MODIFY_EXPR, we need a
>> ! temporary. We also copy the result of a CALL_EXPR into a
>> ! temporary; apparently this simplifies dealing with
>> ! TRY_FINALLY_EXPR somehow. */
>> ! if (ret
>> ! && (ret != last
>> ! || TREE_CODE (TREE_OPERAND (ret, 1)) == CALL_EXPR))
>> ! {
>> ! tree tmp = create_tmp_var (TREE_TYPE (result), "retval");
>> ! TREE_OPERAND (ret, 0) = tmp;
>> ! ret = build (MODIFY_EXPR, TREE_TYPE (result), result, tmp);
>> ! }
>
>BTW, Jeff, is this special handling of CALL_EXPR in gimplify_return_expr
>still necessary now that we force an rhs which can throw into a temporary?
>I'm guessing not.
I'd guess not as well well, at least the coping of the result of the CALL_EXPR
through a temporary. I suspect the post effects stuff would probably still
be needed though.
jeff
jeff