for bitfield MEMREFs

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

[ARC] Update tests

gcc/
xxxx-xx-xx  Petro Karashchenko  <petro.karashche...@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.karashche...@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.

Attachment: 0001-FIX-Remove-object-adjustment-to-preserve-object-attr.patch
Description: Binary data

Reply via email to