Lines Matching defs:Instructions
94 std::vector<InstructionTemplate> &Instructions) const {
99 const size_t OriginalInstructionsSize = Instructions.size();
101 for (InstructionTemplate &IT : Instructions) {
106 while (Instructions.size() < kMinNumDifferentAddresses) {
107 InstructionTemplate IT = Instructions[I % OriginalInstructionsSize];
110 Instructions.push_back(std::move(IT));
150 const Operand &Op, const ArrayRef<InstructionTemplate> Instructions,
164 if (!Instructions.empty())
165 return Instructions.front().getValueFor(Op);
218 const ArrayRef<InstructionTemplate> Instructions,
230 Uses, Defs, IT, Op, Instructions, S);
278 std::vector<InstructionTemplate> Instructions;
284 Uses, Defs, IT, Instructions, S);
286 return Instructions;
287 Instructions.push_back(std::move(*TmpIT));
289 return Instructions;
290 assert(Instructions.size() <= 128 && "Stuck in endless loop?");
307 CT.Instructions.push_back(std::move(Variant));
308 instantiateMemoryOperands(CT.ScratchSpacePointerInReg, CT.Instructions);
313 CT.Instructions.push_back(std::move(Variant));
314 instantiateMemoryOperands(CT.ScratchSpacePointerInReg, CT.Instructions);
341 CurrCT.Instructions = generateSnippetForInstrAvoidingDefUseOverlap(
343 if (CurrCT.Instructions.empty())
348 CurrCT.Instructions);