Skip to content

Commit

Permalink
[CIR][CIRGen] Flesh out CIRGenModule::Release skeleton (#1209)
Browse files Browse the repository at this point in the history
There's a lot that was missing here. Add NYIs and MissingFeatures as
appropriate, so that we can start work on matching CodeGen.
  • Loading branch information
smeenai authored Dec 6, 2024
1 parent 4a23ed0 commit 4ae9a04
Show file tree
Hide file tree
Showing 2 changed files with 371 additions and 26 deletions.
44 changes: 44 additions & 0 deletions clang/include/clang/CIR/MissingFeatures.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ struct MissingFeatures {
static bool setObjCGCLValueClass() { return false; }
static bool objCLifetime() { return false; }
static bool objCIvarDecls() { return false; }
static bool objCRuntime() { return false; }

// Debug info
static bool generateDebugInfo() { return false; }
Expand Down Expand Up @@ -328,6 +329,49 @@ struct MissingFeatures {
static bool noFPClass() { return false; }
static bool llvmIntrinsicElementTypeSupport() { return false; }

//-- Missing parts of the CIRGenModule::Release skeleton.
static bool emitModuleInitializers() { return false; }
static bool emittedDeferredDecls() { return false; }
static bool emitVTablesOpportunistically() { return false; }
static bool applyGlobalValReplacements() { return false; }
static bool emitMultiVersionFunctions() { return false; }
static bool incrementalExtensions() { return false; }
static bool emitCXXModuleInitFunc() { return false; }
static bool emitCXXGlobalCleanUpFunc() { return false; }
static bool registerGlobalDtorsWithAtExit() { return false; }
static bool emitCXXThreadLocalInitFunc() { return false; }
static bool pgoReader() { return false; }
static bool emitCtorList() { return false; }
static bool emitStaticExternCAliases() { return false; }
static bool checkAliases() { return false; }
static bool emitDeferredUnusedCoverageMappings() { return false; }
static bool cirGenPGO() { return false; }
static bool coverageMapping() { return false; }
static bool emitAtAvailableLinkGuard() { return false; }
static bool emitLLVMUsed() { return false; }
static bool sanStats() { return false; }
static bool linkerOptionsMetadata() { return false; }
static bool emitModuleLinkOptions() { return false; }
static bool elfDependentLibraries() { return false; }
static bool dwarfVersion() { return false; }
static bool wcharWidth() { return false; }
static bool enumWidth() { return false; }
static bool setPICLevel() { return false; }
static bool setPIELevel() { return false; }
static bool codeModel() { return false; }
static bool largeDataThreshold() { return false; }
static bool directAccessExternalData() { return false; }
static bool setUwtable() { return false; }
static bool setFramePointer() { return false; }
static bool simplifyPersonality() { return false; }
static bool emitVersionIdentMetadata() { return false; }
static bool emitTargetGlobals() { return false; }
static bool emitTargetMetadata() { return false; }
static bool emitBackendOptionsMetadata() { return false; }
static bool embedObject() { return false; }
static bool setVisibilityFromDLLStorageClass() { return false; }
static bool mustTailCallUndefinedGlobals() { return false; }

//-- Other missing features

// We need to track the parent record types that represent a field
Expand Down
Loading

0 comments on commit 4ae9a04

Please sign in to comment.