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