[llvm-commits] CVS: llvm/lib/Target/README.txt
Chris Lattner
sabre at nondot.org
Mon Nov 13 17:58:09 PST 2006
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) {
More information about the llvm-commits
mailing list