Lines Matching full:instruction
45 // it will speculate at most one instruction. It also will not speculate if
202 // If a block has only one instruction, then that is a terminator
203 // instruction so that the block does nothing. This does happen.
213 static InstructionCost ComputeSpeculationCost(const Instruction *I,
216 case Instruction::GetElementPtr:
217 case Instruction::Add:
218 case Instruction::Mul:
219 case Instruction::And:
220 case Instruction::Or:
221 case Instruction::Select:
222 case Instruction::Shl:
223 case Instruction::Sub:
224 case Instruction::LShr:
225 case Instruction::AShr:
226 case Instruction::Xor:
227 case Instruction::ZExt:
228 case Instruction::SExt:
229 case Instruction::Call:
230 case Instruction::BitCast:
231 case Instruction::PtrToInt:
232 case Instruction::IntToPtr:
233 case Instruction::AddrSpaceCast:
234 case Instruction::FPToUI:
235 case Instruction::FPToSI:
236 case Instruction::UIToFP:
237 case Instruction::SIToFP:
238 case Instruction::FPExt:
239 case Instruction::FPTrunc:
240 case Instruction::FAdd:
241 case Instruction::FSub:
242 case Instruction::FMul:
243 case Instruction::FDiv:
244 case Instruction::FRem:
245 case Instruction::FNeg:
246 case Instruction::ICmp:
247 case Instruction::FCmp:
248 case Instruction::Trunc:
249 case Instruction::Freeze:
250 case Instruction::ExtractElement:
251 case Instruction::InsertElement:
252 case Instruction::ShuffleVector:
253 case Instruction::ExtractValue:
254 case Instruction::InsertValue:
287 SmallPtrSet<const Instruction *, 8> NotHoisted;
290 if (const auto *I = dyn_cast_or_null<Instruction>(V))