1; RUN: opt < %s -reassociate -S | FileCheck %s
2; CHECK-LABEL: main
3; This test is to make sure while processing a block, uses of instructions
4; from a different basic block don't get added to be re-optimized
5define  void @main() {
6entry:
7  %0 = fadd fast float undef, undef
8  br i1 undef, label %bb1, label %bb2
9
10bb1:
11  %1 = fmul fast float undef, -2.000000e+00
12  %2 = fmul fast float %1, 2.000000e+00
13  %3 = fadd fast float %2, 2.000000e+00
14  %4 = fadd fast float %3, %0
15  %mul351 = fmul fast float %4, 5.000000e-01
16  ret void
17
18bb2:
19  ret void
20}
21