llvm.org GIT mirror llvm / release_60 test / Transforms / Reassociate / propagate-flags.ll
release_60

Tree @release_60 (Download .tar.gz)

propagate-flags.ll @release_60raw · history · blame

; RUN: opt < %s -reassociate -S | FileCheck %s

define double @func(double %a, double %b) {
; CHECK-LABEL: @func(
; CHECK-NEXT:    [[TMP1:%.*]] = fmul fast double %b, %a
; CHECK-NEXT:    [[TMP2:%.*]] = fmul fast double [[TMP1]], [[TMP1]]
; CHECK-NEXT:    ret double [[TMP2]]
;
  %mul1 = fmul fast double %a, %a
  %mul2 = fmul fast double %b, %b
  %mul3 = fmul fast double %mul1, %mul2
  ret double %mul3
}