[llvm-commits] [llvm] r37940 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGNodes.h include/llvm/ParameterAttributes.h lib/AsmParser/Lexer.l lib/AsmParser/llvmAsmParser.y lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp lib/Target/TargetCallingC

Rafael Espindola espindola at google.com
Tue Jul 17 02:58:38 PDT 2007


> I actually don't like this approach, because this depends a lot of
> decisions made in the code generator: the copy may be in registers
> (hopefully) or on the stack, or with some magic funny thing.  Adding
> an extra copy at the llvm level would require the codegen to remove
> it, which is really hard.

No, the idea is that all the frame allocation and manipulation would
be done in the FE. So, from a BE point of view, all arguments would be
on registers. For example, when compiling C on a i686 all resulting
llvm functions would hove only one argument (the frame pointer).

Again, this would be a massive change. For the current bug I believe
that the "byval" proposal is much easier to implement.

>
> -Chris

Cheers,
-- 
Rafael Avila de Espindola

Google Ireland Ltd.
Gordon House
Barrow Street
Dublin 4
Ireland

Registered in Dublin, Ireland
Registration Number: 368047



More information about the llvm-commits mailing list