Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Field

354 /// isEmptyField - Return true iff a the field is "empty", that is it
355 /// is an unnamed bit-field or an (array of) empty record(s).
410 /// element struct", i.e. it has exactly one non-empty field or
411 /// exactly one field which is itself a single element
415 /// \return The field declaration for the single non-empty field, if
1140 // the field is of type "float" or "double", return it in a
1318 // The field index doesn't matter, we'll fix it up later.
1682 /// Merge an accumulating classification \arg Accum with a field
1683 /// classification \arg Field.
1689 static Class merge(Class Accum, Class Field);
2061 X86_64ABIInfo::Class X86_64ABIInfo::merge(Class Accum, Class Field) {
2062 // AMD64-ABI 3.2.3p2: Rule 4. Each field of an object is
2087 if (Accum == Field || Field == NoClass)
2089 if (Field == Memory)
2092 return Field;
2093 if (Accum == Integer || Field == Integer)
2095 if (Field == X87 || Field == X87Up || Field == ComplexX87 ||
2346 // Classify this field.
2390 // Classify this field.
2598 // Verify that no field has data that overlaps the region of interest. Yes
2607 // If we found a field after the region we care about, then we're done.
2634 // If this is a struct, recurse into the field at the specified offset.
2642 // If this is an array, recurse into the field at the specified offset.
2721 // If this is a struct, recurse into the field at the specified offset.
2745 assert(TySizeInBytes != SourceOffset && "Empty field?");
4483 // 3 is the field number of __gr_offs
4488 reg_top_index = 1; // field number for __gr_top
4492 // 4 is the field number of __vr_offs.
4497 reg_top_index = 2; // field number for __vr_top
5163 // Check if this field is at offset 0.
5170 // Only allow at most one field in a structure. This doesn't match the
5171 // wording above, but follows gcc in situations with a field following an
6014 // In N32/64, an aligned double precision floating point field is passed in
6140 // 3. The offset of the first field is zero (this follows what gcc does).
7123 /// Builds a SmallVector containing the encoded field types in declaration
7129 for (const auto *Field : RD->fields()) {
7132 Enc += Field->getName();
7134 if (Field->isBitField()) {
7137 OS << Field->getBitWidthValue(CGM.getContext());
7140 if (!appendType(Enc, Field->getType(), CGM, TSC))
7142 if (Field->isBitField())
7145 FE.emplace_back(!Field->getName().empty(), Enc);
7151 /// Recursively calls appendType (via extractFieldType) for each field.