diff options
author | Chris Lattner <sabre@nondot.org> | 2006-11-14 01:57:53 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-11-14 01:57:53 +0000 |
commit | 9b62b458c5eaf83b9dd1e5d79d3c0e0ca6d755c6 (patch) | |
tree | 5b5d19d5a92da757c28c56b13bd813430699db16 | |
parent | 2fe4bf453b433cfe7113e282a59bf0f1e7fb0195 (diff) |
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31719 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/README.txt | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index 18cd4f66f2..23874b7be8 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -16,6 +16,22 @@ We should make the following changes to clean up MachineInstr: //===---------------------------------------------------------------------===// +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) { |