Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:43:28

0001 //===- CSEConfigBase.h - A CSEConfig interface ------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLVM_CODEGEN_CSECONFIGBASE_H
0010 #define LLVM_CODEGEN_CSECONFIGBASE_H
0011 
0012 namespace llvm {
0013 // Class representing some configuration that can be done during GlobalISel's
0014 // CSEInfo analysis. We define it here because TargetPassConfig can't depend on
0015 // the GlobalISel library, and so we use this in the interface between them
0016 // so that the derived classes in GISel can reference generic opcodes.
0017 class CSEConfigBase {
0018 public:
0019   virtual ~CSEConfigBase() = default;
0020   // Hook for defining which Generic instructions should be CSEd.
0021   // GISelCSEInfo currently only calls this hook when dealing with generic
0022   // opcodes.
0023   virtual bool shouldCSEOpc(unsigned Opc) { return false; }
0024 };
0025 
0026 } // namespace llvm
0027 
0028 #endif // LLVM_CODEGEN_CSECONFIGBASE_H