xref: /freebsd-src/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVCombine.td (revision 5f757f3ff9144b609b3c433dfd370cc6bdc191ad)
1*5f757f3fSDimitry Andric//=- RISCVCombine.td - Define RISC-V Combine Rules -----------*- tablegen -*-=//
2*5f757f3fSDimitry Andric//
3*5f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*5f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information.
5*5f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*5f757f3fSDimitry Andric//
7*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===//
8*5f757f3fSDimitry Andric//
9*5f757f3fSDimitry Andric//
10*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===//
11*5f757f3fSDimitry Andric
12*5f757f3fSDimitry Andricinclude "llvm/Target/GlobalISel/Combine.td"
13*5f757f3fSDimitry Andric
14*5f757f3fSDimitry Andricdef RISCVPreLegalizerCombiner: GICombiner<
15*5f757f3fSDimitry Andric  "RISCVPreLegalizerCombinerImpl", [all_combines]> {
16*5f757f3fSDimitry Andric}
17*5f757f3fSDimitry Andric
18*5f757f3fSDimitry Andricdef RISCVO0PreLegalizerCombiner: GICombiner<
19*5f757f3fSDimitry Andric  "RISCVO0PreLegalizerCombinerImpl", [optnone_combines]> {
20*5f757f3fSDimitry Andric}
21*5f757f3fSDimitry Andric
22*5f757f3fSDimitry Andric// Post-legalization combines which are primarily optimizations.
23*5f757f3fSDimitry Andric// TODO: Add more combines.
24*5f757f3fSDimitry Andricdef RISCVPostLegalizerCombiner
25*5f757f3fSDimitry Andric    : GICombiner<"RISCVPostLegalizerCombinerImpl",
26*5f757f3fSDimitry Andric                 [redundant_and, identity_combines]> {
27*5f757f3fSDimitry Andric}
28