mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 22:35:24 +00:00
compiler: Updates for LLVM/Clang 20 API changes.
This commit is contained in:
parent
156ab87500
commit
8ea2e1ded5
@ -112,13 +112,16 @@ pub const APFloatBaseSemantics = enum(c_int) {
|
||||
IEEEdouble,
|
||||
IEEEquad,
|
||||
PPCDoubleDouble,
|
||||
PPCDoubleDoubleLegacy,
|
||||
Float8E5M2,
|
||||
Float8E5M2FNUZ,
|
||||
Float8E4M3,
|
||||
Float8E4M3FN,
|
||||
Float8E4M3FNUZ,
|
||||
Float8E4M3B11FNUZ,
|
||||
Float8E3M4,
|
||||
FloatTF32,
|
||||
Float8E8M0FNU,
|
||||
Float6E3M2FN,
|
||||
Float6E2M3FN,
|
||||
Float4E2M1FN,
|
||||
@ -1166,6 +1169,7 @@ pub const TypeClass = enum(c_int) {
|
||||
Elaborated,
|
||||
FunctionNoProto,
|
||||
FunctionProto,
|
||||
HLSLAttributedResource,
|
||||
InjectedClassName,
|
||||
MacroQualified,
|
||||
ConstantMatrix,
|
||||
@ -1225,6 +1229,7 @@ const StmtClass = enum(c_int) {
|
||||
PackExpansionExprClass,
|
||||
UnresolvedMemberExprClass,
|
||||
UnresolvedLookupExprClass,
|
||||
OpenACCAsteriskSizeExprClass,
|
||||
OpaqueValueExprClass,
|
||||
OffsetOfExprClass,
|
||||
ObjCSubscriptRefExprClass,
|
||||
@ -1255,6 +1260,7 @@ const StmtClass = enum(c_int) {
|
||||
InitListExprClass,
|
||||
ImplicitValueInitExprClass,
|
||||
ImaginaryLiteralClass,
|
||||
HLSLOutArgExprClass,
|
||||
GenericSelectionExprClass,
|
||||
GNUNullExprClass,
|
||||
FunctionParmPackExprClass,
|
||||
@ -1332,13 +1338,24 @@ const StmtClass = enum(c_int) {
|
||||
SwitchStmtClass,
|
||||
DefaultStmtClass,
|
||||
CaseStmtClass,
|
||||
SYCLKernelCallStmtClass,
|
||||
SEHTryStmtClass,
|
||||
SEHLeaveStmtClass,
|
||||
SEHFinallyStmtClass,
|
||||
SEHExceptStmtClass,
|
||||
ReturnStmtClass,
|
||||
OpenACCWaitConstructClass,
|
||||
OpenACCUpdateConstructClass,
|
||||
OpenACCShutdownConstructClass,
|
||||
OpenACCSetConstructClass,
|
||||
OpenACCInitConstructClass,
|
||||
OpenACCExitDataConstructClass,
|
||||
OpenACCEnterDataConstructClass,
|
||||
OpenACCLoopConstructClass,
|
||||
OpenACCHostDataConstructClass,
|
||||
OpenACCDataConstructClass,
|
||||
OpenACCComputeConstructClass,
|
||||
OpenACCCombinedConstructClass,
|
||||
ObjCForCollectionStmtClass,
|
||||
ObjCAutoreleasePoolStmtClass,
|
||||
ObjCAtTryStmtClass,
|
||||
@ -1420,6 +1437,7 @@ const StmtClass = enum(c_int) {
|
||||
OMPCancelDirectiveClass,
|
||||
OMPBarrierDirectiveClass,
|
||||
OMPAtomicDirectiveClass,
|
||||
OMPAssumeDirectiveClass,
|
||||
OMPCanonicalLoopClass,
|
||||
NullStmtClass,
|
||||
MSDependentExistsStmtClass,
|
||||
@ -1514,6 +1532,7 @@ pub const DeclKind = enum(c_int) {
|
||||
TranslationUnit,
|
||||
TopLevelStmt,
|
||||
RequiresExprBody,
|
||||
OutlinedFunction,
|
||||
LinkageSpec,
|
||||
ExternCContext,
|
||||
Export,
|
||||
@ -1660,6 +1679,7 @@ pub const BuiltinTypeKind = enum(c_int) {
|
||||
SveFloat32,
|
||||
SveFloat64,
|
||||
SveBFloat16,
|
||||
SveMFloat8,
|
||||
SveInt8x2,
|
||||
SveInt16x2,
|
||||
SveInt32x2,
|
||||
@ -1672,6 +1692,7 @@ pub const BuiltinTypeKind = enum(c_int) {
|
||||
SveFloat32x2,
|
||||
SveFloat64x2,
|
||||
SveBFloat16x2,
|
||||
SveMFloat8x2,
|
||||
SveInt8x3,
|
||||
SveInt16x3,
|
||||
SveInt32x3,
|
||||
@ -1684,6 +1705,7 @@ pub const BuiltinTypeKind = enum(c_int) {
|
||||
SveFloat32x3,
|
||||
SveFloat64x3,
|
||||
SveBFloat16x3,
|
||||
SveMFloat8x3,
|
||||
SveInt8x4,
|
||||
SveInt16x4,
|
||||
SveInt32x4,
|
||||
@ -1696,10 +1718,12 @@ pub const BuiltinTypeKind = enum(c_int) {
|
||||
SveFloat32x4,
|
||||
SveFloat64x4,
|
||||
SveBFloat16x4,
|
||||
SveMFloat8x4,
|
||||
SveBool,
|
||||
SveBoolx2,
|
||||
SveBoolx4,
|
||||
SveCount,
|
||||
MFloat8,
|
||||
VectorQuad,
|
||||
VectorPair,
|
||||
RvvInt8mf8,
|
||||
@ -2027,6 +2051,8 @@ pub const BuiltinTypeKind = enum(c_int) {
|
||||
RvvBFloat16m4x2,
|
||||
WasmExternRef,
|
||||
AMDGPUBufferRsrc,
|
||||
AMDGPUNamedWorkgroupBarrier,
|
||||
HLSLResource,
|
||||
Void,
|
||||
Bool,
|
||||
Char_U,
|
||||
|
||||
@ -1053,7 +1053,11 @@ pub const Object = struct {
|
||||
.is_small = options.is_small,
|
||||
.time_report = options.time_report,
|
||||
.tsan = options.sanitize_thread,
|
||||
.lto = options.lto != .none,
|
||||
.lto = switch (options.lto) {
|
||||
.none => .None,
|
||||
.thin => .ThinPreLink,
|
||||
.full => .FullPreLink,
|
||||
},
|
||||
// https://github.com/ziglang/zig/issues/21215
|
||||
.allow_fast_isel = !comp.root_mod.resolved_target.result.cpu.arch.isMIPS(),
|
||||
.asm_filename = null,
|
||||
|
||||
@ -90,7 +90,7 @@ pub const TargetMachine = opaque {
|
||||
time_report: bool,
|
||||
tsan: bool,
|
||||
sancov: bool,
|
||||
lto: bool,
|
||||
lto: LtoPhase,
|
||||
allow_fast_isel: bool,
|
||||
asm_filename: ?[*:0]const u8,
|
||||
bin_filename: ?[*:0]const u8,
|
||||
@ -98,6 +98,14 @@ pub const TargetMachine = opaque {
|
||||
bitcode_filename: ?[*:0]const u8,
|
||||
coverage: Coverage,
|
||||
|
||||
pub const LtoPhase = enum(c_int) {
|
||||
None,
|
||||
ThinPreLink,
|
||||
ThinPostLink,
|
||||
FullPreLink,
|
||||
FullPostLink,
|
||||
};
|
||||
|
||||
pub const Coverage = extern struct {
|
||||
CoverageType: Coverage.Type,
|
||||
IndirectCalls: bool,
|
||||
|
||||
@ -329,6 +329,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
|
||||
case clang::Type::TemplateSpecialization:
|
||||
case clang::Type::Auto:
|
||||
case clang::Type::DeducedTemplateSpecialization:
|
||||
case clang::Type::HLSLAttributedResource:
|
||||
case clang::Type::InjectedClassName:
|
||||
case clang::Type::DependentName:
|
||||
case clang::Type::DependentTemplateSpecialization:
|
||||
@ -371,6 +372,7 @@ static_assert((clang::Type::TypeClass)ZigClangType_DependentVector == clang::Typ
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Elaborated == clang::Type::Elaborated, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_FunctionNoProto == clang::Type::FunctionNoProto, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_FunctionProto == clang::Type::FunctionProto, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_HLSLAttributedResource == clang::Type::HLSLAttributedResource, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_InjectedClassName == clang::Type::InjectedClassName, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_MacroQualified == clang::Type::MacroQualified, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ConstantMatrix == clang::Type::ConstantMatrix, "");
|
||||
@ -431,6 +433,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
|
||||
case clang::Stmt::PackExpansionExprClass:
|
||||
case clang::Stmt::UnresolvedMemberExprClass:
|
||||
case clang::Stmt::UnresolvedLookupExprClass:
|
||||
case clang::Stmt::OpenACCAsteriskSizeExprClass:
|
||||
case clang::Stmt::OpaqueValueExprClass:
|
||||
case clang::Stmt::OffsetOfExprClass:
|
||||
case clang::Stmt::ObjCSubscriptRefExprClass:
|
||||
@ -461,6 +464,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
|
||||
case clang::Stmt::InitListExprClass:
|
||||
case clang::Stmt::ImplicitValueInitExprClass:
|
||||
case clang::Stmt::ImaginaryLiteralClass:
|
||||
case clang::Stmt::HLSLOutArgExprClass:
|
||||
case clang::Stmt::GenericSelectionExprClass:
|
||||
case clang::Stmt::GNUNullExprClass:
|
||||
case clang::Stmt::FunctionParmPackExprClass:
|
||||
@ -538,13 +542,24 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
|
||||
case clang::Stmt::SwitchStmtClass:
|
||||
case clang::Stmt::DefaultStmtClass:
|
||||
case clang::Stmt::CaseStmtClass:
|
||||
case clang::Stmt::SYCLKernelCallStmtClass:
|
||||
case clang::Stmt::SEHTryStmtClass:
|
||||
case clang::Stmt::SEHLeaveStmtClass:
|
||||
case clang::Stmt::SEHFinallyStmtClass:
|
||||
case clang::Stmt::SEHExceptStmtClass:
|
||||
case clang::Stmt::ReturnStmtClass:
|
||||
case clang::Stmt::OpenACCWaitConstructClass:
|
||||
case clang::Stmt::OpenACCUpdateConstructClass:
|
||||
case clang::Stmt::OpenACCShutdownConstructClass:
|
||||
case clang::Stmt::OpenACCSetConstructClass:
|
||||
case clang::Stmt::OpenACCInitConstructClass:
|
||||
case clang::Stmt::OpenACCExitDataConstructClass:
|
||||
case clang::Stmt::OpenACCEnterDataConstructClass:
|
||||
case clang::Stmt::OpenACCLoopConstructClass:
|
||||
case clang::Stmt::OpenACCHostDataConstructClass:
|
||||
case clang::Stmt::OpenACCDataConstructClass:
|
||||
case clang::Stmt::OpenACCComputeConstructClass:
|
||||
case clang::Stmt::OpenACCCombinedConstructClass:
|
||||
case clang::Stmt::ObjCForCollectionStmtClass:
|
||||
case clang::Stmt::ObjCAutoreleasePoolStmtClass:
|
||||
case clang::Stmt::ObjCAtTryStmtClass:
|
||||
@ -626,6 +641,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
|
||||
case clang::Stmt::OMPCancelDirectiveClass:
|
||||
case clang::Stmt::OMPBarrierDirectiveClass:
|
||||
case clang::Stmt::OMPAtomicDirectiveClass:
|
||||
case clang::Stmt::OMPAssumeDirectiveClass:
|
||||
case clang::Stmt::OMPCanonicalLoopClass:
|
||||
case clang::Stmt::NullStmtClass:
|
||||
case clang::Stmt::MSDependentExistsStmtClass:
|
||||
@ -676,6 +692,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackIndexingExprClass == clan
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackExpansionExprClass == clang::Stmt::PackExpansionExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedMemberExprClass == clang::Stmt::UnresolvedMemberExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedLookupExprClass == clang::Stmt::UnresolvedLookupExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCAsteriskSizeExprClass == clang::Stmt::OpenACCAsteriskSizeExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpaqueValueExprClass == clang::Stmt::OpaqueValueExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OffsetOfExprClass == clang::Stmt::OffsetOfExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCSubscriptRefExprClass == clang::Stmt::ObjCSubscriptRefExprClass, "");
|
||||
@ -706,6 +723,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_IntegerLiteralClass == clang:
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_InitListExprClass == clang::Stmt::InitListExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImplicitValueInitExprClass == clang::Stmt::ImplicitValueInitExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImaginaryLiteralClass == clang::Stmt::ImaginaryLiteralClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_HLSLOutArgExprClass == clang::Stmt::HLSLOutArgExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_GenericSelectionExprClass == clang::Stmt::GenericSelectionExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_GNUNullExprClass == clang::Stmt::GNUNullExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_FunctionParmPackExprClass == clang::Stmt::FunctionParmPackExprClass, "");
|
||||
@ -783,13 +801,24 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_AttributedStmtClass == clang:
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_SwitchStmtClass == clang::Stmt::SwitchStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_DefaultStmtClass == clang::Stmt::DefaultStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CaseStmtClass == clang::Stmt::CaseStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_SYCLKernelCallStmtClass == clang::Stmt::SYCLKernelCallStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHTryStmtClass == clang::Stmt::SEHTryStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHLeaveStmtClass == clang::Stmt::SEHLeaveStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHFinallyStmtClass == clang::Stmt::SEHFinallyStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHExceptStmtClass == clang::Stmt::SEHExceptStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ReturnStmtClass == clang::Stmt::ReturnStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCWaitConstructClass == clang::Stmt::OpenACCWaitConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCUpdateConstructClass == clang::Stmt::OpenACCUpdateConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCShutdownConstructClass == clang::Stmt::OpenACCShutdownConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCSetConstructClass == clang::Stmt::OpenACCSetConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCInitConstructClass == clang::Stmt::OpenACCInitConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCExitDataConstructClass == clang::Stmt::OpenACCExitDataConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCEnterDataConstructClass == clang::Stmt::OpenACCEnterDataConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCLoopConstructClass == clang::Stmt::OpenACCLoopConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCHostDataConstructClass == clang::Stmt::OpenACCHostDataConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCDataConstructClass == clang::Stmt::OpenACCDataConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCComputeConstructClass == clang::Stmt::OpenACCComputeConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpenACCCombinedConstructClass == clang::Stmt::OpenACCCombinedConstructClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCForCollectionStmtClass == clang::Stmt::ObjCForCollectionStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAutoreleasePoolStmtClass == clang::Stmt::ObjCAutoreleasePoolStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtTryStmtClass == clang::Stmt::ObjCAtTryStmtClass, "");
|
||||
@ -871,6 +900,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancellationPointDirective
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancelDirectiveClass == clang::Stmt::OMPCancelDirectiveClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPBarrierDirectiveClass == clang::Stmt::OMPBarrierDirectiveClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPAtomicDirectiveClass == clang::Stmt::OMPAtomicDirectiveClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPAssumeDirectiveClass == clang::Stmt::OMPAssumeDirectiveClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCanonicalLoopClass == clang::Stmt::OMPCanonicalLoopClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_NullStmtClass == clang::Stmt::NullStmtClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSDependentExistsStmtClass == clang::Stmt::MSDependentExistsStmtClass, "");
|
||||
@ -932,6 +962,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
|
||||
switch (x) {
|
||||
case clang::Decl::TranslationUnit:
|
||||
case clang::Decl::RequiresExprBody:
|
||||
case clang::Decl::OutlinedFunction:
|
||||
case clang::Decl::LinkageSpec:
|
||||
case clang::Decl::ExternCContext:
|
||||
case clang::Decl::Export:
|
||||
@ -1023,6 +1054,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclTranslationUnit == clang::Decl::TranslationUnit, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclTopLevelStmt == clang::Decl::TopLevelStmt, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclRequiresExprBody == clang::Decl::RequiresExprBody, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclOutlinedFunction == clang::Decl::OutlinedFunction, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclLinkageSpec == clang::Decl::LinkageSpec, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclExternCContext == clang::Decl::ExternCContext, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclExport == clang::Decl::Export, "");
|
||||
@ -1169,6 +1201,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
|
||||
case clang::BuiltinType::SveFloat32:
|
||||
case clang::BuiltinType::SveFloat64:
|
||||
case clang::BuiltinType::SveBFloat16:
|
||||
case clang::BuiltinType::SveMFloat8:
|
||||
case clang::BuiltinType::SveInt8x2:
|
||||
case clang::BuiltinType::SveInt16x2:
|
||||
case clang::BuiltinType::SveInt32x2:
|
||||
@ -1181,6 +1214,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
|
||||
case clang::BuiltinType::SveFloat32x2:
|
||||
case clang::BuiltinType::SveFloat64x2:
|
||||
case clang::BuiltinType::SveBFloat16x2:
|
||||
case clang::BuiltinType::SveMFloat8x2:
|
||||
case clang::BuiltinType::SveInt8x3:
|
||||
case clang::BuiltinType::SveInt16x3:
|
||||
case clang::BuiltinType::SveInt32x3:
|
||||
@ -1193,6 +1227,7 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
|
||||
case clang::BuiltinType::SveFloat32x3:
|
||||
case clang::BuiltinType::SveFloat64x3:
|
||||
case clang::BuiltinType::SveBFloat16x3:
|
||||
case clang::BuiltinType::SveMFloat8x3:
|
||||
case clang::BuiltinType::SveInt8x4:
|
||||
case clang::BuiltinType::SveInt16x4:
|
||||
case clang::BuiltinType::SveInt32x4:
|
||||
@ -1205,10 +1240,12 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
|
||||
case clang::BuiltinType::SveFloat32x4:
|
||||
case clang::BuiltinType::SveFloat64x4:
|
||||
case clang::BuiltinType::SveBFloat16x4:
|
||||
case clang::BuiltinType::SveMFloat8x4:
|
||||
case clang::BuiltinType::SveBool:
|
||||
case clang::BuiltinType::SveBoolx2:
|
||||
case clang::BuiltinType::SveBoolx4:
|
||||
case clang::BuiltinType::SveCount:
|
||||
case clang::BuiltinType::MFloat8:
|
||||
case clang::BuiltinType::VectorQuad:
|
||||
case clang::BuiltinType::VectorPair:
|
||||
case clang::BuiltinType::RvvInt8mf8:
|
||||
@ -1536,6 +1573,8 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
|
||||
case clang::BuiltinType::RvvBFloat16m4x2:
|
||||
case clang::BuiltinType::WasmExternRef:
|
||||
case clang::BuiltinType::AMDGPUBufferRsrc:
|
||||
case clang::BuiltinType::AMDGPUNamedWorkgroupBarrier:
|
||||
case clang::BuiltinType::HLSLResource:
|
||||
case clang::BuiltinType::Void:
|
||||
case clang::BuiltinType::Bool:
|
||||
case clang::BuiltinType::Char_U:
|
||||
@ -1674,6 +1713,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16 == clang::
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32 == clang::BuiltinType::SveFloat32, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64 == clang::BuiltinType::SveFloat64, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16 == clang::BuiltinType::SveBFloat16, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveMFloat8 == clang::BuiltinType::SveMFloat8, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x2 == clang::BuiltinType::SveInt8x2, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x2 == clang::BuiltinType::SveInt16x2, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x2 == clang::BuiltinType::SveInt32x2, "");
|
||||
@ -1686,6 +1726,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x2 == clang
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x2 == clang::BuiltinType::SveFloat32x2, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x2 == clang::BuiltinType::SveFloat64x2, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x2 == clang::BuiltinType::SveBFloat16x2, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveMFloat8x2 == clang::BuiltinType::SveMFloat8x2, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x3 == clang::BuiltinType::SveInt8x3, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x3 == clang::BuiltinType::SveInt16x3, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x3 == clang::BuiltinType::SveInt32x3, "");
|
||||
@ -1698,6 +1739,7 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x3 == clang
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x3 == clang::BuiltinType::SveFloat32x3, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x3 == clang::BuiltinType::SveFloat64x3, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x3 == clang::BuiltinType::SveBFloat16x3, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveMFloat8x3 == clang::BuiltinType::SveMFloat8x3, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8x4 == clang::BuiltinType::SveInt8x4, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16x4 == clang::BuiltinType::SveInt16x4, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32x4 == clang::BuiltinType::SveInt32x4, "");
|
||||
@ -1710,10 +1752,12 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16x4 == clang
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x4 == clang::BuiltinType::SveFloat32x4, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x4 == clang::BuiltinType::SveFloat64x4, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x4 == clang::BuiltinType::SveBFloat16x4, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveMFloat8x4 == clang::BuiltinType::SveMFloat8x4, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBoolx2 == clang::BuiltinType::SveBoolx2, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBoolx4 == clang::BuiltinType::SveBoolx4, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveCount == clang::BuiltinType::SveCount, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeMFloat8 == clang::BuiltinType::MFloat8, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorQuad == clang::BuiltinType::VectorQuad, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorPair == clang::BuiltinType::VectorPair, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvInt8mf8 == clang::BuiltinType::RvvInt8mf8, "");
|
||||
@ -2041,6 +2085,8 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m2x4 == cl
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeRvvBFloat16m4x2 == clang::BuiltinType::RvvBFloat16m4x2, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeWasmExternRef == clang::BuiltinType::WasmExternRef, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeAMDGPUBufferRsrc == clang::BuiltinType::AMDGPUBufferRsrc, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeAMDGPUNamedWorkgroupBarrier == clang::BuiltinType::AMDGPUNamedWorkgroupBarrier, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeHLSLResource == clang::BuiltinType::HLSLResource, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, "");
|
||||
@ -3074,7 +3120,8 @@ ZigClangAPValueLValueBase ZigClangAPValue_getLValueBase(const ZigClangAPValue *s
|
||||
ZigClangASTUnit *ZigClangLoadFromCommandLine(const char **args_begin, const char **args_end,
|
||||
struct Stage2ErrorMsg **errors_ptr, size_t *errors_len, const char *resources_path)
|
||||
{
|
||||
clang::IntrusiveRefCntPtr<clang::DiagnosticsEngine> diags(clang::CompilerInstance::createDiagnostics(new clang::DiagnosticOptions));
|
||||
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS = llvm::vfs::getRealFileSystem();
|
||||
clang::IntrusiveRefCntPtr<clang::DiagnosticsEngine> diags(clang::CompilerInstance::createDiagnostics(*VFS, new clang::DiagnosticOptions));
|
||||
|
||||
std::shared_ptr<clang::PCHContainerOperations> pch_container_ops = std::make_shared<clang::PCHContainerOperations>();
|
||||
|
||||
@ -3088,7 +3135,6 @@ ZigClangASTUnit *ZigClangLoadFromCommandLine(const char **args_begin, const char
|
||||
llvm::StringRef preamble_storage_path = llvm::StringRef();
|
||||
clang::ArrayRef<clang::ASTUnit::RemappedFile> remapped_files = std::nullopt;
|
||||
std::unique_ptr<clang::ASTUnit> err_unit;
|
||||
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS = nullptr;
|
||||
std::optional<llvm::StringRef> ModuleFormat = std::nullopt;
|
||||
std::unique_ptr<clang::ASTUnit> ast_unit_unique_ptr = clang::ASTUnit::LoadFromCommandLine(
|
||||
args_begin, args_end,
|
||||
@ -4112,13 +4158,16 @@ static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEsi
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEdouble == llvm::APFloatBase::S_IEEEdouble);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_IEEEquad == llvm::APFloatBase::S_IEEEquad);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_PPCDoubleDouble == llvm::APFloatBase::S_PPCDoubleDouble);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_PPCDoubleDoubleLegacy == llvm::APFloatBase::S_PPCDoubleDoubleLegacy);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2 == llvm::APFloatBase::S_Float8E5M2);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ == llvm::APFloatBase::S_Float8E5M2FNUZ);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3 == llvm::APFloatBase::S_Float8E4M3);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FN == llvm::APFloatBase::S_Float8E4M3FN);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ == llvm::APFloatBase::S_Float8E4M3FNUZ);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ == llvm::APFloatBase::S_Float8E4M3B11FNUZ);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E3M4 == llvm::APFloatBase::S_Float8E3M4);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_FloatTF32 == llvm::APFloatBase::S_FloatTF32);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float8E8M0FNU == llvm::APFloatBase::S_Float8E8M0FNU);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float6E3M2FN == llvm::APFloatBase::S_Float6E3M2FN);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float6E2M3FN == llvm::APFloatBase::S_Float6E2M3FN);
|
||||
static_assert((llvm::APFloatBase::Semantics)ZigClangAPFloatBase_Semantics_Float4E2M1FN == llvm::APFloatBase::S_Float4E2M1FN);
|
||||
|
||||
@ -75,7 +75,7 @@ struct ZigClangAPValue {
|
||||
#elif defined(__i386__)
|
||||
char Data[48];
|
||||
#else
|
||||
char Data[68];
|
||||
char Data[52];
|
||||
#endif
|
||||
};
|
||||
|
||||
@ -271,6 +271,7 @@ enum ZigClangTypeClass {
|
||||
ZigClangType_Elaborated,
|
||||
ZigClangType_FunctionNoProto,
|
||||
ZigClangType_FunctionProto,
|
||||
ZigClangType_HLSLAttributedResource,
|
||||
ZigClangType_InjectedClassName,
|
||||
ZigClangType_MacroQualified,
|
||||
ZigClangType_ConstantMatrix,
|
||||
@ -330,6 +331,7 @@ enum ZigClangStmtClass {
|
||||
ZigClangStmt_PackExpansionExprClass,
|
||||
ZigClangStmt_UnresolvedMemberExprClass,
|
||||
ZigClangStmt_UnresolvedLookupExprClass,
|
||||
ZigClangStmt_OpenACCAsteriskSizeExprClass,
|
||||
ZigClangStmt_OpaqueValueExprClass,
|
||||
ZigClangStmt_OffsetOfExprClass,
|
||||
ZigClangStmt_ObjCSubscriptRefExprClass,
|
||||
@ -360,6 +362,7 @@ enum ZigClangStmtClass {
|
||||
ZigClangStmt_InitListExprClass,
|
||||
ZigClangStmt_ImplicitValueInitExprClass,
|
||||
ZigClangStmt_ImaginaryLiteralClass,
|
||||
ZigClangStmt_HLSLOutArgExprClass,
|
||||
ZigClangStmt_GenericSelectionExprClass,
|
||||
ZigClangStmt_GNUNullExprClass,
|
||||
ZigClangStmt_FunctionParmPackExprClass,
|
||||
@ -437,13 +440,24 @@ enum ZigClangStmtClass {
|
||||
ZigClangStmt_SwitchStmtClass,
|
||||
ZigClangStmt_DefaultStmtClass,
|
||||
ZigClangStmt_CaseStmtClass,
|
||||
ZigClangStmt_SYCLKernelCallStmtClass,
|
||||
ZigClangStmt_SEHTryStmtClass,
|
||||
ZigClangStmt_SEHLeaveStmtClass,
|
||||
ZigClangStmt_SEHFinallyStmtClass,
|
||||
ZigClangStmt_SEHExceptStmtClass,
|
||||
ZigClangStmt_ReturnStmtClass,
|
||||
ZigClangStmt_OpenACCWaitConstructClass,
|
||||
ZigClangStmt_OpenACCUpdateConstructClass,
|
||||
ZigClangStmt_OpenACCShutdownConstructClass,
|
||||
ZigClangStmt_OpenACCSetConstructClass,
|
||||
ZigClangStmt_OpenACCInitConstructClass,
|
||||
ZigClangStmt_OpenACCExitDataConstructClass,
|
||||
ZigClangStmt_OpenACCEnterDataConstructClass,
|
||||
ZigClangStmt_OpenACCLoopConstructClass,
|
||||
ZigClangStmt_OpenACCHostDataConstructClass,
|
||||
ZigClangStmt_OpenACCDataConstructClass,
|
||||
ZigClangStmt_OpenACCComputeConstructClass,
|
||||
ZigClangStmt_OpenACCCombinedConstructClass,
|
||||
ZigClangStmt_ObjCForCollectionStmtClass,
|
||||
ZigClangStmt_ObjCAutoreleasePoolStmtClass,
|
||||
ZigClangStmt_ObjCAtTryStmtClass,
|
||||
@ -525,6 +539,7 @@ enum ZigClangStmtClass {
|
||||
ZigClangStmt_OMPCancelDirectiveClass,
|
||||
ZigClangStmt_OMPBarrierDirectiveClass,
|
||||
ZigClangStmt_OMPAtomicDirectiveClass,
|
||||
ZigClangStmt_OMPAssumeDirectiveClass,
|
||||
ZigClangStmt_OMPCanonicalLoopClass,
|
||||
ZigClangStmt_NullStmtClass,
|
||||
ZigClangStmt_MSDependentExistsStmtClass,
|
||||
@ -619,6 +634,7 @@ enum ZigClangDeclKind {
|
||||
ZigClangDeclTranslationUnit,
|
||||
ZigClangDeclTopLevelStmt,
|
||||
ZigClangDeclRequiresExprBody,
|
||||
ZigClangDeclOutlinedFunction,
|
||||
ZigClangDeclLinkageSpec,
|
||||
ZigClangDeclExternCContext,
|
||||
ZigClangDeclExport,
|
||||
@ -765,6 +781,7 @@ enum ZigClangBuiltinTypeKind {
|
||||
ZigClangBuiltinTypeSveFloat32,
|
||||
ZigClangBuiltinTypeSveFloat64,
|
||||
ZigClangBuiltinTypeSveBFloat16,
|
||||
ZigClangBuiltinTypeSveMFloat8,
|
||||
ZigClangBuiltinTypeSveInt8x2,
|
||||
ZigClangBuiltinTypeSveInt16x2,
|
||||
ZigClangBuiltinTypeSveInt32x2,
|
||||
@ -777,6 +794,7 @@ enum ZigClangBuiltinTypeKind {
|
||||
ZigClangBuiltinTypeSveFloat32x2,
|
||||
ZigClangBuiltinTypeSveFloat64x2,
|
||||
ZigClangBuiltinTypeSveBFloat16x2,
|
||||
ZigClangBuiltinTypeSveMFloat8x2,
|
||||
ZigClangBuiltinTypeSveInt8x3,
|
||||
ZigClangBuiltinTypeSveInt16x3,
|
||||
ZigClangBuiltinTypeSveInt32x3,
|
||||
@ -789,6 +807,7 @@ enum ZigClangBuiltinTypeKind {
|
||||
ZigClangBuiltinTypeSveFloat32x3,
|
||||
ZigClangBuiltinTypeSveFloat64x3,
|
||||
ZigClangBuiltinTypeSveBFloat16x3,
|
||||
ZigClangBuiltinTypeSveMFloat8x3,
|
||||
ZigClangBuiltinTypeSveInt8x4,
|
||||
ZigClangBuiltinTypeSveInt16x4,
|
||||
ZigClangBuiltinTypeSveInt32x4,
|
||||
@ -801,10 +820,12 @@ enum ZigClangBuiltinTypeKind {
|
||||
ZigClangBuiltinTypeSveFloat32x4,
|
||||
ZigClangBuiltinTypeSveFloat64x4,
|
||||
ZigClangBuiltinTypeSveBFloat16x4,
|
||||
ZigClangBuiltinTypeSveMFloat8x4,
|
||||
ZigClangBuiltinTypeSveBool,
|
||||
ZigClangBuiltinTypeSveBoolx2,
|
||||
ZigClangBuiltinTypeSveBoolx4,
|
||||
ZigClangBuiltinTypeSveCount,
|
||||
ZigClangBuiltinTypeMFloat8,
|
||||
ZigClangBuiltinTypeVectorQuad,
|
||||
ZigClangBuiltinTypeVectorPair,
|
||||
ZigClangBuiltinTypeRvvInt8mf8,
|
||||
@ -1132,6 +1153,8 @@ enum ZigClangBuiltinTypeKind {
|
||||
ZigClangBuiltinTypeRvvBFloat16m4x2,
|
||||
ZigClangBuiltinTypeWasmExternRef,
|
||||
ZigClangBuiltinTypeAMDGPUBufferRsrc,
|
||||
ZigClangBuiltinTypeAMDGPUNamedWorkgroupBarrier,
|
||||
ZigClangBuiltinTypeHLSLResource,
|
||||
ZigClangBuiltinTypeVoid,
|
||||
ZigClangBuiltinTypeBool,
|
||||
ZigClangBuiltinTypeChar_U,
|
||||
@ -1266,13 +1289,16 @@ enum ZigClangAPFloatBase_Semantics {
|
||||
ZigClangAPFloatBase_Semantics_IEEEdouble,
|
||||
ZigClangAPFloatBase_Semantics_IEEEquad,
|
||||
ZigClangAPFloatBase_Semantics_PPCDoubleDouble,
|
||||
ZigClangAPFloatBase_Semantics_PPCDoubleDoubleLegacy,
|
||||
ZigClangAPFloatBase_Semantics_Float8E5M2,
|
||||
ZigClangAPFloatBase_Semantics_Float8E5M2FNUZ,
|
||||
ZigClangAPFloatBase_Semantics_Float8E4M3,
|
||||
ZigClangAPFloatBase_Semantics_Float8E4M3FN,
|
||||
ZigClangAPFloatBase_Semantics_Float8E4M3FNUZ,
|
||||
ZigClangAPFloatBase_Semantics_Float8E4M3B11FNUZ,
|
||||
ZigClangAPFloatBase_Semantics_Float8E3M4,
|
||||
ZigClangAPFloatBase_Semantics_FloatTF32,
|
||||
ZigClangAPFloatBase_Semantics_Float8E8M0FNU,
|
||||
ZigClangAPFloatBase_Semantics_Float6E3M2FN,
|
||||
ZigClangAPFloatBase_Semantics_Float6E2M3FN,
|
||||
ZigClangAPFloatBase_Semantics_Float4E2M1FN,
|
||||
|
||||
@ -300,7 +300,7 @@ ZIG_EXTERN_C bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machi
|
||||
pass_builder.registerLoopAnalyses(loop_am);
|
||||
pass_builder.crossRegisterProxies(loop_am, function_am, cgscc_am, module_am);
|
||||
|
||||
pass_builder.registerPipelineStartEPCallback([&](ModulePassManager &module_pm, OptimizationLevel OL) {
|
||||
pass_builder.registerPipelineStartEPCallback([&](ModulePassManager &module_pm, OptimizationLevel level) {
|
||||
// Verify the input
|
||||
if (assertions_on) {
|
||||
module_pm.addPass(VerifierPass());
|
||||
@ -313,7 +313,7 @@ ZIG_EXTERN_C bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machi
|
||||
|
||||
const bool early_san = options->is_debug;
|
||||
|
||||
pass_builder.registerOptimizerEarlyEPCallback([&](ModulePassManager &module_pm, OptimizationLevel OL) {
|
||||
pass_builder.registerOptimizerEarlyEPCallback([&](ModulePassManager &module_pm, OptimizationLevel level, ThinOrFullLTOPhase lto_phase) {
|
||||
if (early_san) {
|
||||
// Code coverage instrumentation.
|
||||
if (options->sancov) {
|
||||
@ -328,7 +328,7 @@ ZIG_EXTERN_C bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machi
|
||||
}
|
||||
});
|
||||
|
||||
pass_builder.registerOptimizerLastEPCallback([&](ModulePassManager &module_pm, OptimizationLevel level) {
|
||||
pass_builder.registerOptimizerLastEPCallback([&](ModulePassManager &module_pm, OptimizationLevel level, ThinOrFullLTOPhase lto_phase) {
|
||||
if (!early_san) {
|
||||
// Code coverage instrumentation.
|
||||
if (options->sancov) {
|
||||
@ -360,7 +360,7 @@ ZIG_EXTERN_C bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machi
|
||||
|
||||
// Initialize the PassManager
|
||||
if (opt_level == OptimizationLevel::O0) {
|
||||
module_pm = pass_builder.buildO0DefaultPipeline(opt_level, options->lto);
|
||||
module_pm = pass_builder.buildO0DefaultPipeline(opt_level, static_cast<ThinOrFullLTOPhase>(options->lto));
|
||||
} else if (options->lto) {
|
||||
module_pm = pass_builder.buildLTOPreLinkDefaultPipeline(opt_level);
|
||||
} else {
|
||||
|
||||
@ -53,13 +53,23 @@ struct ZigLLVMCoverageOptions {
|
||||
bool CollectControlFlow;
|
||||
};
|
||||
|
||||
// synchronize with llvm/include/Pass.h::ThinOrFullLTOPhase
|
||||
// synchronize with codegen/llvm/bindings.zig::EmitOptions::LtoPhase
|
||||
enum ZigLLVMThinOrFullLTOPhase {
|
||||
ZigLLVMThinOrFullLTOPhase_None,
|
||||
ZigLLVMThinOrFullLTOPhase_ThinPreLink,
|
||||
ZigLLVMThinOrFullLTOPhase_ThinkPostLink,
|
||||
ZigLLVMThinOrFullLTOPhase_FullPreLink,
|
||||
ZigLLVMThinOrFullLTOPhase_FullPostLink,
|
||||
};
|
||||
|
||||
struct ZigLLVMEmitOptions {
|
||||
bool is_debug;
|
||||
bool is_small;
|
||||
bool time_report;
|
||||
bool tsan;
|
||||
bool sancov;
|
||||
bool lto;
|
||||
ZigLLVMThinOrFullLTOPhase lto;
|
||||
bool allow_fast_isel;
|
||||
const char *asm_filename;
|
||||
const char *bin_filename;
|
||||
|
||||
@ -1061,28 +1061,28 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
|
||||
\\ VAL23 = 0xFFFFFFFFFFFFFFFF,
|
||||
\\};
|
||||
, &[_][]const u8{
|
||||
\\pub const VAL01: c_int = 0;
|
||||
\\pub const VAL02: c_int = 1;
|
||||
\\pub const VAL03: c_int = 2;
|
||||
\\pub const VAL04: c_int = 3;
|
||||
\\pub const VAL05: c_int = -1;
|
||||
\\pub const VAL06: c_int = -2;
|
||||
\\pub const VAL07: c_int = -3;
|
||||
\\pub const VAL08: c_int = -4;
|
||||
\\pub const VAL09: c_int = -3;
|
||||
\\pub const VAL10: c_int = -1000012000;
|
||||
\\pub const VAL11: c_int = -1000161000;
|
||||
\\pub const VAL12: c_int = -1000174001;
|
||||
\\pub const VAL13: c_int = -3;
|
||||
\\pub const VAL14: c_int = -1000012000;
|
||||
\\pub const VAL15: c_int = -1000161000;
|
||||
\\pub const VAL16: c_int = -3;
|
||||
\\pub const VAL17: c_int = 1000011998;
|
||||
\\pub const VAL01: c_longlong = 0;
|
||||
\\pub const VAL02: c_longlong = 1;
|
||||
\\pub const VAL03: c_longlong = 2;
|
||||
\\pub const VAL04: c_longlong = 3;
|
||||
\\pub const VAL05: c_longlong = -1;
|
||||
\\pub const VAL06: c_longlong = -2;
|
||||
\\pub const VAL07: c_longlong = -3;
|
||||
\\pub const VAL08: c_longlong = -4;
|
||||
\\pub const VAL09: c_longlong = -3;
|
||||
\\pub const VAL10: c_longlong = -1000012000;
|
||||
\\pub const VAL11: c_longlong = -1000161000;
|
||||
\\pub const VAL12: c_longlong = -1000174001;
|
||||
\\pub const VAL13: c_longlong = -3;
|
||||
\\pub const VAL14: c_longlong = -1000012000;
|
||||
\\pub const VAL15: c_longlong = -1000161000;
|
||||
\\pub const VAL16: c_longlong = -3;
|
||||
\\pub const VAL17: c_longlong = 1000011998;
|
||||
\\pub const VAL18: c_longlong = 1152921504606846976;
|
||||
\\pub const VAL19: c_longlong = 3458764513820540927;
|
||||
\\pub const VAL20: c_longlong = 6917529027641081854;
|
||||
\\pub const VAL21: c_longlong = 6917529027641081853;
|
||||
\\pub const VAL22: c_int = 0;
|
||||
\\pub const VAL22: c_longlong = 0;
|
||||
\\pub const VAL23: c_longlong = -1;
|
||||
\\pub const enum_EnumWithInits = c_longlong;
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user