~ubuntu-branches/ubuntu/quantal/llvm-3.1/quantal

« back to all changes in this revision

Viewing changes to lib/Target/README.txt

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2012-04-14 18:28:54 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20120414182854-gmdspwc0z3uwed8s
Tags: 3.1~svn154750-1
New snapshot release

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
//===---------------------------------------------------------------------===//
4
4
 
5
 
With the recent changes to make the implicit def/use set explicit in
6
 
machineinstrs, we should change the target descriptions for 'call' instructions
7
 
so that the .td files don't list all the call-clobbered registers as implicit
8
 
defs.  Instead, these should be added by the code generator (e.g. on the dag).
9
 
 
10
 
This has a number of uses:
11
 
 
12
 
1. PPC32/64 and X86 32/64 can avoid having multiple copies of call instructions
13
 
   for their different impdef sets.
14
 
2. Targets with multiple calling convs (e.g. x86) which have different clobber
15
 
   sets don't need copies of call instructions.
16
 
3. 'Interprocedural register allocation' can be done to reduce the clobber sets
17
 
   of calls.
18
 
 
19
 
//===---------------------------------------------------------------------===//
20
 
 
21
5
We should recognized various "overflow detection" idioms and translate them into
22
6
llvm.uadd.with.overflow and similar intrinsics.  Here is a multiply idiom:
23
7