mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	mips16: When copying operands in a conditional branch instruction, allow for
immediate operands to be copied. Patch by Reed Kotler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163811 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		| @@ -95,6 +95,7 @@ bool MipsInstrInfo::AnalyzeBranch(MachineBasicBlock &MBB, | ||||
|                                   SmallVectorImpl<MachineOperand> &Cond, | ||||
|                                   bool AllowModify) const | ||||
| { | ||||
|  | ||||
|   MachineBasicBlock::reverse_iterator I = MBB.rbegin(), REnd = MBB.rend(); | ||||
|  | ||||
|   // Skip all the debug instructions. | ||||
| @@ -177,9 +178,14 @@ void MipsInstrInfo::BuildCondBr(MachineBasicBlock &MBB, | ||||
|   const MCInstrDesc &MCID = get(Opc); | ||||
|   MachineInstrBuilder MIB = BuildMI(&MBB, DL, MCID); | ||||
|  | ||||
|   for (unsigned i = 1; i < Cond.size(); ++i) | ||||
|     MIB.addReg(Cond[i].getReg()); | ||||
|  | ||||
|   for (unsigned i = 1; i < Cond.size(); ++i) { | ||||
|     if (Cond[i].isReg()) | ||||
|       MIB.addReg(Cond[i].getReg()); | ||||
|     else if (Cond[i].isImm()) | ||||
|       MIB.addImm(Cond[i].getImm()); | ||||
|     else | ||||
|        assert(true && "Cannot copy operand"); | ||||
|   } | ||||
|   MIB.addMBB(TBB); | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user