// RUN: mlir-opt --pass-pipeline='builtin.module(builtin.module(func.func(cse,canonicalize),convert-to-llvm))' %s | FileCheck %s // CHECK-LABEL: llvm.func @func1 // CHECK-NEXT: llvm.add // CHECK-NEXT: llvm.add // CHECK-NEXT: llvm.return module { module { func.func @func1(%arg0: i32) -> i32 { %0 = arith.addi %arg0, %arg0 : i32 %1 = arith.addi %arg0, %arg0 : i32 %2 = arith.addi %0, %1 : i32 func.return %2 : i32 } } // CHECK-LABEL: @gpu_module // CHECK-LABEL: gpu.func @func2 // CHECK-COUNT-3: arith.addi // CHECK-NEXT: gpu.return gpu.module @gpu_module { gpu.func @func2(%arg0: i32) -> i32 { %0 = arith.addi %arg0, %arg0 : i32 %1 = arith.addi %arg0, %arg0 : i32 %2 = arith.addi %0, %1 : i32 gpu.return %2 : i32 } } }