[PATCH 2/4] Equate MEM_REFs and ARRAY_REFs in tree-ssa-scopedtables.c

Christophe Lyon christophe.lyon@linaro.org
Tue Jan 19 13:33:00 GMT 2016


On 19 January 2016 at 14:22, Alan Lawrence <alan.lawrence@foss.arm.com> wrote:
> On 19/01/16 09:46, Christophe Lyon wrote:
>>
>> On 19 January 2016 at 04:05, H.J. Lu <hjl.tools@gmail.com> wrote:
>>>
>>> On Thu, Dec 24, 2015 at 3:55 AM, Alan Lawrence <alan.lawrence@arm.com>
>>> wrote:
>>>>
>>>> This version changes the test cases to fix failures on some platforms,
>>>> by
>>>> rewriting the initializers so that they aren't pushed out to the
>>>> constant pool.
>>>>
>>>> gcc/ChangeLog:
>>>>
>>>>          * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and
>>>> ARRAY_REF
>>>>          using get_ref_base_and_extent.
>>>>          (equal_mem_array_ref_p): New.
>>>>          (hashable_expr_equal_p): Add call to previous.
>>>>
>>>
>>> This caused:
>>>
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69352
>>>
>>
>> Hi Alan,
>>
>> This patch also caused regressions on arm-none-linux-gnueabihf
>> with GCC configured as:
>> --with-thumb --with-cpu=cortex-a57 --with-fpu=crypto-neon-fp-armv8
>>
>> These tests now fail:
>> gcc.dg/torture/pr61742.c   -O2  (test for excess errors)
>> gcc.dg/torture/pr61742.c   -O2 -flto -fno-use-linker-plugin
>> -flto-partition=none  (test for excess errors)
>> gcc.dg/torture/pr61742.c   -O3 -fomit-frame-pointer -funroll-loops
>> -fpeel-loops -ftracer -finline-functions  (test for excess errors)
>> gcc.dg/torture/pr61742.c   -O3 -g  (test for excess errors)
>>
>
> Hmm, I still see these passing, both natively on arm-none-linux-gnueabihf
> and with a cross-build. hf implies --with-float=hard, right? Do you see what
> the error messages are?
>

Ha! gas complains that "IT blocks containing 32-bit Thumb instructions
are deprecated in ARMv8"

This is PR67591:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67591

So, not related to your patch in fact. Sorry for the noise.

Christophe.

> Thanks, Alan
>



More information about the Gcc-patches mailing list