[all-commits] [llvm/llvm-project] 808f40: [CIR] Remove cir.unary(plus, ...) and emit nothing...

Henrich Lauko via All-commits all-commits at lists.llvm.org
Sat Mar 14 12:21:25 PDT 2026


  Branch: refs/heads/users/xlauko/cir-unary-plus
  Home:   https://github.com/llvm/llvm-project
  Commit: 808f406ee2c8137e1bfb30cde2b44f3ba33a4e18
      https://github.com/llvm/llvm-project/commit/808f406ee2c8137e1bfb30cde2b44f3ba33a4e18
  Author: xlauko <xlauko at mail.muni.cz>
  Date:   2026-03-14 (Sat, 14 Mar 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/test/CIR/CodeGen/complex-unary.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    M clang/test/CIR/CodeGen/coro-task.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/CodeGen/vector-ext.cpp
    M clang/test/CIR/CodeGen/vector.cpp
    M clang/test/CIR/IR/unary.cir
    M clang/test/CIR/Transforms/canonicalize.cir

  Log Message:
  -----------
  [CIR] Remove cir.unary(plus, ...) and emit nothing for unary plus

Traditional codegen never emits any operation for unary plus — it just
visits the subexpression as a pure identity at the codegen level. Align
CIRGen with this behavior by removing Plus from UnaryOpKind entirely
and having VisitUnaryPlus directly visit the subexpression with the
appropriate promotion/demotion handling.



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