1; With sub reassociation, constant folding can eliminate the uses of %a. 2; 3; RUN: opt < %s -reassociate -instcombine -S | grep %a | count 1 4; PR2047 5 6define i32 @test(i32 %a, i32 %b, i32 %c) nounwind { 7entry: 8 %tmp3 = sub i32 %a, %b ; <i32> [#uses=1] 9 %tmp5 = sub i32 %tmp3, %c ; <i32> [#uses=1] 10 %tmp7 = sub i32 %tmp5, %a ; <i32> [#uses=1] 11 ret i32 %tmp7 12} 13 14