mehdi_amini added inline comments.
> spatel wrote in CGCall.cpp:1735 > Auto-upgrading is part of the solution. Based on how we've been doing this > with vector intrinsics that get converted to IR, it's a ~3-step process: > > 1. Prepare the backend (DAG) to handle the expected new IR patterns and add > tests for those. > 2. Auto-upgrade the IR, remove deprecated handling of the old IR patterns, > and change/remove existing tests. > 3. Update clang to not produce the deprecated patterns. > > The extra step for FMF in the DAG is that we still don't allow FMF on all > SDNode subclasses. The DAG plumbing for FMF only applies to binops because > that's all that FMF on IR worked on at the time (fmul/fadd/fsub/fdiv/frem). > Later, I added FMF to IR calls so we could have that functionality on sqrt, > fma and other calls. Assuming that is ok (and I realize that it may be > controversial), we can now extend FMF in the DAG to all SDNodes and have a > full node-level FMF solution for the DAG layer. I think I remember folks being against FMF on calls (Chris Lattner?), I'll try to find the relevant discussion. Otherwise your plan seems fine to me! https://reviews.llvm.org/D24815 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits