Since D44550 introduced FABS pattern folding in InstCombine, this patch removes the now-redundant code that causes https://bugs.llvm.org/show_bug.cgi?id=36600.
The llc test was removed as InstCombine isn't part of the llc pipeline.
Differential D44683
[SelectionDAG] Removing FABS folding from DAGCombiner mike.dvoretsky on Mar 20 2018, 8:28 AM. Authored by
Details Since D44550 introduced FABS pattern folding in InstCombine, this patch removes the now-redundant code that causes https://bugs.llvm.org/show_bug.cgi?id=36600. The llc test was removed as InstCombine isn't part of the llc pipeline.
Diff Detail
Event TimelineComment Actions I don't mind removing x86 noise, but we still need to ensure that the bug doesn't resuscitate. Please rebase with: Comment Actions There is supposed to be redundancy between instcombine and dagcombiner. Patterns can appear during lowering that won’t appear in instcombine Comment Actions If it would be preferred to keep the code, then I could basically recreate D44091 in full. I would note that currently there are no tests in which this pattern is produced specifically in DAG. Comment Actions I agree that there should be partial redundancy between these passes, but if we are confident that a pattern should not be created, then trying to match it is just overhead. In this case, we have ISD::FABS, so if there's some existing code that is creating compare and select when it could be creating FABS directly, then I think it should be fixed to not do that. |