1//===- MachineSSAUpdater.cpp - Unstructured SSA Update Tool ---------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 111 unchanged lines hidden (view full) --- 120/// a value of the given register class at the start of the specified basic 121/// block. It returns the virtual register defined by the instruction. 122static 123MachineInstr *InsertNewDef(unsigned Opcode, 124 MachineBasicBlock *BB, MachineBasicBlock::iterator I, 125 const TargetRegisterClass *RC, 126 MachineRegisterInfo *MRI, const TargetInstrInfo *TII) { 127 unsigned NewVR = MRI->createVirtualRegister(RC); |
128 return BuildMI(*BB, I, DebugLoc(), TII->get(Opcode), NewVR); |
129} 130 131/// GetValueInMiddleOfBlock - Construct SSA form, materializing a value that 132/// is live in the middle of the specified block. 133/// 134/// GetValueInMiddleOfBlock is the same as GetValueAtEndOfBlock except in one 135/// important case: if there is a definition of the rewritten value after the 136/// 'use' in BB. Consider code like this: --- 258 unchanged lines hidden --- |