Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Array

320     // If we have a constant temporary array or record try to promote it into a
663 /// Determine whether this expression refers to a flexible array member in a
664 /// struct. We disable array bounds checks for such members.
667 // 1 as flexible array members.
677 // A flexible array member must be the last member in the class.
680 // this should not be treated as a flexible array member access.
691 /// If Base is known to point to the start of an array, return the length of
692 /// that array. Return 0 if the length cannot be determined.
839 // Array-to-pointer decay.
1770 // of the Elts constant array will be one past the size of the vector.
1899 // Using array syntax to assigning to what an ivar points to is not
1903 // Using array syntax to assigning to what global points to is not
2269 /// followed by an array of i8 containing the type name. TypeKind is 0 for an
2597 "Array to pointer decay must have array source type!");
2599 // Expressions of array type can't be bitfields or vector elements.
2604 // If the array type was an incomplete type, we need to make sure
2613 "Expected pointer to array");
2622 /// array to pointer, return the array subexpression.
2624 // If this isn't just an array->pointer decay, bail out.
2629 // If this is a decay from variable width array, bail out.
2790 } else if (const Expr *Array = isSimpleArrayDecayOperand(E->getBase())) {
2791 // If this is A[i] where A is an array, the frontend will have decayed the
2795 assert(Array->getType()->isArrayType() &&
2796 "Array to pointer decay must have array source type!");
2798 // For simple multidimensional array indexing, set the 'accessed' flag for
2800 if (const auto *ASE = dyn_cast<ArraySubscriptExpr>(Array))
2803 ArrayLV = EmitLValue(Array);
2805 // Propagate the alignment from the array itself to the result.