Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2627 commits
Select commit Hold shift + click to select a range
f556661
[CIR][CUDA] Generate CUDA destructor (#1470)
AdUhTkJm Mar 12, 2025
52cf5c0
[CIR][CIRGen][builtin] handle `__lzcnt` (#1382)
FantasqueX Mar 12, 2025
fe2206a
[CIR][CUDA] Support builtin CUDA variables (#1458)
advay168 Mar 12, 2025
bf52b48
[CIR][CUDA] Support for inbuilt texture types (#1469)
JamesL425 Mar 12, 2025
9b0b837
[CIR] Lower `signext` and `zeroext` attributes (#1473)
AdUhTkJm Mar 13, 2025
f896192
[CIR][CIRGen][TBAA] Add support for vtable pointer (#1463)
PikachuHyA Mar 13, 2025
6e31c6e
[CIR][CIRGen][builtin][X86] handle _mm_lfence (#1474)
FantasqueX Mar 13, 2025
0aef9ed
[CIR][CUDA] Support device-side printf (#1475)
AdUhTkJm Mar 13, 2025
867d736
[CIR][CIRGen][builtin] handle `__popcnt` (#1479)
FantasqueX Mar 13, 2025
4f8c2a8
[CIR][CUDA] CallConvLowering for basic types in NVPTX (#1468)
AdUhTkJm Mar 17, 2025
9e8806a
[CIR][NFC] Fix test failures caused by double spaces in check line (#…
seven-mile Mar 17, 2025
17935d6
[CIR] Fix assertion in CIRGenTypes::isFuncParamTypeConvertible (#1487)
Lancern Mar 17, 2025
bce7507
[CIR][CIRGen][Builtin][Neon] Lower neon vabsd_s64 (#1489)
AmrDeveloper Mar 17, 2025
6369507
[CIR] Implement ::verify for cir.atomic.xchg and cir.atomic.cmp_xchg …
Icaro-Nunes Mar 18, 2025
e74e226
[CIR][CIRGen][Builtin][Neon] Lower neon vcaled_f64 (#1495)
AmrDeveloper Mar 18, 2025
dd37e38
[CIR][CIRGen][builtin] handle _mm_pause (#1493)
shrikardongre Mar 18, 2025
d73d4cb
[CIR] Add support for nontemporal loads and stores (#1494)
Lancern Mar 18, 2025
e810ed3
[CIR] Add support for nontemporal loads and stores (#1494)
Lancern Mar 18, 2025
6a3e881
[CIR] Emit nsw flag for unary integer operations (#1485)
Lancern Mar 19, 2025
8f04109
[CIR][CIRGen][Builtin][Neon] Lower vcales_f32 (#1500)
AmrDeveloper Mar 19, 2025
28b0986
[CIR][CodeGen] Add InsertionGuard for tryBodyScope (#1498)
bruteforceboy Mar 19, 2025
aefb5e7
[CIR][NFC] Generalize IdiomRecognizer (#1484)
AdUhTkJm Mar 19, 2025
126956d
[CIR][NFC] Fix a wrong test case in fc293bb (#1503)
Lancern Mar 20, 2025
778bedb
cir-translate: Use default target triple instead of x86 if no target …
mmha Mar 20, 2025
86a85ef
[CIR][CUDA] Decorate global CUDA shadow variables with appropriate CI…
Sharp-Edged Mar 20, 2025
c66f98b
[CIR][CIRGen][Builtin] add `__builtin_tan` (#1502)
el-ev Mar 20, 2025
0004b81
[CIR][CIRGen][Builtin][Neon] Lower neon vcaltd_f64 (#1505)
AmrDeveloper Mar 20, 2025
59f739d
Revert "cir-translate: Use default target triple instead of x86 if no…
bcardosolopes Mar 20, 2025
571e56f
[CIR] Match comment in upstream
bcardosolopes Mar 20, 2025
6b19f09
[CIR] Backport clang commit to unxfail some builtin call (#1501)
FantasqueX Mar 20, 2025
a442924
[CIR][CodeGen] Replace LLVMIntrinsicCallOp with ACosOp in __builtin_e…
ayokunle321 Mar 21, 2025
2a6a8d8
Drop use of comprimised action
tstellar Mar 21, 2025
49be891
Drop use of comprimised action
tstellar Mar 21, 2025
beccc39
[CIR][CodeGen] Support for `__builtin_elementwise_asin` (#1511)
ayokunle321 Mar 24, 2025
f60e828
[CIR] Un-xfail variadic calls (#1517)
AdUhTkJm Mar 24, 2025
a61a0d8
[CIR][CIRGen][Builtin][Neon] Lower vcalts_f32 (#1520)
AmrDeveloper Mar 24, 2025
ec817c5
[CIR][CodeGen] Support for `__builtin_elementwise_atan` (#1512)
ayokunle321 Mar 25, 2025
06cee96
[CIR] Add `AddressPointAttr` (#1508)
el-ev Mar 25, 2025
3af8b3f
[CIR][CUDA] Handle clang builtin functions (#1496)
AdUhTkJm Mar 25, 2025
a468e26
[CIR] Refactor `StructType` with TableGen (#1504)
el-ev Mar 25, 2025
de866fa
[CIR][CodeGen] Add support for x86 memory fence (#1519)
shrikardongre Mar 25, 2025
45e6aa1
[CIR][CIRGen][NFC] Handle `PragmaComment` in `emitTopLevelDecl` (#1521)
el-ev Mar 25, 2025
54bc877
[CIR][LowerToLLVM][NFC] Refactor GlobalOpLowering for better readabil…
seven-mile Mar 25, 2025
86d6c7b
[CIR][NFC] Rectify the documentation of convertTypeForMem (#1526)
seven-mile Mar 25, 2025
4a39d45
[CIR][NFC] Sort emit functions in CIRGenFunction.h (#1524)
andykaylor Mar 25, 2025
2089f53
[CIR][CIRGen][CUDA][NFC] Mirror CUDARuntime skeleton of OG (#1527)
seven-mile Mar 26, 2025
ea4458a
[CIR][CodeGen] Support for BI__rdtsc (#1523)
shrikardongre Mar 26, 2025
c861519
[CIR][ThroughMLIR] Add ATanOp Lowering (#1528)
ayokunle321 Mar 26, 2025
dfef455
[CIR][CIRGen][Builtin][Neon] Lower vabds_f32 and vabdd_f64 (#1531)
AmrDeveloper Mar 26, 2025
7ec6a86
[CIR][ThroughMLIR] Add ACosOp Lowering (#1529)
ayokunle321 Mar 28, 2025
cf67fcf
[CIR][CIRGen][Builtin][Neon] Lower vmaxv_s32 (#1533)
AmrDeveloper Mar 28, 2025
657db03
[CIR][ThroughMLIR] Add ASinOp Lowering (#1530)
ayokunle321 Mar 31, 2025
29fae5c
[CIR][CIRGen][Builtin][Neon] Lower vmaxv_u32 (#1534)
AmrDeveloper Mar 31, 2025
40cce88
[CIR][CIRGen][Builtin][Neon] Lower vmaxvq_f64 (#1535)
AmrDeveloper Mar 31, 2025
2b63b2c
[CIR][LowerToLLVM] Support for LinkerOptions lowering (#1532)
el-ev Apr 1, 2025
a2cbfbf
[CIR][CIRGen][Builtin][Neon] Lower vmaxnmvq f32 and f64 (#1537)
AmrDeveloper Apr 1, 2025
c9b58ef
[CIR][NFC] Backport refactoring of unary plus/minus handling (#1499)
andykaylor Apr 1, 2025
91a32b0
[CIR][ThroughMLIR] Lower UnreachableOp (#1539)
AdUhTkJm Apr 1, 2025
ee4805a
[CIR][CIRGen][Builtin] Add `__builtin_elementwise_{log, log2, log10}`…
el-ev Apr 1, 2025
a2fe8b8
[CIR][CIRGen][Builtin][Neon] Lower vmaxnmv_f32 (#1544)
AmrDeveloper Apr 1, 2025
ea5bfe3
[CIR] Backport support zero init attr for all FP types (#1536)
AmrDeveloper Apr 4, 2025
64f01d1
[CIR][ThroughMLIR] Add TanOp Lowering (#1540)
goxul Apr 4, 2025
0a624db
[CIR] Unxfail memory effect attribute test (#1545)
FantasqueX Apr 4, 2025
a8c9ca9
[CIR][CIRGen][Builtin][Neon] Lower vminnmv_f32, vminnmvq_f64 and vmin…
AmrDeveloper Apr 4, 2025
b8299a5
[CIR] Fix for missing side effects during null pointer initialization…
andykaylor Apr 4, 2025
c653658
[CIR][CIRGen][Builtin][Neon] Lower vminv_s32 (#1550)
AmrDeveloper Apr 7, 2025
13a5e65
[CIR][CIRGen][Builtin][Neon] Lower vminv_u32 (#1551)
AmrDeveloper Apr 7, 2025
5987318
[CIR][CIRGen][Builtin] Add skeleton for missing builtin entries. (NFC…
el-ev Apr 9, 2025
98e8811
[CIR][CIRGen][Builtin] Add several elementwise FP builtins (#1553)
el-ev Apr 9, 2025
24ab10f
[CIR] Fix test failure caused by rebase (NFC) (#1558)
el-ev Apr 11, 2025
e5c6935
[CIR][CIRGen][Builtin][Neon] Lower vminvq_f32 and vminvq_f64 (#1555)
AmrDeveloper Apr 11, 2025
61259b3
[CIR] Attempt to fix windows bots
bcardosolopes Apr 11, 2025
84b4603
[CIR][NFC] Simplify struct type name creation (#1556)
andykaylor Apr 11, 2025
6502f55
[CIR][ThroughMLIR] Templatize unary math op lowerings. (#1557)
goxul Apr 11, 2025
4e7a223
[CIR] Rename `cir.struct` to `cir.record` and associated changes (#1559)
andykaylor Apr 14, 2025
cdef49c
[CIR][NFC] Reverse the polarity of RecordType complete/incomplete (#1…
andykaylor Apr 15, 2025
204c03e
[CIR] Treat cir.record class and struct types equivalently. (#1564)
andykaylor Apr 16, 2025
90833a4
[CIR] Always zero-extend shift amounts (#1568)
mmha Apr 17, 2025
4c4a762
[CIR][ThroughMLIR] Lower TrapOp (#1561)
Apr 17, 2025
9f6742f
[CIR][CodeGen] Fix crash during exception cleanup (#1566)
bruteforceboy Apr 17, 2025
4991421
[CIR][CodeGen] Supports const array user in the globals replacement (…
gitoleg Apr 18, 2025
0bae1fd
[CIR] Infer MLIR context in type builders when possible (#1570)
xlauko Apr 18, 2025
390cf25
[CIR] Replace RecordType data layout calculations (#1569)
andykaylor Apr 18, 2025
6c34681
[CIR][NFC] Simplify BoolAttr builders (#1572)
xlauko Apr 18, 2025
5933d4b
[CIR] Backport support zero init for VectorType (#1574)
AmrDeveloper Apr 21, 2025
3b2053c
[CIR][CIRGen][Builtin][Neon] Lower vqsubd_s64 and vqadds_u32 (#1575)
AmrDeveloper Apr 21, 2025
099c13c
[CIR] Simplify bool constant lowering (#1573)
xlauko Apr 21, 2025
2d5a287
[CIR] Make UndefAttr use AttrBuilderWithInferredContext (#1577)
xlauko Apr 21, 2025
efc735d
[CIR] Make ZeroAttr use AttrBuilderWithInferredContext (#1576)
xlauko Apr 21, 2025
8c264de
[CIR] Let ConstantOp builder infer its type automatically (#1578)
xlauko Apr 21, 2025
c7b27ec
[CIR] Make PoisonAttr use AttrBuilderWithInferredContext (#1579)
xlauko Apr 21, 2025
395999a
[CIR] Change record type alias prefix from !ty_ to !rec_ (#1580)
andykaylor Apr 22, 2025
92927ee
[CIR] Infer MLIRContext in attr builders when possible (#1582)
xlauko Apr 22, 2025
9c7f38a
[CIR] Create CIR_TypedAttr common class (#1583)
xlauko Apr 23, 2025
d071f2f
[CIR][CodeGen] Emit RunCleanupsScope's dtor properly for ExprWithClea…
bruteforceboy Apr 24, 2025
c5f0f97
Reorder YieldOp parents lexicographically (#1586)
mmha Apr 25, 2025
756da17
[CIR] Implement codegen for glvalue OpaqueValueExprs (#1587)
mmha Apr 28, 2025
d2645a7
[CIR] Remove unused variables (#1589)
xlauko Apr 28, 2025
62a7cbd
[CIR] Backport Standardize element type name in Array and Vector Type…
AmrDeveloper Apr 28, 2025
a9eac21
[CIR] Backport global initialization for VectorType (#1592)
AmrDeveloper Apr 28, 2025
dec120e
[CIR] Fix typos after backport of standardized element type name (#1595)
darkbuck Apr 29, 2025
f22115a
[CIR] Backport replacing removed getFixedVectorType with vectortype g…
AmrDeveloper Apr 30, 2025
1982513
[CIR] Backport VectorType verifier (#1590)
AmrDeveloper Apr 30, 2025
e552f87
[CIR] Refactor IntType constraints (#1593)
xlauko May 1, 2025
2788db7
[CIR] Refactor floating point type constraints (#1594)
xlauko May 1, 2025
c154087
[CIR] Refactor complex type (#1596)
xlauko May 1, 2025
a922f1a
[CIR][CodeGen] Updates GlobalViewAttr's indices computation for the u…
gitoleg May 6, 2025
54e3648
[CIR][CIRGen][Builtin][Neon] Lower vqaddd_s64 and vqaddd_u64 (#1599)
AmrDeveloper May 6, 2025
d32bb94
[CIR] Start silencing unused var warnings
bcardosolopes May 7, 2025
86d0efd
[CIR] More unused var warnings pt 2
bcardosolopes May 7, 2025
1e8297f
[CIR] Remove inferred context from pointer type getters (#1600)
xlauko May 7, 2025
d64637c
[CIR] Refactor VoidPtr constraint to CIR_VoidPtrType (#1601)
xlauko May 7, 2025
ce06512
[CIR] Remove implicit options from tablegen files (#1602)
xlauko May 7, 2025
0678431
[CIR][Lowering] Lower delete array to LLVM (#1588)
ahmedshakill May 7, 2025
301077a
[CIR] One more batch of fixing unused vars warnings (and others while…
bcardosolopes May 7, 2025
2a034be
[CIR] Refactor constraints for integers, floats, and complex pointees…
xlauko May 7, 2025
b6db825
[CIR] Add missing tablegen include
bcardosolopes May 8, 2025
d5527cc
[CIR] Remove ABI handling from CIRGen call handling (#1604)
andykaylor May 8, 2025
4c77420
[CIR] Add code to detect non-zero-initializable records (#1603)
andykaylor May 13, 2025
7fa1da4
[CIR] Refactor pointers to RecordType constraints (#1610)
xlauko May 13, 2025
74e4b40
[CIR] Refactor pointers to FuncType constraints (#1607)
xlauko May 13, 2025
91c21c4
[CIR] Refactor pointers to ArrayType constraints (#1608)
xlauko May 13, 2025
70813ef
[CIR][NFC] Remove redundant pointer casts (#1609)
xlauko May 13, 2025
5df5009
[CIR] Refactor pointers to ExceptionInfoType constraints (#1612)
xlauko May 13, 2025
3166478
[CIR] Backport folder implementation for VecExtractOp (#1613)
AmrDeveloper May 16, 2025
1fb346d
[CIR][NFC] Fix more compiler warnings
bcardosolopes May 16, 2025
594543f
[CIR][CodeGen] Emit dtor properly for objects in TernaryOp (#1614)
bruteforceboy May 20, 2025
092c0df
[CIR][NFC] Eliminate ArgInfo structure (#1629)
andykaylor May 20, 2025
57a49fd
[CIR] Backport add mlir Vec to elementTypeIfVector (#1622)
AmrDeveloper May 20, 2025
8b050d4
[CIR] Remove unused testIfIsVoidTy function (#1623)
xlauko May 20, 2025
b7bc94c
[CIR] Recreate `isScalarType` as `CIR_AnyScalarType` constraint (#1625)
xlauko May 20, 2025
a99c839
[CIR] Refactor vector type constraints (#1626)
xlauko May 20, 2025
88d7931
[CIR] Un-xfail some tests affected by GEP changes (#1621)
fangyi-zhou May 20, 2025
bc95e0b
[CIR] Add back ability to process cir files in cc1 (#1628)
fangyi-zhou May 20, 2025
583e6b6
[CIR][NFC] Fix documentation and comment on data_member
bcardosolopes May 20, 2025
d241753
[MLIR][mlir-link] Add mlir-link tool main entry-point
xlauko Oct 30, 2024
d4641e0
[MLIR][mlir-link] Generate composite module
xlauko Oct 30, 2024
5ae235b
[MLIR][mlir-link] Setup linker library
xlauko Jan 21, 2025
4ac082e
[MLIR][mlir-link] Setup single module link
xlauko Jan 21, 2025
d33fe3a
[MLIR][Interfaces] Add LinkableModuleOpInterface
xlauko Jan 22, 2025
beeb57e
[MLIR][mlir-link] Use LinkableModuleOpInterface instead of ModuleOp
xlauko Jan 22, 2025
03a4461
[MLIR][IR] Make ModuleOp to implement LinkableModuleOpInterface
xlauko Jan 22, 2025
91195be
[MLIR][Interfaces] Resolve the cyclic include dependency
xlauko Jan 22, 2025
d1d36bd
[MLIR][Interfaces] Add GlobalValueLinkageOpInterface
xlauko Jan 22, 2025
81b5cdf
[MLIR][LLVM] Make LLVMFuncOp implement GlobalValueLinkageOpInterface
xlauko Jan 22, 2025
652ca25
[MLIR][Interfaces] Add linkage interfaces hierarchy that mirrors LLVM's
xlauko Jan 24, 2025
8043d51
[MLIR][LLVM] Annotate operations with linkage interfaces
xlauko Jan 24, 2025
bbc1fad
[MLIR][mlir-link] Add linkage queries
xlauko Jan 24, 2025
50296c2
[MLIR][Interfaces] Add COMDAT functions to linkage interfaces
xlauko Jan 27, 2025
74cb14b
[MLIR][mlir-link] Add COMDAT symbol table
xlauko Jan 27, 2025
7d885f2
[MLIR][LLVM] Implement getComdatSelectionKind for global values
xlauko Jan 27, 2025
55798ee
[MLIR][mlir-link] Setup module linker run skeleton
xlauko Jan 27, 2025
e54d5cd
[MLIR][Interfaces] Add symbol-related methods to linkage interface
xlauko Jan 27, 2025
79c8e3d
[MLIR][mlir-link] Add linkIfNeeded resolution
xlauko Jan 27, 2025
69b7e74
[MLIR][Interfaces] Add isConstant to GlobalVariableLinkageOpInterface
xlauko Jan 30, 2025
ffc324b
[MLIR][LLVM] Let GlobalOp implement GlobalVariableLinkageOpInterface
xlauko Jan 30, 2025
b9a1bcc
[MLIR][mlir-link] Setup linkIfNeeded skeleton
xlauko Jan 30, 2025
8adf902
[mlir][mlir-link] Initial skeleton for an MLIR-linker
hbrodin Jan 23, 2025
dd74d82
[MLIR][mlir-link] Fix naming and should link condition
hbrodin Feb 4, 2025
d042050
[MLIR][mlir-link] Refactor options processing
xlauko Feb 4, 2025
80dc778
[MLIR][mlir-link] Add `--show-dialects` option
xlauko Feb 4, 2025
948fc82
[MLIR][mlir-link] Allow to split and process input buffers
xlauko Feb 4, 2025
398fbca
[MLIR][mlir-link] Refactor file processor
xlauko Feb 4, 2025
2e611d3
[MLIR][mlir-link] Add llvm functions link test
xlauko Feb 5, 2025
87c0390
[MLIR][mlir-link] Migrate from Operation* towards interface usage
hbrodin Feb 4, 2025
941758b
[MLIR][mlir-link] Add reordering of globals
hbrodin Feb 5, 2025
2fb2f5c
[MLIR][mlir-link] Implements linking of simple global variables
hbrodin Feb 5, 2025
4199005
[MLIR][mlir-link] Add test for global values linkage
hbrodin Feb 5, 2025
15ec151
[MLIR][mlir-link] Add linkage and visibility tests
xlauko Feb 5, 2025
859f710
[MLIR][mlir-link] Let comdat model real pairs
xlauko Feb 6, 2025
ec220e5
[MLIR][LLVM] Update comdat interface implementation
xlauko Feb 7, 2025
6f05ec5
[MLIR][mlir-link] Add lazy comdat members processing support
xlauko Feb 7, 2025
d58981a
[MLIR][mlir-link] Clean up comdat naming (NFC)
xlauko Feb 7, 2025
15ba296
[MLIR][Interfaces] Extend the SymbolUserOpInterface with getUserSymbol
hbrodin Feb 7, 2025
38f287a
[MLIR][Interfaces] Do not use extraClassDefnition
hbrodin Feb 7, 2025
e0c2ad0
[MLIR][mlir-link] Move return to end of function
hbrodin Feb 7, 2025
2181f2c
[MLIR][mlir-link] Make the linkage-a test pass (#18)
hbrodin Feb 12, 2025
8e630ac
[MLIR][mlir-link] Fix Incorrect logical expression in Linker
hbrodin Feb 14, 2025
5f821bb
[MLIR][mlir-link] Linkage-b pass
hbrodin Feb 14, 2025
8d57eb5
[MLIR][mlir-link] Introduce LinkerInterface for dialects
xlauko Feb 10, 2025
a090b8d
[MLIR][LLVM] Register LinkerInterface with LLVM dialect
xlauko Feb 10, 2025
8a03165
[MLIR][mlir-link] Rework to operate with dialect interface
xlauko Feb 23, 2025
f5d21c2
[MLIR][mlir-link] Do not link empty module in test
xlauko Feb 23, 2025
b07051b
[MLIR][mlir-link] Remove LinkableModuleOpInterface and Comdat infra
xlauko Mar 5, 2025
73a4f40
[MLIR][mlir-link] Add summary state base
xlauko Mar 5, 2025
96e91c6
[MLIR][LLVM] Move LLVMLinkerInterface to separate file
xlauko Mar 5, 2025
d34fe4f
[MLIR] Register linker interface for builtin dialect
xlauko Mar 5, 2025
562a3e1
[MLIR][mlir-link] Make `createCompositeModule` part of LinkerInterface
xlauko Mar 5, 2025
2e2a80f
Fix printing signed switch op values
reytchison Mar 6, 2025
8d0712e
[MLIR][mlir-link] Remove internalization for now
xlauko Mar 6, 2025
327dd1b
[MLIR][mlir-link] Simplify inference of linker flags for the first mo…
xlauko Mar 6, 2025
f9c812c
[MLIR][mlir-link] Simplify and generalize linker interfaces
xlauko Mar 8, 2025
9216db1
[MLIR][mlir-link] Add option to sort output symbols by name
xlauko Mar 10, 2025
d149ff5
[MLIR][mlir-link] Update test to sort the expected output
xlauko Mar 10, 2025
92e9f04
[MLIR] Make getUserSymbol return SymbolRefAttr
xlauko Mar 27, 2025
0573bd7
[MLIR][mlir-link] Link required symbols even if they are only declara…
xlauko Mar 27, 2025
94f013e
[MLIR][mlir-link] Turn off linkonce test for now
xlauko Mar 27, 2025
11fb5e9
[MLIR][mlir-link] Fix conflict resolution
xlauko Mar 28, 2025
ddaf0b5
[MLIR][mlir-link] Fix typo
xlauko Mar 28, 2025
c81209e
[MLIR][mlir-link] Simplify materialization
xlauko Mar 29, 2025
41ce90b
[MLIR][mlir-link] Rename ConflictPair to Conflict
xlauko Mar 29, 2025
e7e1eb9
[MLIR][mlir-link] Simplify conflict resolution
xlauko Mar 29, 2025
a4acc62
[MLIR][mlir-link] Add simple global linkage tests
xlauko Mar 29, 2025
ff69b90
[MLIR][mlir-link] Implement private linkage resolution
xlauko Mar 31, 2025
b4a1ae3
[MLIR][mlir-link] Add private linkage tests
xlauko Mar 31, 2025
92bf336
[MLIR][mlir-link] Fix internal linkage for dependencies
xlauko Mar 31, 2025
0dd2cde
[MLIR][mlir-link] Add internal linkage tests
xlauko Mar 31, 2025
685d2bd
[MLIR][mlir-link] Add extern_weak linkage tests
xlauko Mar 31, 2025
7ef1813
[MLIR][mlir-link] Resolve available_externally defined functions
xlauko Apr 1, 2025
72c0634
[MLIR][mlir-link] Implement weak and linkonce linkage
xlauko Apr 1, 2025
299e725
[MLIR][mlir-link] Implement common linkage
xlauko Apr 1, 2025
150b445
[MLIR][mlir-link] Import tests from llvm-link.
Jezurko Mar 26, 2025
2ee602b
[MLIR][mlir-link] Implement visibility resolution
Jezurko Apr 7, 2025
c1aa300
[MLIR][mlir-link] Enable visibility tests
Jezurko Apr 7, 2025
6f26790
[CIR][cir-link] Setup CIRLinkerInterface
xlauko Apr 10, 2025
fa66586
[CIR][cir-link] Setup cir-link tool
xlauko Apr 10, 2025
9087ead
[MLIR][mlir-link] Refactor out SymbolAttrLinkerInterface
xlauko Apr 10, 2025
32f426d
[MLIR][mlir-link] Extract common llvm linker interface
xlauko Apr 10, 2025
23c5102
[CIR][cir-link] Implement CIRSymbolLinkerInterface
xlauko Apr 10, 2025
e4199ab
[CIR][cir-link] Add simple cir function linker test
xlauko Apr 10, 2025
eca2073
[MLIR][mlir-link] Add adapted tests for unnamed_addr
Jezurko Apr 7, 2025
0e7fc25
[MLIR][mlir-link] Implement unnamed_addr support
Jezurko Apr 7, 2025
3b4a775
[CIR][cir-link] Add stubs for UnnamedAddr
Jezurko Apr 18, 2025
b6a8051
[CIR][cir-link] Add missing MLIRLinker dependency to cmake
xlauko Apr 18, 2025
f4752e8
[MLIR][LLVM] Fix #llvm.constant_range crashing in storage uniquer (#1…
frabert May 20, 2025
5b77c4c
[CIR-link] move link interface implementation into dialect to prevent…
frabert May 29, 2025
b795889
[mlir][LLVM] Make LLVMStructType parser rename on collision (#34)
Jezurko May 30, 2025
535025d
[CIR-link] Refactor nest/updateState (#35)
hbrodin May 30, 2025
48f3f84
[MLIR][mlir-link] Properly resolve LLVM dialect bitwidth for linkage …
Jezurko Jun 2, 2025
17ae776
[MLIR][LLVMIR] Import calls with mismatching signature as indirect ca…
Jezurko Jun 2, 2025
6d85777
Backport fix for importing of global ctors/dtors and llvm.mlir.alias …
Jezurko Jun 3, 2025
946078f
[MLIR][LLVM] Fix llvm.mlir.global mismatching print and parser order …
ekilmer Jun 4, 2025
2c3470d
[MLIR][mlir-link] Add appending linkage support (#41)
Jezurko Jun 6, 2025
fce778e
[MLIR][mlir-link] Overload correct resolveConflict in SymbolAttrLLVML…
Jezurko Jun 10, 2025
429709f
[MLIR][mlir-link] Ignore definition with local linkage when importing…
Jezurko Jun 12, 2025
2171941
[MLIR][LLVM] Hack in "linking" of opaque types with bodies during par…
Jezurko Jun 12, 2025
e3f5986
[MLIR][mlir-link] Fix weak linkage for two weak definitions (#48)
Jezurko Jun 12, 2025
02c3724
[MLIR][mlir-link] Implement linking of global ctors/dtors (#49)
Jezurko Jun 12, 2025
b58eac3
[MLIR][mlir-link] Add structors in llvm ctors/dtors ops to dependenci…
Jezurko Jun 16, 2025
a66cebb
[MLIR][mlir-link] Add partial support for Comdat
frabert Jun 12, 2025
af33d46
[MLIR][mlir-link] Fix dependency finding for LLVM dialect (#52)
Jezurko Jun 17, 2025
9f535c4
[MLIR][LLVMIR] Basic support for dbg assign (#53)
hbrodin Jul 1, 2025
0124fef
[MLIR][LLVMIR] Allow calling and invoking aliases
frabert Jul 3, 2025
92ec7cf
[MLIR][mlir-link] Allow linking LLVM aliases
frabert Jul 3, 2025
9c2e755
[MLIR]Fix symbol table lookup
frabert Jul 7, 2025
96af14b
[MLIR][LLVMIR] Add flags to DIDerivedTypeAttr
frabert Jul 28, 2025
846ee2e
[MLIR][LLVMIR] Fix emission of debug intrinsics
frabert Jul 28, 2025
66ee00d
[MLIR][LLVMIR][HACK] Emit scope for DIDerivedType
frabert Jul 30, 2025
4595297
Use symbol tables more efficiently (#59)
Jezurko Aug 18, 2025
161749b
[CIR] Added support for parsing cir.uwind an cir.resume
wizardengineer Aug 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
49 changes: 49 additions & 0 deletions .github/workflows/clang-cir-rebase.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Clang CIR Rebase

on: workflow_dispatch

permissions:
contents: write

env:
UPSTREAM_REPO: https://github.com/llvm/llvm-project.git
TARGET_BRANCH: rebased-${{ github.head_ref || github.ref_name }}

jobs:
rebase:
name: Rebase Clang CIR onto LLVM upstream
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.WORKFLOW_TOKEN }}

- name: Set up Git user
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"

- name: Add upstream remote
run: |
git remote add upstream $UPSTREAM_REPO
git fetch upstream main

- name: Rebase CIR branch onto LLVM upstream
run: |
sh ./.github/workflows/rebase-clangir-onto-llvm-upstream.sh $TARGET_BRANCH

- name: Push rebase branch ${{ github.env.TARGET_BRANCH }}
run: |
git push --set-upstream origin ${{ github.env.TARGET_BRANCH }}

test-clang-cir:
name: Test Clang CIR
needs: rebase
uses: ./.github/workflows/llvm-project-tests.yml
with:
build_target: check-clang-cir
projects: clang;mlir
extra_cmake_args: -DCLANG_ENABLE_CIR=ON
repo_ref: ${{ github.env.TARGET_BRANCH }}
38 changes: 38 additions & 0 deletions .github/workflows/clang-cir-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Clang CIR Tests

permissions:
contents: read

on:
workflow_dispatch:
push:
branches:
- 'main'
paths:
- 'clang/**'
- '.github/workflows/clang-cir-tests.yml'
- '.github/workflows/llvm-project-tests.yml'
- '!llvm/**'
pull_request:
branches:
- '**'
paths:
- 'clang/**'
- '.github/workflows/clang-cir-tests.yml'
- '.github/workflows/llvm-project-tests.yml'
- '!llvm/**'

concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

jobs:
check_clang_cir:
name: Test clang-cir
uses: ./.github/workflows/llvm-project-tests.yml
with:
build_target: check-clang-cir
projects: clang;mlir
extra_cmake_args: -DCLANG_ENABLE_CIR=ON
12 changes: 6 additions & 6 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ on:
jobs:
check-docs-build:
name: "Test documentation build"
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
if: github.repository == 'llvm/llvm-project'
steps:
# Don't fetch before checking for file changes to force the file changes
Expand All @@ -60,12 +60,12 @@ jobs:
# a local checkout beforehand.
- name: Fetch LLVM sources (Push)
if: ${{ github.event_name == 'push' }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Get subprojects that have doc changes
id: docs-changed-subprojects
uses: step-security/changed-files@3dbe17c78367e7d60f00d78ae6781a35be47b4a1 # v45.0.1
uses: step-security/changed-files@3dbe17c78367e7d60f00d78ae6781a35be47b4a1
with:
files_yaml: |
llvm:
Expand Down Expand Up @@ -98,11 +98,11 @@ jobs:
- '.github/workflows/docs.yml'
- name: Fetch LLVM sources (PR)
if: ${{ github.event_name == 'pull_request' }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Python env
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
Expand Down Expand Up @@ -216,7 +216,7 @@ jobs:
mkdir built-docs/flang
cp -r flang-build/docs/* built-docs/flang/
- name: Upload docs
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
uses: actions/upload-artifact@v4
with:
name: docs-output
path: built-docs/
3 changes: 0 additions & 3 deletions .github/workflows/libcxx-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ on:
- 'runtimes/**'
- 'cmake/**'
- '.github/workflows/libcxx-build-and-test.yaml'
schedule:
# Run nightly at 08:00 UTC (aka 00:00 Pacific, aka 03:00 Eastern)
- cron: '0 8 * * *'

permissions:
contents: read # Default everything to read-only
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/llvm-project-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,12 @@ on:
type: string
default: '3.11'

# Optional reference to the branch being checked out.
# Uses the current branch if not specified.
repo_ref:
required: false
type: string

concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
Expand Down Expand Up @@ -93,6 +99,7 @@ jobs:
# clean: false.
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.repo_ref || github.ref }}
fetch-depth: 250
- name: Setup ccache
uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/pr-code-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,36 +11,36 @@ on:

jobs:
code_formatter:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
timeout-minutes: 30
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
if: github.repository == 'llvm/llvm-project'
if: github.repository == 'llvm/clangir'
steps:
- name: Fetch LLVM sources
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Checkout through merge base
uses: rmacklin/fetch-through-merge-base@bfe4d03a86f9afa52bc1a70e9814fc92a07f7b75 # v0.3.0
uses: rmacklin/fetch-through-merge-base@v0
with:
base_ref: ${{ github.event.pull_request.base.ref }}
head_ref: ${{ github.event.pull_request.head.sha }}
deepen_length: 500

- name: Get changed files
id: changed-files
uses: step-security/changed-files@3dbe17c78367e7d60f00d78ae6781a35be47b4a1 # v45.0.1
uses: step-security/changed-files@3dbe17c78367e7d60f00d78ae6781a35be47b4a1
with:
separator: ","
skip_initial_fetch: true

# We need to pull the script from the main branch, so that we ensure
# we get the latest version of this script.
- name: Fetch code formatting utils
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@v4
with:
repository: ${{ github.repository }}
ref: ${{ github.base_ref }}
Expand All @@ -58,12 +58,12 @@ jobs:
echo "$CHANGED_FILES"

- name: Install clang-format
uses: aminya/setup-cpp@17c11551771948abc5752bbf3183482567c7caf0 # v1.1.1
uses: aminya/setup-cpp@v1
with:
clangformat: 19.1.6

- name: Setup Python env
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
Expand Down
118 changes: 118 additions & 0 deletions .github/workflows/rebase-clangir-onto-llvm-upstream.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
#!/bin/bash

set -e

GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m'

REBASE_BRANCH=rebased-clangir-onto-llvm-upstream
TARGET_BRANCH=$1
RUN_CHECK=false

log() { printf "%b[%s]%b %s\n" "$1" "$2" "$NC" "$3"; }
log_info() { log "$GREEN" "INFO" "$1"; }
log_warn() { log "$YELLOW" "WARN" "$1"; }
log_error() { log "$RED" "ERROR" "$1" >&2; }

error_exit() {
log_error "$1"
exit 1
}

is_rebasing() {
git rev-parse --git-path rebase-merge >/dev/null 2>&1 ||
git rev-parse --git-path rebase-apply >/dev/null 2>&1
}

while [[ $# -gt 0 ]]; do
case "$1" in
--checked)
RUN_CHECK=true
shift
;;
*)
TARGET_BRANCH="$1"
shift
;;
esac
done

git rev-parse --is-inside-work-tree >/dev/null 2>&1 ||
error_exit "Not in a Git repository."

git remote get-url upstream >/dev/null 2>&1 ||
error_exit "Upstream remote not found."

log_info "Fetching latest changes from upstream..."

git fetch upstream main ||
error_exit "Failed to fetch from upstream."

REBASING_CIR_BRANCH=$(git branch --show-current)

if [ -z "$COMMON_ANCESTOR" ]; then
COMMON_ANCESTOR=$(git merge-base upstream/main "$REBASING_CIR_BRANCH") ||
error_exit "Could not find common ancestor."
log_info "Common ancestor commit: $COMMON_ANCESTOR"
fi

if [ "$REBASING_CIR_BRANCH" != "$REBASE_BRANCH" ]; then
if git rev-parse --verify "$REBASE_BRANCH" >/dev/null 2>&1; then
git branch -D "$REBASE_BRANCH" >/dev/null 2>&1 ||
log_warn "Failed to delete existing branch $REBASE_BRANCH."
fi

git switch -c "$REBASE_BRANCH" "$COMMON_ANCESTOR" ||
error_exit "Failed to create branch $REBASE_BRANCH."
fi

#
# Rebase upstream changes
#
log_info "Processing upstream commits..."
git rebase upstream/main ||
error_exit "Failed to rebase."

#
# Reverse upstream CIR commits
#
log_info "Reverting upstream CIR commits..."
git log --grep="\[CIR\]" --format="%H %s" "$COMMON_ANCESTOR..upstream/main" | while read -r HASH MESSAGE; do
log_info "Reverting: $MESSAGE"

if ! git revert --no-edit "$HASH"; then
error_exit "Failed to revert commit $HASH"
fi
done

#
# Rebase CIR commits
#
log_info "Rebasing CIR incubator commits..."

if [ -z "$TARGET_BRANCH" ]; then
log_error "Target branch not specified."
exit 1
fi

if git rev-parse --verify "$TARGET_BRANCH" >/dev/null 2>&1; then
git branch -D "$TARGET_BRANCH" >/dev/null 2>&1 ||
error_exit "Failed to delete existing branch $TARGET_BRANCH."
fi

git switch "$REBASING_CIR_BRANCH" ||
error_exit "Failed to switch to $REBASING_CIR_BRANCH."
git checkout -b "$TARGET_BRANCH" ||
error_exit "Failed to checkout $TARGET_BRANCH."

if [ "$RUN_CHECK" = true ]; then
git rebase --exec "ninja -C build check-clang-cir" "$REBASE_BRANCH" "$TARGET_BRANCH" ||
error_exit "Failed to rebase."
else
git rebase "$REBASE_BRANCH" "$TARGET_BRANCH" ||
error_exit "Failed to rebase."
fi

log_info "Rebase completed successfully!"
45 changes: 2 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,3 @@
# The LLVM Compiler Infrastructure
# ClangIR (CIR)

[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/llvm/llvm-project/badge)](https://securityscorecards.dev/viewer/?uri=github.com/llvm/llvm-project)
[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8273/badge)](https://www.bestpractices.dev/projects/8273)
[![libc++](https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml/badge.svg?branch=main&event=schedule)](https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml?query=event%3Aschedule)

Welcome to the LLVM project!

This repository contains the source code for LLVM, a toolkit for the
construction of highly optimized compilers, optimizers, and run-time
environments.

The LLVM project has multiple components. The core of the project is
itself called "LLVM". This contains all of the tools, libraries, and header
files needed to process intermediate representations and convert them into
object files. Tools include an assembler, disassembler, bitcode analyzer, and
bitcode optimizer.

C-like languages use the [Clang](https://clang.llvm.org/) frontend. This
component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode
-- and from there into object files, using LLVM.

Other components include:
the [libc++ C++ standard library](https://libcxx.llvm.org),
the [LLD linker](https://lld.llvm.org), and more.

## Getting the Source Code and Building LLVM

Consult the
[Getting Started with LLVM](https://llvm.org/docs/GettingStarted.html#getting-the-source-code-and-building-llvm)
page for information on building and running LLVM.

For information on how to contribute to the LLVM project, please take a look at
the [Contributing to LLVM](https://llvm.org/docs/Contributing.html) guide.

## Getting in touch

Join the [LLVM Discourse forums](https://discourse.llvm.org/), [Discord
chat](https://discord.gg/xS7Z362),
[LLVM Office Hours](https://llvm.org/docs/GettingInvolved.html#office-hours) or
[Regular sync-ups](https://llvm.org/docs/GettingInvolved.html#online-sync-ups).

The LLVM project has adopted a [code of conduct](https://llvm.org/docs/CodeOfConduct.html) for
participants to all modes of communication within the project.
Check https://clangir.org for general information, build instructions and documentation.
Loading
Loading