Skip to content

Commit fa072bd

Browse files
authored
[CIR] Add lowering for Func, Return, Alloca, Load, and Store (#129571)
Add support for lowering recently upstreamed CIR ops to LLVM IR.
1 parent 9b16040 commit fa072bd

File tree

6 files changed

+499
-16
lines changed

6 files changed

+499
-16
lines changed

clang/include/clang/CIR/MissingFeatures.h

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,6 @@ struct MissingFeatures {
2727
// Address space related
2828
static bool addressSpace() { return false; }
2929

30-
// This isn't needed until we add support for bools.
31-
static bool convertTypeForMemory() { return false; }
32-
3330
// CIRGenFunction implementation details
3431
static bool cgfSymbolTable() { return false; }
3532

@@ -40,10 +37,14 @@ struct MissingFeatures {
4037
static bool opGlobalAlignment() { return false; }
4138
static bool opGlobalLinkage() { return false; }
4239

43-
// Load attributes
40+
// Load/store attributes
4441
static bool opLoadThreadLocal() { return false; }
4542
static bool opLoadEmitScalarRangeCheck() { return false; }
4643
static bool opLoadBooleanRepresentation() { return false; }
44+
static bool opLoadStoreTbaa() { return false; }
45+
static bool opLoadStoreMemOrder() { return false; }
46+
static bool opLoadStoreVolatile() { return false; }
47+
static bool opLoadStoreAlignment() { return false; }
4748

4849
// AllocaOp handling
4950
static bool opAllocaVarDeclContext() { return false; }
@@ -55,11 +56,23 @@ struct MissingFeatures {
5556
static bool opAllocaOpenMPThreadPrivate() { return false; }
5657
static bool opAllocaEscapeByReference() { return false; }
5758
static bool opAllocaReference() { return false; }
59+
static bool opAllocaAnnotations() { return false; }
60+
static bool opAllocaDynAllocSize() { return false; }
61+
62+
// FuncOp handling
63+
static bool opFuncOpenCLKernelMetadata() { return false; }
64+
static bool opFuncCallingConv() { return false; }
65+
static bool opFuncExtraAttrs() { return false; }
66+
static bool opFuncDsolocal() { return false; }
67+
static bool opFuncLinkage() { return false; }
68+
static bool opFuncVisibility() { return false; }
5869

5970
// Misc
6071
static bool scalarConversionOpts() { return false; }
6172
static bool tryEmitAsConstant() { return false; }
6273
static bool constructABIArgDirectExtend() { return false; }
74+
static bool opGlobalViewAttr() { return false; }
75+
static bool lowerModeOptLevel() { return false; }
6376
};
6477

6578
} // namespace cir

0 commit comments

Comments
 (0)