Instructions to be redone only if from the same BB
[oota-llvm.git] / test / Transforms / Reassociate / add_across_block_crash.ll
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
5 define  void @main() {
6 entry:
7   %0 = fadd fast float undef, undef
8   br i1 undef, label %bb1, label %bb2
9
10 bb1:
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
18 bb2:
19   ret void
20 }