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: [PING] Interprocedural Constant Propagation for mainline


> > >   /* Prevent propagation in the case that MT contains ASM expressions. 
>  */
> > >   if (ipcp_method_contains_asm (mt))
> > >     return true;
> > Why?
> >
>  
> There was a testcase (have to dig it up), which I ran on X86, in which 
> there was an asm call (with the formal parameter sent as argument).
> When IPCP added an assignment statement before the asm call, the test 
> failed.
> iirc, even adding an assignment statement manually to the test 
> code,without running
> IPCP, caused a failure, which led me to believe it was an asm call related 
> problem.
> Therefore, I prevent adding assignment statements if there's an asm call.

Might be that the asm statement assumed things that it shouldn't have
been able to (code layout or register usage or...)

Digging up the testcase would be great.

-eric


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