llvm-6502/test/Transforms/Reassociate/mul-neg-add.ll
2006-12-02 04:23:10 +00:00

9 lines
238 B
LLVM

; RUN: llvm-upgrade < %s | llvm-as | 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
}