On 01/11/17 17:40, James Greenhalgh wrote:
> On Tue, Oct 31, 2017 at 05:07:54PM +0000, Wilco Dijkstra wrote:
>> The AArch64 backend currently doesn't set MALLOC_ABI_ALIGNMENT, so
>> add this to enable alignment optimizations on malloc pointers.
>>
>> OK for commit?
> 
> As far as I understand it, because we have 128-bit types, a malloc of
> anything greater than 16 bytes would require 16-byte alignment. So, assuming
> this macro isn't required to desribe possibly unaligned smaller allocations
> (for example 1 byte allocations), this is OK.
> 
> Reviewed-By: James Greenhalgh <james.greenha...@arm.com>
> 
> Thanks,
> James
> 
>>
>> 2017-10-31  Wilco Dijkstra  <wdijk...@arm.com>
>>
>>      * config/aarch64/aarch64.h (MALLOC_ABI_ALIGNMENT): New define.
>> --
>> diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
>> index 
>> 8e7093f0476fa7fed3ba6d6cb008743106d1ff58..159dde7c7134d4d0e5378951d1d8a1d6dab48ba2
>>  100644
>> --- a/gcc/config/aarch64/aarch64.h
>> +++ b/gcc/config/aarch64/aarch64.h
>> @@ -111,6 +111,9 @@
>>  
>>  #define STRUCTURE_SIZE_BOUNDARY             8
>>  
>> +/* Heap alignment.  */
>> +#define MALLOC_ABI_ALIGNMENT  BIGGEST_ALIGNMENT
>> +
>>  /* Defined by the ABI */
>>  #define WCHAR_TYPE "unsigned int"
>>  #define WCHAR_TYPE_SIZE                     32

I wonder if it would be safer to define this explicitly as the current
value of BIGGEST_ALIGNMENT; then if we ever have to change the latter we
won't get silent breakage.

R.

Reply via email to