[llvm-commits] some thoughts on lowering for calling conventions

Eric Christopher echristo at apple.com
Fri Sep 17 14:04:36 PDT 2010


On Sep 17, 2010, at 9:58 AM, Bob Wilson wrote:

>> The current implementation has some really annoying problems:
>> 
>> *) Has to be reimplemented for fast isel or any other instruction
>> selection solution we want to create.
> 
> Yes, this is a nuisance.  I'd still like to see a calling convention lowering pass that could be shared for fast-isel and selection DAGs, but that would be tough because we currently have no way to represent some of the necessary constructs (e.g., physical machine registers) in llvm IR.

Speaking to this in particular I'd like to see the information in CallingConv.td sufficient enough to be able to generate lowering of all calls in either dag or fastisel.

It's a dream, but it could happen :)

If the optimizers at various levels need more information then we should be able to get that to them in a different way, pre-emptively lowering just makes an explosion of all new optimization problems.

-eric



More information about the llvm-commits mailing list