llvm-project/llvm/lib
Chris Lattner 584a11ae22 Implement the getRegForInlineAsmConstraint method for PPC. With recent
sdisel changes, this eliminates a ton of copies around common inline asms.
For example:

int test2(int Y, int X) {
  asm("foo %0, %1" : "=r"(X): "r"(X));
  return X;
}

now compiles to:

_test2:
        foo r3, r4
        blr

instead of:

_test2:
        mr r2, r4
        foo r2, r2
        mr r3, r2
        blr

GCC produces:

_test2:
        foo r4, r4
        mr r3,r4
        blr

llvm-svn: 31367
2006-11-02 01:44:04 +00:00
..
Analysis Make ScalarEvolution actually use a ZeroExtend expression instead of 2006-11-01 21:53:12 +00:00
AsmParser For PR950: 2006-10-26 06:15:43 +00:00
Bytecode For PR950: 2006-10-26 06:15:43 +00:00
CodeGen Allow the getRegForInlineAsmConstraint method to return a register class with 2006-11-02 01:41:49 +00:00
Debugger For PR950: 2006-10-20 07:07:24 +00:00
ExecutionEngine Remove unnecessary sign conversions made possible by last patch. 2006-11-01 03:45:43 +00:00
Linker Adding dllimport, dllexport and external weak linkage types. 2006-09-14 18:23:27 +00:00
Support add a highly efficient hash table that is specialized for mapping C strings 2006-10-29 23:42:03 +00:00
System Use new config.h macro 2006-09-14 06:21:59 +00:00
Target Implement the getRegForInlineAsmConstraint method for PPC. With recent 2006-11-02 01:44:04 +00:00
Transforms There can be more than one PHINode at the start of the block. 2006-11-01 23:04:45 +00:00
VMCore Update comment. Valid option is -debug-pass=Structures. 2006-10-30 19:25:54 +00:00
Makefile Make some changes suggested by Chris: 2006-05-17 22:55:35 +00:00