This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v4] PR middle-end/60281


于 2014年02月28日 15:58, lin zuojian 写道:
> Hi Bernd,
> I agree you with the mode problem.
>
> And I have not change the stack alignment.What I change is the virtual
> register base's alignment.
> Realignment must be make in !STRICT_ALIGNMENT machine,or emitting the
> efficient code is impossible.
Sorry, it should be "Realignment must be make in STRICT_ALIGNMENT machine".
> For example 4 set mem:QI X,REG:QI Y will not combine into one set mem:SI
> X1,REG:SI Y1,if X is not mentioned as SI mode aligned.
> To make sure X is SI mode algined,virtual register base must be realigned.
>
> For this patch,I only intent to make it right.Making it best is next task.
> --
> Regards
> lin zuojian.
>
> 于 2014年02月28日 15:47, Bernd Edlinger 写道:
>> Hi,
>>
>> I see the problem too.
>>
>> But I think it is not necessary to change the stack alignment
>> to solve the problem.
>>
>> It appears to me that the code in asan_emit_stack_protection
>> is just wrong. It uses SImode when the memory is not aligned
>> enough for that mode. This would not happen if that code
>> is rewritten to use get_best_mode, and by the way, even on
>> x86_64 the emitted code is not optimal, because that target
>> could work with DImode more efficiently.
>>
>> So, to fix that, it would be better to concentrate on that function,
>> and use word_mode instead of SImode, and let get_best_mode
>> choose the required mode.
>>
>>
>> Regards
>> Bernd Edlinger. 		 	   		  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]