Use the registers g1 and g5 as temporaries for making far jumps and far calls,
authorMisha Brukman <brukman+llvm@gmail.com>
Wed, 6 Aug 2003 22:19:18 +0000 (22:19 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Wed, 6 Aug 2003 22:19:18 +0000 (22:19 +0000)
commit0870e970ff7128abf72b9d76b35e22adfa5fd418
treef9d4bebfc234f8bdabe42a0b7e1692b58a86e3fa
parent62f0e465f28d9edbe81ca915890a43c4b54a68ff
Use the registers g1 and g5 as temporaries for making far jumps and far calls,
because saving i1 and i2 to their ``designated'' stack slots corrupts unknown
memory in other functions, standard libraries, and worse.

In addition, this has the benefit of improving JIT performance because we
eliminate writing out 4 instructions in CompilationCallback() and 2 loads and 2
stores.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7653 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/SparcV9/SparcV9CodeEmitter.cpp