Home | History | Annotate | Download | only in Utils

Lines Matching full:outputs

161                                       ValueSet &Outputs) const {
178 Outputs.insert(II);
288 /// constructFunction - make a function based on inputs and outputs, as follows:
292 const ValueSet &outputs,
299 DEBUG(dbgs() << "outputs: " << outputs.size() << "\n");
301 // This function returns unsigned, outputs will go back by reference.
320 for (ValueSet::const_iterator I = outputs.begin(), E = outputs.end();
335 if (AggregateArgs && (inputs.size() + outputs.size() > 0)) {
386 for (unsigned i = 0, e = outputs.size(); i != e; ++i, ++AI)
387 AI->setName(outputs[i]->getName()+".out");
423 ValueSet &inputs, ValueSet &outputs) {
425 // aggregating parameters), or plan inputs and allocated memory for outputs
437 // Create allocas for the outputs
438 for (ValueSet::iterator i = outputs.begin(), e = outputs.end(); i != e; ++i) {
451 if (AggregateArgs && (inputs.size() + outputs.size() > 0)) {
487 // Reload the outputs passed in by reference
488 for (unsigned i = 0, e = outputs.size(); i != e; ++i) {
496 "gep_reload_" + outputs[i]->getName());
502 LoadInst *load = new LoadInst(Output, outputs[i]->getName()+".reload");
505 std::vector<User*> Users(outputs[i]->user_begin(), outputs[i]->user_end());
509 inst->replaceUsesOfWith(outputs[i], load);
563 for (unsigned out = 0, e = outputs.size(); out != e; ++out) {
566 BasicBlock *DefBlock = cast<Instruction>(outputs[out])->getParent();
570 if (InvokeInst *Invoke = dyn_cast<InvokeInst>(outputs[out])) {
611 "gep_" + outputs[out]->getName(),
613 new StoreInst(outputs[out], GEP, NTRet);
615 new StoreInst(outputs[out], OAI, NTRet);
692 ValueSet inputs, outputs;
718 // Find inputs to, outputs from the code region.
719 findInputsOutputs(inputs, outputs);
729 // Construct new function based on inputs/outputs & add allocas for all defs.
730 Function *newFunction = constructFunction(inputs, outputs, header,
735 emitCallAndSwitchStatement(newFunction, codeReplacer, inputs, outputs);