[LLVMdev] problem with function arguments in ARM EABI
evan.cheng at apple.com
Fri Feb 9 14:50:01 PST 2007
I am ok with adding an attribute but don't like to add two of them as
you've described. I don't think you need the "sequential piece ID" to
deal with this issue, no? You just need a little extra bookkeeping in
the target lowering code.
Alternatively, you can use a "original alignment" attribute (i.e.
alignment of unexpanded argument). That would be a 5-bit attribute.
Chris, got a better idea?
On Feb 9, 2007, at 1:57 PM, Lauro Ramos Venancio wrote:
>> Yes, you need to override both LowerArguments and LowerCallTo. All of
>> the current targets / abi's use the default implementation in
>> SelectionDAGISel.cpp But I guess ARM EABI will be the first. :-) As
>> far as I can see, this is the only clean way to do it. I expect the
>> ARM EABI specific implementation will be quite a bit simpler than the
>> default implementation though.
> If I override these functions, I would copy a lot of code and change
> only few lines. I found another solution: adding two items to
> arguments Flags. Flags[27:24] = number of pieces that an argument was
> expanded. Flags[31:28] = sequential piece ID.
> What do you think? May I add these items?
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev