PATCH: Replace target MEMBER_TYPE_FORCES_BLK macro with a target hook
H.J. Lu
hjl.tools@gmail.com
Fri Aug 17 13:39:00 GMT 2012
On Fri, Aug 17, 2012 at 1:02 AM, Richard Guenther
<richard.guenther@gmail.com> wrote:
> On Thu, Aug 16, 2012 at 4:40 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Thu, Aug 16, 2012 at 3:09 AM, Richard Guenther
>> <richard.guenther@gmail.com> wrote:
>>> On Thu, Aug 16, 2012 at 1:50 AM, H.J. Lu <hongjiu.lu@intel.com> wrote:
>>>> Hi,
>>>>
>>>> This patch replaces MEMBER_TYPE_FORCES_BLK with a target hook. I
>>>> also pass the type to the target hook in addition to field, which will
>>>> be used by i386 backend for
>>>>
>>>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020
>>>>
>>>> This patch doesn't change code generation. Tested on Linux/x86-64. I
>>>> also tested cross compilers to ia64-hpux, powerpc-linux and xtensa-linux
>>>> up to cc1. OK to install?
>>>
>>> Isn't the type just always DECL_FIELD_CONTEXT (field)?
>>>
>>> Btw, with C++ you no longer need ATTRIBUTE_UNUSED, just give the
>>> parameter no name.
>>>
>>
>> You are right. Now I don't need to replace MEMBER_TYPE_FORCES_BLK
>> with a target hook for PR 20020. Since I already made the change, here is
>> the updated patch. OK to install?
>>
>> If we don't want to convert MEMBER_TYPE_FORCES_BLK, I can submit a
>> patch to use MEMBER_TYPE_FORCES_BLK in i386 backend.
>
> Please put the hook documentation in target.def. The macro -> hook conversion
> is ok with that change. Any functional change has to go via target maintainers.
>
> Thanks,
> Richard.
>
Here is the updated patch. Steve, David, Sterling, can you take a look
at ia64, rs6000 and xtensa changes?
Thanks.
--
H.J.
---
2012-08-17 H.J. Lu <hongjiu.lu@intel.com>
* stor-layout.c (compute_record_mode): Replace
MEMBER_TYPE_FORCES_BLK with targetm.member_type_forces_blk.
(layout_type): Likewise.
* system.h: Poison MEMBER_TYPE_FORCES_BLK.
* target.def (member_type_forces_blk): New target hook.
* targhooks.c (default_member_type_forces_blk): New.
* targhooks.h (default_member_type_forces_blk): Likewise.
* doc/tm.texi.in (MEMBER_TYPE_FORCES_BLK): Removed.
(TARGET_MEMBER_TYPE_FORCES_BLK): New hook.
* doc/tm.texi: Regenerated.
* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Removed.
* config/ia64/ia64.c (ia64_member_type_forces_blk): New
function.
(TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
* config/rs6000/rs6000.c (TARGET_MEMBER_TYPE_FORCES_BLK): New
macro.
(rs6000_member_type_forces_blk): New function.
* config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Removed.
* config/xtensa/xtensa.c (xtensa_member_type_forces_blk): New
function.
(TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
* config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Removed.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gcc-blkmode-3.patch
Type: application/octet-stream
Size: 14692 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20120817/e5fd0496/attachment.obj>
More information about the Gcc-patches
mailing list