On Nov 15, 2012, at 10:51 AM, Michael Ilseman <milseman at apple.com> wrote:> > On Nov 15, 2012, at 10:38 AM, Evan Cheng <evan.cheng at apple.com> wrote: > >> Hi Michael, >> >> The patch looks good in general. But I'm a bit concerned about the textural representation about these flags. 'N', 'I', 'S', 'R', 'A' seem cryptic to me. Does it make sense to expand them a bit 'nnan', 'inf', etc.? They definitely need to be documented. >> > > I think it does make sense to expand them to be more readable. Also, the textual representation doesn't have to precisely follow the internal names. What about: > nnan : no nans > ninf : no infs > nsz : no signed zeros > ar: allow reciprocal > fast : unsafe algebra (and implicitly all the others)These seem reasonable to me. Thanks! Evan> > I'll get started on documentation. > >> Evan >> >> On Nov 15, 2012, at 10:17 AM, Michael Ilseman <milseman at apple.com> wrote: >> >>> Attached are some patches for adding in an IR-level mechanism for representing fast-math flags, as discussed in my prior RFC. Patches include infrastructure, API support, textual and bitcode reader/writer support, example optimization, and test cases. >>> >>> <0002-Fast-math-flags-added-to-FPMathOperator.patch> >>> <0003-Fast-math-interfaces-for-Instructions.patch> >>> <0004-Fast-math-flags-for-LLVM-IR-parsing-and-printing.patch> >>> <0005-Fast-math-flags-for-the-bitcode.patch> >>> <0006-Fast-math-test-case-for-bitcode-and-textual-reading-.patch> >>> <0007-Fast-math-optimization-fold-multiply-by-zero.patch> >>> <0008-Fast-math-test-for-SimplifyInstruction-fold-multiply.patch> >>> >>> _______________________________________________ >>> LLVM Developers mailing list >>> LLVMdev at cs.uiuc.edu llvm.cs.uiuc.edu >>> lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >
On Nov 15, 2012, at 10:38 AM, Evan Cheng <evan.cheng at apple.com> wrote:> Hi Michael, > > The patch looks good in general. But I'm a bit concerned about the textural representation about these flags. 'N', 'I', 'S', 'R', 'A' seem cryptic to me. Does it make sense to expand them a bit 'nnan', 'inf', etc.? They definitely need to be documented. >I think it does make sense to expand them to be more readable. Also, the textual representation doesn't have to precisely follow the internal names. What about: nnan : no nans ninf : no infs nsz : no signed zeros ar: allow reciprocal fast : unsafe algebra (and implicitly all the others) I'll get started on documentation.> Evan > > On Nov 15, 2012, at 10:17 AM, Michael Ilseman <milseman at apple.com> wrote: > >> Attached are some patches for adding in an IR-level mechanism for representing fast-math flags, as discussed in my prior RFC. Patches include infrastructure, API support, textual and bitcode reader/writer support, example optimization, and test cases. >> >> <0002-Fast-math-flags-added-to-FPMathOperator.patch> >> <0003-Fast-math-interfaces-for-Instructions.patch> >> <0004-Fast-math-flags-for-LLVM-IR-parsing-and-printing.patch> >> <0005-Fast-math-flags-for-the-bitcode.patch> >> <0006-Fast-math-test-case-for-bitcode-and-textual-reading-.patch> >> <0007-Fast-math-optimization-fold-multiply-by-zero.patch> >> <0008-Fast-math-test-for-SimplifyInstruction-fold-multiply.patch> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu llvm.cs.uiuc.edu >> lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
New patches with review feedback incorporated: * Changed single letter flags to short abbreviations ('S' ==> 'nsz') * Indentation fixes * Comments don't state function names -------------- next part -------------- A non-text attachment was scrubbed... Name: 0002-Fast-math-flags-added-to-FPMathOperator.patch Type: application/octet-stream Size: 4937 bytes Desc: not available URL: <lists.llvm.org/pipermail/llvm-dev/attachments/20121115/2e3c515f/attachment.obj> -------------- next part -------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: 0003-Fast-math-interfaces-for-Instructions.patch Type: application/octet-stream Size: 7422 bytes Desc: not available URL: <lists.llvm.org/pipermail/llvm-dev/attachments/20121115/2e3c515f/attachment-0001.obj> -------------- next part -------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: 0004-Fast-math-flags-for-LLVM-IR-parsing-and-printing.patch Type: application/octet-stream Size: 5947 bytes Desc: not available URL: <lists.llvm.org/pipermail/llvm-dev/attachments/20121115/2e3c515f/attachment-0002.obj> -------------- next part -------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: 0005-Fast-math-flags-for-the-bitcode.patch Type: application/octet-stream Size: 3208 bytes Desc: not available URL: <lists.llvm.org/pipermail/llvm-dev/attachments/20121115/2e3c515f/attachment-0003.obj> -------------- next part -------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: 0006-Fast-math-test-case-for-bitcode-and-textual-reading-.patch Type: application/octet-stream Size: 5638 bytes Desc: not available URL: <lists.llvm.org/pipermail/llvm-dev/attachments/20121115/2e3c515f/attachment-0004.obj> -------------- next part -------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: 0007-Fast-math-optimization-fold-multiply-by-zero.patch Type: application/octet-stream Size: 4404 bytes Desc: not available URL: <lists.llvm.org/pipermail/llvm-dev/attachments/20121115/2e3c515f/attachment-0005.obj> -------------- next part -------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: 0008-Fast-math-test-for-SimplifyInstruction-fold-multiply.patch Type: application/octet-stream Size: 1498 bytes Desc: not available URL: <lists.llvm.org/pipermail/llvm-dev/attachments/20121115/2e3c515f/attachment-0006.obj> -------------- next part -------------- On Nov 15, 2012, at 10:51 AM, Evan Cheng <evan.cheng at apple.com> wrote:> > On Nov 15, 2012, at 10:51 AM, Michael Ilseman <milseman at apple.com> wrote: > >> >> On Nov 15, 2012, at 10:38 AM, Evan Cheng <evan.cheng at apple.com> wrote: >> >>> Hi Michael, >>> >>> The patch looks good in general. But I'm a bit concerned about the textural representation about these flags. 'N', 'I', 'S', 'R', 'A' seem cryptic to me. Does it make sense to expand them a bit 'nnan', 'inf', etc.? They definitely need to be documented. >>> >> >> I think it does make sense to expand them to be more readable. Also, the textual representation doesn't have to precisely follow the internal names. What about: >> nnan : no nans >> ninf : no infs >> nsz : no signed zeros >> ar: allow reciprocal >> fast : unsafe algebra (and implicitly all the others) > > These seem reasonable to me. Thanks! > > Evan > >> >> I'll get started on documentation. >> >>> Evan >>> >>> On Nov 15, 2012, at 10:17 AM, Michael Ilseman <milseman at apple.com> wrote: >>> >>>> Attached are some patches for adding in an IR-level mechanism for representing fast-math flags, as discussed in my prior RFC. Patches include infrastructure, API support, textual and bitcode reader/writer support, example optimization, and test cases. >>>> >>>> <0002-Fast-math-flags-added-to-FPMathOperator.patch> >>>> <0003-Fast-math-interfaces-for-Instructions.patch> >>>> <0004-Fast-math-flags-for-LLVM-IR-parsing-and-printing.patch> >>>> <0005-Fast-math-flags-for-the-bitcode.patch> >>>> <0006-Fast-math-test-case-for-bitcode-and-textual-reading-.patch> >>>> <0007-Fast-math-optimization-fold-multiply-by-zero.patch> >>>> <0008-Fast-math-test-for-SimplifyInstruction-fold-multiply.patch> >>>> >>>> _______________________________________________ >>>> LLVM Developers mailing list >>>> LLVMdev at cs.uiuc.edu llvm.cs.uiuc.edu >>>> lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>> >> >