@@ -472,14 +472,6 @@ class ReachDFFwk : private bcl::Uncopyable {
472472 // / This covers IN and OUT value for a must/may reach definition analysis.
473473 typedef DFValue<ReachDFFwk, DefinitionInfo> ReachSet;
474474
475- typedef llvm::Optional<int64_t > AssumptionBound;
476- struct AssumptionBounds {
477- AssumptionBound Lower = llvm::None;
478- AssumptionBound Upper = llvm::None;
479- };
480-
481- typedef llvm::DenseMap<llvm::Value *, AssumptionBounds> AssumptionMap;
482-
483475 // / This represents results of reach definition analysis results.
484476 typedef llvm::DenseMap<DFNode *,
485477 std::tuple<std::unique_ptr<DefUseSet>, std::unique_ptr<ReachSet>>,
@@ -500,36 +492,32 @@ class ReachDFFwk : private bcl::Uncopyable {
500492 ReachDFFwk (AliasTree &AT, llvm::TargetLibraryInfo &TLI,
501493 const DFRegionInfo &DFI, const llvm::DominatorTree &DT,
502494 const DelinearizeInfo &DI, llvm::ScalarEvolution &SE,
503- const llvm::DataLayout &DL, llvm::AssumptionCache &AC ,
495+ const llvm::DataLayout &DL, const AssumptionMap &AM ,
504496 const GlobalOptions &GO, DefinedMemoryInfo &DefInfo) :
505497 mAliasTree (&AT), mTLI (&TLI), mRegionInfo (&DFI),
506- mDT (&DT), mDI (&DI), mSE (&SE), mDL (&DL), mGO (&GO), mDefInfo (&DefInfo) {
507- initializeAssumptions (AC);
508- }
498+ mDT (&DT), mDI (&DI), mSE (&SE), mDL (&DL), mAM (&AM), mGO (&GO),
499+ mDefInfo (&DefInfo) {}
509500
510501 // / Creates data-flow framework.
511502 ReachDFFwk (AliasTree &AT, llvm::TargetLibraryInfo &TLI,
512503 const DFRegionInfo &DFI, const llvm::DominatorTree &DT,
513504 const DelinearizeInfo &DI, llvm::ScalarEvolution &SE,
514- const llvm::DataLayout &DL, llvm::AssumptionCache &AC ,
505+ const llvm::DataLayout &DL, const AssumptionMap &AM ,
515506 const GlobalOptions &GO, DefinedMemoryInfo &DefInfo,
516507 InterprocDefUseInfo &InterprocDUInfo) :
517508 mAliasTree (&AT), mTLI (&TLI), mRegionInfo (&DFI), mDT (&DT),
518- mDI (&DI), mSE (&SE), mDL (&DL), mGO (&GO), mDefInfo (&DefInfo),
519- mInterprocDUInfo (&InterprocDUInfo) {
520- initializeAssumptions (AC);
521- }
509+ mDI (&DI), mSE (&SE), mDL (&DL), mAM (&AM), mGO (&GO), mDefInfo (&DefInfo),
510+ mInterprocDUInfo (&InterprocDUInfo) {}
522511
523512 // / Creates data-flow framework.
524513 ReachDFFwk (AliasTree &AT, llvm::TargetLibraryInfo &TLI,
525514 const llvm::DominatorTree &DT, const DelinearizeInfo &DI,
526515 llvm::ScalarEvolution &SE, const llvm::DataLayout &DL,
527- llvm::AssumptionCache &AC , const GlobalOptions &GO,
516+ const AssumptionMap &AM , const GlobalOptions &GO,
528517 DefinedMemoryInfo &DefInfo, InterprocDefUseInfo &InterprocDUInfo) :
529518 mAliasTree (&AT), mTLI (&TLI), mDT (&DT), mDI (&DI), mSE (&SE), mDL (&DL),
530- mGO (&GO), mDefInfo (&DefInfo), mInterprocDUInfo (&InterprocDUInfo) {
531- initializeAssumptions (AC);
532- }
519+ mGO (&GO), mAM (&AM), mDefInfo (&DefInfo),
520+ mInterprocDUInfo (&InterprocDUInfo) {}
533521
534522 // / Return results of interprocedural analysis or nullptr.
535523 InterprocDefUseInfo * getInterprocDefUseInfo () noexcept {
@@ -568,8 +556,8 @@ class ReachDFFwk : private bcl::Uncopyable {
568556 // / Returns data layout.
569557 const llvm::DataLayout & getDataLayout () const noexcept { return *mDL ; }
570558
571- // / Returns assumption cache .
572- const AssumptionMap & getAssumptionMap () const noexcept {
559+ // / Returns assumption map .
560+ const AssumptionMap * getAssumptionMap () const noexcept {
573561 return mAM ;
574562 }
575563
@@ -580,8 +568,6 @@ class ReachDFFwk : private bcl::Uncopyable {
580568 // / in a data-flow graph of an outer region.
581569 void collapse (DFRegion *R);
582570private:
583- void initializeAssumptions (llvm::AssumptionCache &AC);
584-
585571 AliasTree *mAliasTree ;
586572 llvm::TargetLibraryInfo *mTLI ;
587573 const llvm::DominatorTree *mDT ;
@@ -591,7 +577,7 @@ class ReachDFFwk : private bcl::Uncopyable {
591577 const DelinearizeInfo *mDI ;
592578 llvm::ScalarEvolution *mSE ;
593579 const llvm::DataLayout *mDL ;
594- AssumptionMap mAM ;
580+ const AssumptionMap * mAM ;
595581 const GlobalOptions *mGO ;
596582};
597583
0 commit comments