Changes in directory llvm/lib/Target:
README.txt updated: 1.48 -> 1.49 --- Log message: add a note --- Diffs of the changes: (+16 -0) README.txt | 16 ++++++++++++++++ 1 files changed, 16 insertions(+) Index: llvm/lib/Target/README.txt diff -u llvm/lib/Target/README.txt:1.48 llvm/lib/Target/README.txt:1.49 --- llvm/lib/Target/README.txt:1.48 Sun Nov 12 18:23:28 2006 +++ llvm/lib/Target/README.txt Mon Nov 13 19:57:53 2006 @@ -16,6 +16,22 @@ //===---------------------------------------------------------------------===// +With the recent changes to make the implicit def/use set explicit in +machineinstrs, we should change the target descriptions for 'call' instructions +so that the .td files don't list all the call-clobbered registers as implicit +defs. Instead, these should be added by the code generator (e.g. on the dag). + +This has a number of uses: + +1. PPC32/64 and X86 32/64 can avoid having multiple copies of call instructions + for their different impdef sets. +2. Targets with multiple calling convs (e.g. x86) which have different clobber + sets don't need copies of call instructions. +3. 'Interprocedural register allocation' can be done to reduce the clobber sets + of calls. + +//===---------------------------------------------------------------------===// + FreeBench/mason contains code like this: static p_type m0u(p_type p) { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits