summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AArch64/fp-const-fold.ll
Commit message (Collapse)AuthorAgeFilesLines
* [SelectionDAG] remove constant folding limitations based on FP exceptionsSanjay Patel2019-05-021-19/+8
| | | | | | | | | | | | | | | | | We don't have FP exception limits in the IR constant folder for the binops (apart from strict ops), so it does not make sense to have them here in the DAG either. Nothing else in the backend tries to preserve exceptions (again outside of strict ops), so I don't see how this could have ever worked for real code that cares about FP exceptions. There are still cases (examples: unary opcodes in SDAG, FMA in IR) where we are trying (at least partially) to preserve exceptions without even asking if the target supports FP exceptions. Those should be corrected in subsequent patches. Real support for FP exceptions requires several changes to handle the constrained/strict FP ops. Differential Revision: https://reviews.llvm.org/D61331 llvm-svn: 359791
* [AArch64] add more tests for constant folding failures; NFCSanjay Patel2019-04-301-0/+62
| | | | llvm-svn: 359592
* [SelectionDAG] remove div-by-zero constant folding restrictionSanjay Patel2019-04-301-4/+2
| | | | | | | | | | | | | | | | We don't have this restriction in IR, so it should not be here either simply out of consistency. Code that wants to handle FP exceptions is expected to use the 'strict' variants of these nodes. We don't get the frem case because frem by 0.0 produces NaN (invalid), and that's the remaining check here (so the removed check for frem was dead code AFAIK). This is the only place in SDAG that uses "HasFPExceptions", so I think we should remove that entirely as a follow-up patch. llvm-svn: 359566
* [AArch64] add tests for fdiv/frem constant folding (PR41668); NFCSanjay Patel2019-04-301-0/+27
llvm-svn: 359561
OpenPOWER on IntegriCloud