Lines Matching defs:HexagonConstExtenders
216 struct HexagonConstExtenders : public MachineFunctionPass { struct
217 static char ID;
218 HexagonConstExtenders() : MachineFunctionPass(ID) {} in HexagonConstExtenders() argument
220 void getAnalysisUsage(AnalysisUsage &AU) const override { in getAnalysisUsage()
226 StringRef getPassName() const override { in getPassName()
232 struct Register {
271 struct ExtExpr {
318 struct ExtDesc {
339 struct ExtRoot {
361 struct ExtValue : public ExtRoot {
377 using IndexList = SetVector<unsigned>;
378 using ExtenderInit = std::pair<ExtValue, ExtExpr>;
379 using AssignmentMap = std::map<ExtenderInit, IndexList>;
380 using LocDefList = std::vector<std::pair<Loc, IndexList>>;
382 const HexagonSubtarget *HST = nullptr;
383 const HexagonInstrInfo *HII = nullptr;
384 const HexagonRegisterInfo *HRI = nullptr;
385 MachineDominatorTree *MDT = nullptr;
386 MachineRegisterInfo *MRI = nullptr;
387 std::vector<ExtDesc> Extenders;
388 std::vector<unsigned> NewRegs;