1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/Transforms/InstCombine/2010-11-23-Distributed.ll
Eric Christopher a62270de2c Revert "Temporarily Revert "Add basic loop fusion pass.""
The reversion apparently deleted the test/Transforms directory.

Will be re-reverting again.

llvm-svn: 358552
2019-04-17 04:52:47 +00:00

24 lines
500 B
LLVM

; RUN: opt < %s -instcombine -S | FileCheck %s
define i32 @foo(i32 %x, i32 %y) {
; CHECK-LABEL: @foo(
%add = add nsw i32 %y, %x
%mul = mul nsw i32 %add, %y
%square = mul nsw i32 %y, %y
%res = sub i32 %mul, %square
ret i32 %res
; CHECK-NEXT: mul i32 %x, %y
; CHECK-NEXT: ret i32
}
define i1 @bar(i64 %x, i64 %y) {
; CHECK-LABEL: @bar(
%a = and i64 %y, %x
; CHECK: and
; CHECK-NOT: and
%not = xor i64 %a, -1
%b = and i64 %y, %not
%r = icmp eq i64 %b, 0
ret i1 %r
; CHECK: ret i1
}