LLVM backend for 6502
Go to file
Scott Michel 6be48d49cf Fix to bug 1951: tblgen gratuitously renames variables when no temporary was
generated. This feature would only show up in fairly complex patterns, such
as this one in CellSPU:

  def : Pat<(add (SPUhi tconstpool:$in, 0), (SPUlo tconstpool:$in, 0)),
	    (IOHLlo (ILHUhi tconstpool:$in), tconstpool:$in)>;

which generated the following emit code:

SDNode *Emit_0(const SDOperand &N, unsigned Opc0, unsigned Opc1, MVT::ValueType VT0, MVT::ValueType VT1) DISABLE_INLINE {
  SDOperand N0 = N.getOperand(0);
  SDOperand N00 = N0.getOperand(0);
  SDOperand N01 = N0.getOperand(1);
  SDOperand N1 = N.getOperand(1);
  SDOperand N10 = N1.getOperand(0);
  SDOperand N11 = N1.getOperand(1);
  SDOperand Tmp3(CurDAG->getTargetNode(Opc0, VT0, N00), 0);
  return CurDAG->SelectNodeTo(N.Val, Opc1, VT1, Tmp3, Tmp2); /* Tmp2 s/b N00 */
}

Tested against the test suites without incident.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46487 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29 02:29:31 +00:00
autoconf Update version to 2.3svn 2008-01-17 05:57:22 +00:00
bindings
docs make handling of overflow and undefined results much more clear. 2008-01-28 00:36:27 +00:00
examples
include Handle 'X' constraint in asm's better. 2008-01-29 02:21:21 +00:00
lib Properly expand extract-element for non-power-of-2 codegen 2008-01-29 02:24:00 +00:00
projects
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test Filter loops that subtract induction variables. 2008-01-29 02:20:41 +00:00
tools Add support for frameworks. Patch by Shantonu Sen! 2008-01-27 22:58:59 +00:00
utils Fix to bug 1951: tblgen gratuitously renames variables when no temporary was 2008-01-29 02:29:31 +00:00
website
win32
Xcode
build-for-llvm-top.sh
configure Update version to 2.3svn 2008-01-17 05:57:22 +00:00
CREDITS.TXT Update credits. 2007-12-11 09:32:07 +00:00
LICENSE.TXT Update license for current year. 2008-01-17 05:57:59 +00:00
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in
Makefile.rules Unbreak builds with differing object and source 2008-01-28 17:38:30 +00:00
ModuleInfo.txt
README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level 
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments. 

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.