Lines Matching full:outputs

646 void CodeExtractor::findInputsOutputs(ValueSet &Inputs, ValueSet &Outputs,
660 Outputs.insert(&II);
813 /// constructFunction - make a function based on inputs and outputs, as follows:
816 const ValueSet &outputs,
823 LLVM_DEBUG(dbgs() << "outputs: " << outputs.size() << "\n");
825 // This function returns unsigned, outputs will go back by reference.
849 for (Value *output : outputs) {
861 (inputs.size() + outputs.size()) &&
862 "Number of scalar and aggregate params does not match inputs, outputs");
1065 for (unsigned i = 0, e = outputs.size(); i != e; ++i, ++ScalarAI)
1066 if (!StructValues.contains(outputs[i]))
1067 ScalarAI->setName(outputs[i]->getName() + ".out");
1158 ValueSet &outputs) {
1160 // aggregating parameters), or plan inputs and allocated memory for outputs
1183 // Create allocas for the outputs
1185 for (Value *output : outputs) {
1256 // Reload the outputs passed in by reference, use the struct if output is in
1258 for (unsigned i = 0, e = outputs.size(), scalarIdx = 0,
1262 if (AggregateArgs && StructValues.contains(outputs[i])) {
1267 StructArgTy, Struct, Idx, "gep_reload_" + outputs[i]->getName());
1275 LoadInst *load = new LoadInst(outputs[i]->getType(), Output,
1276 outputs[i]->getName() + ".reload",
1279 std::vector<User *> Users(outputs[i]->user_begin(), outputs[i]->user_end());
1283 inst->replaceUsesOfWith(outputs[i], load);
1360 for (unsigned i = 0, e = outputs.size(), aggIdx = NumAggregatedInputs; i != e;
1362 auto *OutI = dyn_cast<Instruction>(outputs[i]);
1380 if (AggregateArgs && StructValues.contains(outputs[i])) {
1388 StructArgTy, &*AggOutputArgBegin, Idx, "gep_" + outputs[i]->getName(),
1390 new StoreInst(outputs[i], GEP, InsertPt);
1399 new StoreInst(outputs[i], &*ScalarOutputArgBegin, InsertPt);
1712 ValueSet Inputs, Outputs;
1713 return extractCodeRegion(CEAC, Inputs, Outputs);
1718 ValueSet &inputs, ValueSet &outputs) {
1822 // Find inputs to, outputs from the code region.
1823 findInputsOutputs(inputs, outputs, SinkingCands);
1858 // Construct new function based on inputs/outputs & add allocas for all defs.
1860 constructFunction(inputs, outputs, header, newFuncRoot, codeReplacer,
1873 emitCallAndSwitchStatement(newFunction, codeReplacer, inputs, outputs);