This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, i386, Pointer Bounds Checker 33/x] MPX ABI
- From: Jeff Law <law at redhat dot com>
- To: Ilya Enkovich <enkovich dot gnu at gmail dot com>
- Cc: Uros Bizjak <ubizjak at gmail dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 23 Sep 2014 12:01:53 -0600
- Subject: Re: [PATCH, i386, Pointer Bounds Checker 33/x] MPX ABI
- Authentication-results: sourceware.org; auth=none
- References: <CAFULd4a4JiD4Z8ygzvtODWaNtEz8pZbXYO+rBkWUL3MXv6ySOQ at mail dot gmail dot com> <20140919075558 dot GE50194 at msticlxl57 dot ims dot intel dot com> <CAFULd4ZSE3y=yf4Yf1+9qYbK5KzNs61qehyw-qokhLwAJm+=LA at mail dot gmail dot com> <542068E1 dot 5060504 at redhat dot com> <CAMbmDYZu9NpXsVn+DWQckcKhj6zR-Fh_EQ10FhdiQ03hqgxEgQ at mail dot gmail dot com>
On 09/23/14 00:31, Ilya Enkovich wrote:
I did this change a couple of years ago and don't remember exactly
what problem was caused by PARALLEL. But from my comment it seems
parallel lead to values in BND0 and BND1 not to be actually defined by
call from DF point of view. I'll try to reproduce a problem I had.
Please do. That would indicate a bug in the DF infrastructure. I'm not
real familiar with the DF implementation, but a quick glance at
df_def_record_1 seems to indicate it's got support for a set destination
being a PARALLEL.
This kind of scheme also doesn't tend to "play well" with exception handling
& scheduling becuase you can't guarantee the sets and the call are in the
same block and scheduler as a single group.
How can the sets and the call no be in the same block/group if all of
them are parts of a single instruction?
Obviously in the cases where we've had these problems in the past they
were distinct instructions. So EH interactions isn't going to be an
issue for MPX.
However, we've still got the problem that the RTL you've generated is
ill-formed. If I understand things correctly, the assignments are the
result of the call, that should be modeled by having the destination be
a PARALLEL as mentioned earlier.
Jeff
- References:
- Re: [PATCH, i386, Pointer Bounds Checker 33/x] MPX ABI
- Re: [PATCH, i386, Pointer Bounds Checker 33/x] MPX ABI
- Re: [PATCH, i386, Pointer Bounds Checker 33/x] MPX ABI
- Re: [PATCH, i386, Pointer Bounds Checker 33/x] MPX ABI
- Re: [PATCH, i386, Pointer Bounds Checker 33/x] MPX ABI