Sign in
llvm
/
llvm
/
refs/heads/release_16
/
.
/
test
/
Transforms
/
Reassociate
/
mul-neg-add.ll
blob: 79eeb198ac7a85bc6ccbb6b9a8d1a0d110a5e0d8 [
file
] [
log
] [
blame
]
; RUN: llvm-as < %s | opt -reassociate -instcombine | llvm-dis | not grep 'sub int 0'
int
%test
(
int
%X
,
int
%Y
,
int
%Z
)
{
%A
=
sub
int
0
,
%X
%B
=
mul
int
%A
,
%Y
%C
=
add
int
%B
,
%Z
; (-X)*Y + Z -> Z-X*Y
ret
int
%C
}