[LLVMdev] Float undef value propagation
Raoux, Thomas F
thomas.f.raoux at intel.com
Mon Dec 9 14:13:02 PST 2013
Constant propagation pass generates constant expression when undef is used in float instructions instead of propagating the undef value.
; Function Attrs: nounwind
define float @_Z1fv() #0 {
entry:
%add = fadd fast float undef, 2.000000e+00
ret float %add
}
Becomes:
; Function Attrs: nounwind
define float @_Z1fv() #0 {
entry:
ret float fadd (float undef, float 2.000000e+00)
}
Is it safe to transform "%add = fadd fast float undef, 2.000000e+00" to "undef"? Is there a reason why constant propagation pass doesn't do this transformation?
Thanks,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131209/881d8c55/attachment.html>
More information about the llvm-dev
mailing list