Lines Matching defs:AAExecutionDomainFunction
2690 struct AAExecutionDomainFunction : public AAExecutionDomain { struct
2691 AAExecutionDomainFunction(const IRPosition &IRP, Attributor &A) in AAExecutionDomainFunction() function
2694 ~AAExecutionDomainFunction() { delete RPOT; } in ~AAExecutionDomainFunction()
2696 void initialize(Attributor &A) override { in initialize()
2702 const std::string getAsStr(Attributor *) const override { in getAsStr()
2719 void trackStatistics() const override {} in trackStatistics()
2721 ChangeStatus manifest(Attributor &A) override { in manifest()
2801 bool isNoOpFence(const FenceInst &FI) const override { in isNoOpFence()
2826 bool isExecutedByInitialThreadOnly(const BasicBlock &BB) const override { in isExecutedByInitialThreadOnly()
2833 bool isExecutedInAlignedRegion(Attributor &A, in isExecutedInAlignedRegion()
2898 ExecutionDomainTy getExecutionDomain(const BasicBlock &BB) const override { in getExecutionDomain()
2904 getExecutionDomain(const CallBase &CB) const override { in getExecutionDomain()
2909 ExecutionDomainTy getFunctionExecutionDomain() const override { in getFunctionExecutionDomain()
2918 static bool isInitialThreadOnlyEdge(Attributor &A, BranchInst *Edge, in isInitialThreadOnlyEdge()
2964 ExecutionDomainTy InterProceduralED;
2966 enum Direction { PRE = 0, POST = 1 };
2968 DenseMap<const BasicBlock *, ExecutionDomainTy> BEDMap;
2970 CEDMap;
2971 SmallSetVector<CallBase *, 16> AlignedBarriers;
2973 ReversePostOrderTraversal<Function *> *RPOT = nullptr;
2976 static bool setAndRecord(bool &R, bool V) { in setAndRecord()
2984 SmallPtrSet<const FenceInst *, 8> NonNoOpFences;