[llvm-commits] [llvm] r43988 - in /llvm/trunk: lib/Target/TargetCallingConv.td lib/Target/X86/X86CallingConv.td utils/TableGen/CallingConvEmitter.cpp

Duncan Sands baldrick at free.fr
Mon Nov 12 10:48:55 PST 2007


Hi Dale,

> I.e., I'm looking at it one level up, where you have
> 
>   CCIfType<[f80], CCAssignToStackABISizeAlign<0>>
> 
> So I like it this way (except for the annoying wart of the "ignored"  
> argument, maybe somebody knows a way around that?)

supposing it is possible to get rid of the wart, how about the
following: rename CCAssignToStack to CCAssignToStackSizeAlign,
rename CCAssignToStackABISizeAlign to CCAssignToStack, go through
all the uses of CCAssignToStackSizeAlign and if the size and
alignment are just the ABI sizes and alignment (which presumably
all of them are - this is almost the definition of the ABI size/
alignment), drop the arguments and call CCAssignToStack instead.
Why?  Because repeating the ABI size/alignment in all these CC
calls is fragile and error prone (as proved by the long double
trouble), so why do it?

Ciao,

Duncan.



More information about the llvm-commits mailing list