Path: blob/main/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
35268 views
//=== lib/CodeGen/GlobalISel/AMDGPUCombinerHelper.h -------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7///8/// \file9/// This contains common combine transformations that may be used in a combine10/// pass.11///12//===----------------------------------------------------------------------===//1314#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUCOMBINERHELPER_H15#define LLVM_LIB_TARGET_AMDGPU_AMDGPUCOMBINERHELPER_H1617#include "llvm/CodeGen/GlobalISel/Combiner.h"18#include "llvm/CodeGen/GlobalISel/CombinerHelper.h"1920using namespace llvm;2122class AMDGPUCombinerHelper : public CombinerHelper {23public:24using CombinerHelper::CombinerHelper;2526bool matchFoldableFneg(MachineInstr &MI, MachineInstr *&MatchInfo);27void applyFoldableFneg(MachineInstr &MI, MachineInstr *&MatchInfo);2829bool matchExpandPromotedF16FMed3(MachineInstr &MI, Register Src0,30Register Src1, Register Src2);31void applyExpandPromotedF16FMed3(MachineInstr &MI, Register Src0,32Register Src1, Register Src2);33};3435#endif // LLVM_LIB_TARGET_AMDGPU_AMDGPUCOMBINERHELPER_H363738