• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/clang/lib/CodeGen/

Lines Matching defs:ABI

9 // This provides C++ code generation targeting the Itanium C++ ABI.  The class
10 // in this file generates structures that follow the Itanium C++ ABI, which is
15 // It also supports the closely-related ARM ABI, documented at:
78 // The Itanium ABI has separate complete-object vs. base-object
104 llvm_unreachable("closure ctors in Itanium ABI?");
375 /// Returns true if the ABI requires RTTI type_info objects to be unique
397 /// the current ABI.
560 llvm_unreachable("Microsoft ABI is not Itanium-based");
562 llvm_unreachable("bad ABI kind");
575 /// In the Itanium ABI:
580 /// In the ARM ABI:
953 // Itanium C++ ABI 2.3:
966 // Itanium C++ ABI 2.3:
994 // ARM C++ ABI 3.2.1:
995 // This ABI specifies that adj contains twice the this
1004 // Itanium C++ ABI 2.3:
1178 /// The Itanium ABI requires non-zero initialization only for data
1184 /// The Itanium ABI always places an offset to the complete object
1326 /// Itanium C++ ABI [2.9.7]
1594 /// Initialize the 'this' slot. In the Itanium C++ ABI, no prologue
1604 /// If this is a function that the ABI specifies returns 'this', initialize
1607 /// Unlike the setting of return types, this is done within the ABI
1610 /// 2) in theory, an ABI could implement 'this' returns some other way;
1759 assert(VPtrOffset.isZero() && "Itanium ABI only supports zero vptr offsets");
1995 // Destructor thunks in the ARM ABI have indeterminate results.
2088 // But the base ABI doesn't give anything an alignment greater than
2089 // 8, so we can dismiss this as typical ABI-author blindness to
2215 // Guard variables are 64 bits in the generic ABI and size width on ARM
2251 // The ABI says: "It is suggested that it be emitted in the same COMDAT
2275 // Itanium C++ ABI 3.3.2:
2294 // Itanium ABI:
2305 // ARM C++ ABI 3.2.3.1:
2319 // ARM64 C++ ABI 3.2.2:
2320 // This ABI instead only specifies the value bit 0 of the static guard
2798 /// inheritance, according to the Itanium C++ ABI, 2.9.5p6b.
2803 /// constraints, according ti the Itanium C++ ABI, 2.9.5p5c.
2819 ItaniumRTTIBuilder(const ItaniumCXXABI &ABI)
2820 : CGM(ABI.CGM), VMContext(CGM.getModule().getContext()), CXXABI(ABI) {}
2928 // Itanium C++ ABI 2.9.2:
3142 // iff the base is)", according to Itanium C++ ABI, 2.95p6b.
3300 // Itanium C++ ABI 2.9.5p7:
3443 // Itanium C++ ABI 2.9.5p4:
3461 // Itanium C++ ABI 2.9.5p5:
3467 // Itanium C++ ABI 2.9.5p5:
3472 // Itanium C++ ABI 2.9.5p5:
3541 // The Itanium ABI specifies that type_info objects must be globally
3597 /// inheritance, according to the Itanium C++ ABI, 2.95p6b.
3599 // Itanium C++ ABI 2.9.5p6b:
3669 /// constraints, according ti the Itanium C++ ABI, 2.9.5p5c.
3674 // Itanium C++ ABI 2.9.5p6c:
3681 // Itanium C++ ABI 2.9.5p6c:
3691 // Itanium C++ ABI 2.9.5p6c:
3767 // Itanium C++ ABI 2.9.5p7:
3786 // Itanium C++ ABI 2.9.5p7:
3795 // Itanium C++ ABI 2.9.5p7:
3809 // Itanium C++ ABI 2.9.5p7:
3822 // Itanium C++ ABI 2.9.5p7:
3829 // Itanium C++ ABI 2.9.5p9:
4149 // the language/ABI contract here: we can't use Exn because it