Lines Matching refs:Path
329 /// Return true if this scalar return value only has bits discarded on its path
392 /// represented is SubTypes.back()->getTypeAtIndex(Path.back() - 1).
394 /// @param Path Set of extractvalue indices leading from the outermost type
399 /// false. SubTypes.back()->getTypeAtIndex(Path.back()) is either an empty
402 SmallVectorImpl<unsigned> &Path) {
404 // coordinates in Path.
405 while (!Path.empty() && !indexReallyValid(SubTypes.back(), Path.back() + 1)) {
406 Path.pop_back();
411 if (Path.empty())
416 ++Path.back();
417 Type *DeeperType = SubTypes.back()->getTypeAtIndex(Path.back());
424 Path.push_back(0);
440 /// Path as [1, 1] and SubTypes as [Next, {{}, i32, {}}] to represent the first
444 SmallVectorImpl<unsigned> &Path) {
451 Path.push_back(0);
455 // If there's no Path now, Next was originally scalar already (or empty
457 if (Path.empty())
462 while (SubTypes.back()->getTypeAtIndex(Path.back())->isAggregateType()) {
463 if (!advanceToNextLeafType(SubTypes, Path))
473 SmallVectorImpl<unsigned> &Path) {
475 if (!advanceToNextLeafType(SubTypes, Path))
478 assert(!Path.empty() && "found a leaf but didn't set the path?");
479 } while (SubTypes.back()->getTypeAtIndex(Path.back())->isAggregateType());