On 10/2/19 5:35 PM, Jakub Jelinek wrote:
> On Wed, Oct 02, 2019 at 09:21:23AM -0500, Aaron Sawdey wrote:
>>>> 2019-09-27  Aaron Sawdey <acsaw...@linux.ibm.com>
>>>>
>>>>    * builtins.c (expand_builtin_memory_copy_args): Add might_overlap parm.
>>>>    (expand_builtin_memcpy): Use might_overlap parm.
>>>>    (expand_builtin_mempcpy_args): Use might_overlap parm.
>>>>    (expand_builtin_memmove): Call expand_builtin_memory_copy_args.
>>>>    (expand_builtin_memory_copy_args): Add might_overlap parm.
>>>>    * expr.c (emit_block_move_via_cpymem): Rename to
>>>>    emit_block_move_via_pattern, add might_overlap parm, use cpymem
>>>>    or movmem optab as appropriate.
>>>>    (emit_block_move_hints): Add might_overlap parm, do the right
>>>>    thing for might_overlap==true.
>>>>    * expr.h (emit_block_move_hints): Update prototype.
> 
>> @@ -1622,13 +1624,30 @@
>>        set_mem_size (y, const_size);
>>      }
>>
>> -  if (CONST_INT_P (size) && can_move_by_pieces (INTVAL (size), align))
>> +  bool pieces_ok = can_move_by_pieces (INTVAL (size), align);
>> +  bool pattern_ok = false;
>> +
>> +  if (!CONST_INT_P (size) || !pieces_ok || might_overlap)
> ...
> 
> This change broke rtl checking bootstrap.
> You can't use INTVAL on size that isn't CONST_INT_P.
> 
> Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux,
> committed to trunk as obvious:

Jakub,
  Sorry about that! Now that you point it out, it's obvious. But what it means
for me is that I need to be in the habit of bootstrapping with 
--enable-checking=rtl
when I make these changes.

  Aaron

-- 
Aaron Sawdey, Ph.D.  acsaw...@linux.vnet.ibm.com
050-2/C113  (507) 253-7520 home: 507/263-0782
IBM Linux Technology Center - PPC Toolchain

Reply via email to