On Mon, Feb 16, 2015 at 11:26 AM, Thomas Preud'homme
<thomas.preudho...@arm.com> wrote:
> Hi,
>
> The RTL cprop pass in GCC operates by doing a local constant/copy propagation 
> first and then a global one. In the local one, if a constant cannot be 
> propagated (eg. due to constraints of the destination instruction) a copy 
> propagation is done instead. However, at the global level copy propagation is 
> only tried if no constant can be propagated, ie. if a constant can be 
> propagated but the constraints of the destination instruction forbids it, no 
> copy propagation will be tried. This patch fixes this issue. This solves the 
> redundant ldr problem in GCC32RM-439.
>

This would address https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34503#c4

I'll have a look at the patch tonight.

Ciao!
Seven

Reply via email to