diff --git a/test/Transforms/InstCombine/2002-05-14-SubFailure.ll b/test/Transforms/InstCombine/2002-05-14-SubFailure.ll new file mode 100644 index 00000000000..070899bb9f5 --- /dev/null +++ b/test/Transforms/InstCombine/2002-05-14-SubFailure.ll @@ -0,0 +1,14 @@ +; Instcombine was missing a test that caused it to make illegal transformations +; sometimes. In this case, it transforms the sub into an add: +; RUN: if as < %s | opt -instcombine | dis | grep add +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi +; + + +int "test"(int %i, int %j) { + %A = mul int %i, %j + %B = sub int 2, %A + ret int %B +}