llvm-6502/lib
Chris Lattner f768bba43f Allow the live interval analysis pass to be a bit more aggressive about
numbering values in live ranges for physical registers.

The alpha backend currently generates code that looks like this:

  vreg = preg
...
  preg = vreg
  use preg
...
  preg = vreg
  use preg

etc.  Because vreg contains the value of preg coming in, each of the
copies back into preg contain that initial value as well.

In the case of the Alpha, this allows this testcase:

void "foo"(int %blah) {
        store int 5, int *%MyVar
        store int 12, int* %MyVar2
        ret void
}

to compile to:

foo:
        ldgp $29, 0($27)
        ldiq $0,5
        stl $0,MyVar
        ldiq $0,12
        stl $0,MyVar2
        ret $31,($26),1

instead of:

foo:
        ldgp $29, 0($27)
        bis $29,$29,$0
        ldiq $1,5
        bis $0,$0,$29
        stl $1,MyVar
        ldiq $1,12
        bis $0,$0,$29
        stl $1,MyVar2
        ret $31,($26),1

This does not seem to have any noticable effect on X86 code.

This fixes PR535.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20536 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-09 23:05:19 +00:00
..
Analysis Fix Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll, a miscompilation 2005-03-09 16:29:52 +00:00
Archive Implement an isBytecodeArchive method to determine if an archive contains 2005-02-26 22:00:32 +00:00
AsmParser zap 2005-03-05 19:04:07 +00:00
Bytecode Fix an apparent ambiguity compiling on PPC 2005-03-07 02:59:36 +00:00
CodeGen Allow the live interval analysis pass to be a bit more aggressive about 2005-03-09 23:05:19 +00:00
Debugger Correct the comments and file header. 2004-12-23 21:16:46 +00:00
ExecutionEngine Use const iterators where possible. Patch by Evan Jones! 2005-02-27 19:06:10 +00:00
Linker Add support for ".so" files compiled with LLVM which contain LLVM bytecode. 2005-02-19 18:30:29 +00:00
Support get bugpoint working on ia64, by building .so's with -fpic. :) 2005-03-09 03:31:02 +00:00
System Be slightly more accurate in an error message. 2005-03-02 05:45:56 +00:00
Target minor correction for Register that isn't used 2005-03-09 20:48:23 +00:00
Transforms fix a bug where we thought arguments were constants :( 2005-03-06 22:52:29 +00:00
VMCore correct the computation of the isAbstract bit for types. 2005-03-09 17:34:27 +00:00
Makefile Add the Linker library 2004-11-14 21:54:41 +00:00