[PATCH] [FIX] Remove object adjustment to preserve object attributes

Petro Karashchenko petro.karashchenko@gmail.com
Sat Aug 15 22:53:56 GMT 2020


for bitfield MEMREFs

[FIX] Propagate uncached type attributes to unaligned/packed types

[ARC] Update tests

gcc/
xxxx-xx-xx  Petro Karashchenko  <petro.karashchenko@gmail.com>

        * emit-rtl.c (adjust_address_1): Do not drop the object
        if the new memory reference is outside the underlying
        object to preserve object attributes that are needed
        by some backend implementations. Remove adjust_object
        parameter as it is not used anymore.
        (adjust_automodify_address_1): Adjust according to
        new adjust_address_1 prototype.
        (replace_equiv_address_nv): Likewise.
        * gcc/emit-rtl.h (adjust_address): Adjust according to
        new adjust_address_1 prototype.
        (adjust_address_nv): Likewise.
        (adjust_bitfield_address): Likewise.
        (adjust_bitfield_address_size): Likewise.
        (adjust_bitfield_address_nv): Likewise.

testsuite/
xxxx-xx-xx  Petro Karashchenko  <petro.karashchenko@gmail.com>

        * gcc.target/arc/uncached-9.c: New file.

Problem description:
__attribute__((uncached)) is dropped for other than the first member of
"packed" or "unaligned" types.

Tests:
Tested with ARC600 bases ASIC. The correct code is generated.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-FIX-Remove-object-adjustment-to-preserve-object-attr.patch
Type: application/octet-stream
Size: 7228 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20200816/1c67e2ad/attachment-0001.obj>


More information about the Gcc-patches mailing list