Skip to content

Commit 4ae9a04

Browse files
authored
[CIR][CIRGen] Flesh out CIRGenModule::Release skeleton (#1209)
There's a lot that was missing here. Add NYIs and MissingFeatures as appropriate, so that we can start work on matching CodeGen.
1 parent 4a23ed0 commit 4ae9a04

File tree

2 files changed

+371
-26
lines changed

2 files changed

+371
-26
lines changed

clang/include/clang/CIR/MissingFeatures.h

+44
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ struct MissingFeatures {
108108
static bool setObjCGCLValueClass() { return false; }
109109
static bool objCLifetime() { return false; }
110110
static bool objCIvarDecls() { return false; }
111+
static bool objCRuntime() { return false; }
111112

112113
// Debug info
113114
static bool generateDebugInfo() { return false; }
@@ -328,6 +329,49 @@ struct MissingFeatures {
328329
static bool noFPClass() { return false; }
329330
static bool llvmIntrinsicElementTypeSupport() { return false; }
330331

332+
//-- Missing parts of the CIRGenModule::Release skeleton.
333+
static bool emitModuleInitializers() { return false; }
334+
static bool emittedDeferredDecls() { return false; }
335+
static bool emitVTablesOpportunistically() { return false; }
336+
static bool applyGlobalValReplacements() { return false; }
337+
static bool emitMultiVersionFunctions() { return false; }
338+
static bool incrementalExtensions() { return false; }
339+
static bool emitCXXModuleInitFunc() { return false; }
340+
static bool emitCXXGlobalCleanUpFunc() { return false; }
341+
static bool registerGlobalDtorsWithAtExit() { return false; }
342+
static bool emitCXXThreadLocalInitFunc() { return false; }
343+
static bool pgoReader() { return false; }
344+
static bool emitCtorList() { return false; }
345+
static bool emitStaticExternCAliases() { return false; }
346+
static bool checkAliases() { return false; }
347+
static bool emitDeferredUnusedCoverageMappings() { return false; }
348+
static bool cirGenPGO() { return false; }
349+
static bool coverageMapping() { return false; }
350+
static bool emitAtAvailableLinkGuard() { return false; }
351+
static bool emitLLVMUsed() { return false; }
352+
static bool sanStats() { return false; }
353+
static bool linkerOptionsMetadata() { return false; }
354+
static bool emitModuleLinkOptions() { return false; }
355+
static bool elfDependentLibraries() { return false; }
356+
static bool dwarfVersion() { return false; }
357+
static bool wcharWidth() { return false; }
358+
static bool enumWidth() { return false; }
359+
static bool setPICLevel() { return false; }
360+
static bool setPIELevel() { return false; }
361+
static bool codeModel() { return false; }
362+
static bool largeDataThreshold() { return false; }
363+
static bool directAccessExternalData() { return false; }
364+
static bool setUwtable() { return false; }
365+
static bool setFramePointer() { return false; }
366+
static bool simplifyPersonality() { return false; }
367+
static bool emitVersionIdentMetadata() { return false; }
368+
static bool emitTargetGlobals() { return false; }
369+
static bool emitTargetMetadata() { return false; }
370+
static bool emitBackendOptionsMetadata() { return false; }
371+
static bool embedObject() { return false; }
372+
static bool setVisibilityFromDLLStorageClass() { return false; }
373+
static bool mustTailCallUndefinedGlobals() { return false; }
374+
331375
//-- Other missing features
332376

333377
// We need to track the parent record types that represent a field

0 commit comments

Comments
 (0)