llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Henrich Lauko (xlauko)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/187862.diff


2 Files Affected:

- (modified) clang/include/clang/CIR/Dialect/IR/CIROps.td (+4) 
- (modified) clang/test/CIR/Transforms/bit.cir (+20) 


``````````diff
diff --git a/clang/include/clang/CIR/Dialect/IR/CIROps.td 
b/clang/include/clang/CIR/Dialect/IR/CIROps.td
index 41858a61480a8..b15dc30ffb87d 100644
--- a/clang/include/clang/CIR/Dialect/IR/CIROps.td
+++ b/clang/include/clang/CIR/Dialect/IR/CIROps.td
@@ -5696,6 +5696,8 @@ def CIR_BitReverseOp : CIR_BitOpBase<"bitreverse",
     %1 = cir.bitreverse %0: !u32i
     ```
   }];
+  
+  let append traits = [Involution];
 }
 
 def CIR_ByteSwapOp : CIR_BitOpBase<"byte_swap",
@@ -5719,6 +5721,8 @@ def CIR_ByteSwapOp : CIR_BitOpBase<"byte_swap",
     %1 = cir.byte_swap %0 : !u32i
     ```
   }];
+  
+  let append traits = [Involution];
 }
 
 
//===----------------------------------------------------------------------===//
diff --git a/clang/test/CIR/Transforms/bit.cir 
b/clang/test/CIR/Transforms/bit.cir
index 11f47aa39e67c..c20448e74a026 100644
--- a/clang/test/CIR/Transforms/bit.cir
+++ b/clang/test/CIR/Transforms/bit.cir
@@ -229,4 +229,24 @@ module {
   // CHECK-NEXT:    %[[P:.+]] = cir.const #cir.poison : !u32i
   // CHECK-NEXT:    cir.return %[[P]] : !u32i
   // CHECK-NEXT:  }
+
+  cir.func @involution_bitreverse(%arg0 : !u32i) -> !u32i {
+    %0 = cir.bitreverse %arg0 : !u32i
+    %1 = cir.bitreverse %0 : !u32i
+    cir.return %1 : !u32i
+  }
+  // CHECK-LABEL: @involution_bitreverse
+  // CHECK-SAME:  (%[[X:.+]]: !u32i)
+  // CHECK-NEXT:    cir.return %[[X]] : !u32i
+  // CHECK-NEXT:  }
+
+  cir.func @involution_byte_swap(%arg0 : !u32i) -> !u32i {
+    %0 = cir.byte_swap %arg0 : !u32i
+    %1 = cir.byte_swap %0 : !u32i
+    cir.return %1 : !u32i
+  }
+  // CHECK-LABEL: @involution_byte_swap
+  // CHECK-SAME:  (%[[X:.+]]: !u32i)
+  // CHECK-NEXT:    cir.return %[[X]] : !u32i
+  // CHECK-NEXT:  }
 }

``````````

</details>


https://github.com/llvm/llvm-project/pull/187862
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to