[llvm] r216613 - [FastISel] Fix a potential bug in FastEmitInst_ri

Juergen Ributzka juergen at apple.com
Wed Aug 27 13:47:33 PDT 2014


Author: ributzka
Date: Wed Aug 27 15:47:33 2014
New Revision: 216613

URL: http://llvm.org/viewvc/llvm-project?rev=216613&view=rev
Log:
[FastISel] Fix a potential bug in FastEmitInst_ri

FastEmitInst_ri was constraining the first operand without checking if it is
a virtual register. Use constrainOperandRegClass as all the other
FastEmitInst_* functions.

Modified:
    llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp?rev=216613&r1=216612&r2=216613&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp Wed Aug 27 15:47:33 2014
@@ -1816,8 +1816,7 @@ unsigned FastISel::FastEmitInst_ri(unsig
   const MCInstrDesc &II = TII.get(MachineInstOpcode);
 
   unsigned ResultReg = createResultReg(RC);
-  RC = TII.getRegClass(II, II.getNumDefs(), &TRI, *FuncInfo.MF);
-  MRI.constrainRegClass(Op0, RC);
+  Op0 = constrainOperandRegClass(II, Op0, II.getNumDefs());
 
   if (II.getNumDefs() >= 1)
     BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, ResultReg)





More information about the llvm-commits mailing list