[all-commits] [llvm/llvm-project] a19e68: [CIR] Realign CIR-to-LLVM IR lowering code with in...
Andy Kaylor via All-commits
all-commits at lists.llvm.org
Fri Feb 28 14:44:00 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a19e685ea228ec367a7fa01bbf811c3cded37a83
https://github.com/llvm/llvm-project/commit/a19e685ea228ec367a7fa01bbf811c3cded37a83
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-02-28 (Fri, 28 Feb 2025)
Changed paths:
R clang/include/clang/CIR/Dialect/IR/CIRAttrVisitor.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
Log Message:
-----------
[CIR] Realign CIR-to-LLVM IR lowering code with incubator (#129293)
The previously upstreamed lowering from ClangIR to LLVM IR diverged from
the incubator implementation, but when the incubator was updated to
incorporate these changes some issues arose which require the upstream
implementation to be modified to re-align with the incubator.
First, in the earlier upstream implementation a CIRAttrVisitor class was
introduced with the intention that an mlir-tblgen based extension would
be created to automatically add all CIR attributes to the visitor. When
I proposed this in mlir-tblgen a reviewer suggested that what I wanted
could be better accomplished with TypeSwitch.
See https://github.com/llvm/llvm-project/pull/126332
This was done in the incubator, and here I am bringing that
implementation upstream.
The other issue was that the global op initialization in the incubator
had more cases than I had accounted for in my previous upstream
refactoring. I did still refactor the incubator code, but not in quite
the same way as the upstream code. This change re-aligns the two.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list