Home | History | Annotate | Download | only in Scalar

Lines Matching full:instruction

40 typedef SmallVector<std::pair<Instruction *, ValueVector *>, 16> GatherList;
138 // InstVisitor methods. They return true if the instruction was scalarized,
140 bool visitInstruction(Instruction &) { return false; }
164 Scatterer scatter(Instruction *, Value *);
165 void gather(Instruction *, const ValueVector &);
167 void transferMetadata(Instruction *, const ValueVector &);
171 template<typename T> bool splitBinary(Instruction &, const T &);
253 Instruction *I = II;
265 Scatterer Scalarizer::scatter(Instruction *Point, Value *V) {
273 if (Instruction *VOp = dyn_cast<Instruction>(V)) {
274 // Put the scattered form of an instruction directly after the
275 // instruction.
289 void Scalarizer::gather(Instruction *Op, const ValueVector &CV) {
302 Instruction *Old = cast<Instruction>(SV[I]);
326 void Scalarizer::transferMetadata(Instruction *Op, const ValueVector &CV) {
330 if (Instruction *New = dyn_cast<Instruction>(CV[I])) {
365 // Scalarize two-operand instruction I, using Split(Builder, X, Y, Name)
366 // to create an instruction like I with operands X and Y and name Name.
368 bool Scalarizer::splitBinary(Instruction &I, const Splitter &Split) {
506 Instruction *VI;
509 while ((VI = dyn_cast<Instruction>(V)) &&
510 VI->getOpcode() == Instruction::BitCast)
643 Instruction *Op = GMI->first;