-
Notifications
You must be signed in to change notification settings - Fork 160
Open
Labels
IR differenceA difference in ClangIR-generated LLVM IR that could complicate reusing original CodeGen testsA difference in ClangIR-generated LLVM IR that could complicate reusing original CodeGen testsblocked-by-mlir-support
Description
Similar issue from #1065, we cannot use globals at all (even if we ignore the absence of alias
) to start representing aliases. llvm.mlir.global
s don't seem to accept anything besides !llvm.ptr
as it's types and there are no existing casts to use in its initializers that can allows us to map from llvm.mlir.addressof
.
To be more concrete, I want to generate this following LLVM IR code:
@_ZN1BD1Ev = dso_local unnamed_addr alias void (ptr), ptr @_ZN1BD2Ev
@_ZN1CD2Ev = dso_local unnamed_addr alias void (ptr), ptr @_ZN1BD2Ev
@_ZN1CD1Ev = dso_local unnamed_addr alias void (ptr), ptr @_ZN1BD2Ev
define dso_local void @_ZN1BD2Ev(ptr noundef nonnull align 8 dereferenceable(9) %this) unnamed_addr #0 {
...
This also needs to be filed against upstream MLIR.
Metadata
Metadata
Assignees
Labels
IR differenceA difference in ClangIR-generated LLVM IR that could complicate reusing original CodeGen testsA difference in ClangIR-generated LLVM IR that could complicate reusing original CodeGen testsblocked-by-mlir-support