Changes in directory llvm/lib/Target/SparcV8:
SparcV8ISelSimple.cpp updated: 1.96 -> 1.97 SparcV8InstrInfo.td updated: 1.83 -> 1.84 --- Log message: Add support for undef --- Diffs of the changes: (+12 -6) SparcV8ISelSimple.cpp | 10 +++++----- SparcV8InstrInfo.td | 8 +++++++- 2 files changed, 12 insertions(+), 6 deletions(-) Index: llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp diff -u llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp:1.96 llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp:1.97 --- llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp:1.96 Sun Dec 18 07:33:06 2005 +++ llvm/lib/Target/SparcV8/SparcV8ISelSimple.cpp Sun Dec 18 17:10:57 2005 @@ -243,9 +243,9 @@ abort(); } } else if (isa<UndefValue>(C)) { - BuildMI(*MBB, IP, V8::IMPLICIT_DEF, 0, R); + BuildMI(*MBB, IP, V8::IMPLICIT_DEF_Int, 0, R); if (getClassB (C->getType ()) == cLong) - BuildMI(*MBB, IP, V8::IMPLICIT_DEF, 0, R+1); + BuildMI(*MBB, IP, V8::IMPLICIT_DEF_Int, 0, R+1); return; } @@ -341,15 +341,15 @@ case cShort: case cInt: case cFloat: - BuildMI(BB, V8::IMPLICIT_DEF, 0, IncomingArgRegs[ArgNo]); + BuildMI(BB, V8::IMPLICIT_DEF_Int, 0, IncomingArgRegs[ArgNo]); break; case cDouble: case cLong: // Double and Long use register pairs. - BuildMI(BB, V8::IMPLICIT_DEF, 0, IncomingArgRegs[ArgNo]); + BuildMI(BB, V8::IMPLICIT_DEF_Int, 0, IncomingArgRegs[ArgNo]); ++ArgNo; if (ArgNo < 6) - BuildMI(BB, V8::IMPLICIT_DEF, 0, IncomingArgRegs[ArgNo]); + BuildMI(BB, V8::IMPLICIT_DEF_Int, 0, IncomingArgRegs[ArgNo]); break; default: assert (0 && "type not handled"); Index: llvm/lib/Target/SparcV8/SparcV8InstrInfo.td diff -u llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.83 llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.84 --- llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.83 Sun Dec 18 15:03:04 2005 +++ llvm/lib/Target/SparcV8/SparcV8InstrInfo.td Sun Dec 18 17:10:57 2005 @@ -111,7 +111,13 @@ def ADJCALLSTACKUP : Pseudo<(ops i32imm:$amt), "!ADJCALLSTACKUP $amt", [(callseq_end imm:$amt)]>; -def IMPLICIT_DEF : Pseudo<(ops IntRegs:$dst), "!IMPLICIT_DEF $dst", []>; +def IMPLICIT_DEF_Int : Pseudo<(ops IntRegs:$dst), + "!IMPLICIT_DEF $dst", + [(set IntRegs:$dst, (undef))]>; +def IMPLICIT_DEF_FP : Pseudo<(ops FPRegs:$dst), "!IMPLICIT_DEF $dst", + [(set FPRegs:$dst, (undef))]>; +def IMPLICIT_DEF_DFP : Pseudo<(ops DFPRegs:$dst), "!IMPLICIT_DEF $dst", + [(set DFPRegs:$dst, (undef))]>; def FpMOVD : Pseudo<(ops DFPRegs:$dst, DFPRegs:$src), "!FpMOVD", []>; // pseudo 64-bit double move _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits