[llvm-commits] [ARM] Scheduler FixedFrame object vs byval formal parameters

Manman Ren mren at apple.com
Thu Oct 4 15:10:14 PDT 2012


On Oct 4, 2012, at 12:45 PM, Bill Schmidt <wschmidt at linux.vnet.ibm.com> wrote:

> On Thu, 2012-10-04 at 22:30 +0400, Stepan Dyatkovskiy wrote:
>> Hi all!
>> 
>> Small but very important issue is, that 
>> SchedulerDAGInstrs::buildSchedGraph ignores dependencies between 
>> FixedStack objects and byval parameters. So loading byval parameters 
>> from stack may be inserted *before* it will stored, since these 
>> operations are treated as independent.
>> 
>> Frankly right now, I couldn't found better solution than make byval 
>> arguments dependent from all fixed-frame objects. Perhaps guys, you have 
>> any ideas?
> 
> Hi Stepan,
> 
> You should look at the thread from September 29 with subject 
> 
> Re: [llvm-commits] byval arg lowering (was: [PATCH, RFC] Fix PR13891
> (AliasChain not properly maintained in
> ScheduleDAGInstrs::buildSchedGraph()))
> 
> Both MIPS and PowerPC have hit similar problems, and we were able to fix
> this by providing some aliasing information on the stores of the byVal
> arguments.  I hope this will be possible for you as well!

This will not apply to ARM, since we handle byval arguments for ARM in a different way.
We insert  a pseudo instruction in DAG, then expand it to MIs during ExpandISelPseudos.

I will check with Andy on this.

Thanks,
Manman

> 
> Thanks,
> Bill
> 
>> 
>> Please find patch in attachment.
>> 
>> -Stepan.
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> -- 
> Bill Schmidt, Ph.D.
> IBM Advance Toolchain for PowerLinux
> IBM Linux Technology Center
> wschmidt at linux.vnet.ibm.com
> wschmidt at us.ibm.com
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list