1- // ===- llvm/CodeGen/GlobalISel/GISelKnownBits .h -- -------------*- C++ -*-===//
1+ // ===- llvm/CodeGen/GlobalISel/GISelValueTracking .h -------------*- C++ -*-===//
22//
33// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
44// See https://llvm.org/LICENSE.txt for license information.
1111// /
1212// ===----------------------------------------------------------------------===//
1313
14- #ifndef LLVM_CODEGEN_GLOBALISEL_GISELKNOWNBITS_H
15- #define LLVM_CODEGEN_GLOBALISEL_GISELKNOWNBITS_H
14+ #ifndef LLVM_CODEGEN_GLOBALISEL_GISELVALUETRACKING_H
15+ #define LLVM_CODEGEN_GLOBALISEL_GISELVALUETRACKING_H
1616
1717#include " llvm/ADT/DenseMap.h"
1818#include " llvm/CodeGen/GlobalISel/GISelChangeObserver.h"
@@ -26,7 +26,7 @@ namespace llvm {
2626class TargetLowering ;
2727class DataLayout ;
2828
29- class GISelKnownBits : public GISelChangeObserver {
29+ class GISelValueTracking : public GISelChangeObserver {
3030 MachineFunction &MF;
3131 MachineRegisterInfo &MRI;
3232 const TargetLowering &TL;
@@ -36,23 +36,18 @@ class GISelKnownBits : public GISelChangeObserver {
3636 SmallDenseMap<Register, KnownBits, 16 > ComputeKnownBitsCache;
3737
3838 void computeKnownBitsMin (Register Src0, Register Src1, KnownBits &Known,
39- const APInt &DemandedElts,
40- unsigned Depth = 0 );
39+ const APInt &DemandedElts, unsigned Depth = 0 );
4140
4241 unsigned computeNumSignBitsMin (Register Src0, Register Src1,
4342 const APInt &DemandedElts, unsigned Depth = 0 );
4443
4544public:
46- GISelKnownBits (MachineFunction &MF, unsigned MaxDepth = 6 );
47- virtual ~GISelKnownBits () = default ;
45+ GISelValueTracking (MachineFunction &MF, unsigned MaxDepth = 6 );
46+ virtual ~GISelValueTracking () = default ;
4847
49- const MachineFunction &getMachineFunction () const {
50- return MF;
51- }
48+ const MachineFunction &getMachineFunction () const { return MF; }
5249
53- const DataLayout &getDataLayout () const {
54- return DL;
55- }
50+ const DataLayout &getDataLayout () const { return DL; }
5651
5752 virtual void computeKnownBitsImpl (Register R, KnownBits &Known,
5853 const APInt &DemandedElts,
@@ -83,8 +78,7 @@ class GISelKnownBits : public GISelChangeObserver {
8378 // / predicate to simplify operations downstream.
8479 bool signBitIsZero (Register Op);
8580
86- static void computeKnownBitsForAlignment (KnownBits &Known,
87- Align Alignment) {
81+ static void computeKnownBitsForAlignment (KnownBits &Known, Align Alignment) {
8882 // The low bits are known zero if the pointer is aligned.
8983 Known.Zero .setLowBits (Log2 (Alignment));
9084 }
@@ -103,26 +97,26 @@ class GISelKnownBits : public GISelChangeObserver {
10397};
10498
10599// / To use KnownBitsInfo analysis in a pass,
106- // / KnownBitsInfo &Info = getAnalysis<GISelKnownBitsInfoAnalysis >().get(MF);
100+ // / KnownBitsInfo &Info = getAnalysis<GISelValueTrackingInfoAnalysis >().get(MF);
107101// / Add to observer if the Info is caching.
108102// / WrapperObserver.addObserver(Info);
109103
110104// / Eventually add other features such as caching/ser/deserializing
111- // / to MIR etc. Those implementations can derive from GISelKnownBits
105+ // / to MIR etc. Those implementations can derive from GISelValueTracking
112106// / and override computeKnownBitsImpl.
113- class GISelKnownBitsAnalysis : public MachineFunctionPass {
114- std::unique_ptr<GISelKnownBits > Info;
107+ class GISelValueTrackingAnalysis : public MachineFunctionPass {
108+ std::unique_ptr<GISelValueTracking > Info;
115109
116110public:
117111 static char ID;
118- GISelKnownBitsAnalysis () : MachineFunctionPass(ID) {
119- initializeGISelKnownBitsAnalysisPass (*PassRegistry::getPassRegistry ());
112+ GISelValueTrackingAnalysis () : MachineFunctionPass(ID) {
113+ initializeGISelValueTrackingAnalysisPass (*PassRegistry::getPassRegistry ());
120114 }
121- GISelKnownBits &get (MachineFunction &MF);
115+ GISelValueTracking &get (MachineFunction &MF);
122116 void getAnalysisUsage (AnalysisUsage &AU) const override ;
123117 bool runOnMachineFunction (MachineFunction &MF) override ;
124118 void releaseMemory () override { Info.reset (); }
125119};
126120} // namespace llvm
127121
128- #endif // LLVM_CODEGEN_GLOBALISEL_GISELKNOWNBITS_H
122+ #endif // LLVM_CODEGEN_GLOBALISEL_GISELVALUETRACKING_H
0 commit comments