[llvm] r343712 - [RISCV][NFCI] Handle redundant splitf64+buildpairf64 pairs during instruction selection

Alex Bradbury via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 3 16:33:56 PDT 2018


On Thu, 4 Oct 2018 at 00:00, Friedman, Eli via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
>
> On 10/3/2018 1:12 PM, Alex Bradbury via llvm-commits wrote:
> > Author: asb
> > Date: Wed Oct  3 13:12:10 2018
> > New Revision: 343712
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=343712&view=rev
> > Log:
> > [RISCV][NFCI] Handle redundant splitf64+buildpairf64 pairs during instruction selection
> >
> > Although we can't write a tablegen pattern to remove redundant
> > splitf64+buildf64 pairs due to the multiple return values, we can handle it
> > with some C++ selection code. This is simpler than removing them after
> > instruction selection through RISCVDAGToDAGISel::PostprocessISelDAG, as was
> > done previously.
>
> Could you write this as a DAGCombine instead?  Might allow other
> optimizations.

Thanks Eli, that would indeed be better. I'm not seeing any codegen
differences from a quick run of the GCC torture suite, but as you say
this should expose more optimisation opportunities.

I've moved to using a DAGCombine in r343741.

Best,

Alex


More information about the llvm-commits mailing list