[LLVMdev] problem with function arguments in ARM EABI

Evan Cheng 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?
> Lauro
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the llvm-dev mailing list