Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Show First 20 Lines • Show All 161 Lines • ▼ Show 20 Lines | |||||
struct AAICVTracker; | struct AAICVTracker; | ||||
/// OpenMP specific information. For now, stores RFIs and ICVs also needed for | /// OpenMP specific information. For now, stores RFIs and ICVs also needed for | ||||
/// Attributor runs. | /// Attributor runs. | ||||
struct OMPInformationCache : public InformationCache { | struct OMPInformationCache : public InformationCache { | ||||
OMPInformationCache(Module &M, AnalysisGetter &AG, | OMPInformationCache(Module &M, AnalysisGetter &AG, | ||||
BumpPtrAllocator &Allocator, SetVector<Function *> &CGSCC, | BumpPtrAllocator &Allocator, SetVector<Function *> &CGSCC, | ||||
SmallPtrSetImpl<Kernel> &Kernels) | KernelSet &Kernels) | ||||
: InformationCache(M, AG, Allocator, &CGSCC), OMPBuilder(M), | : InformationCache(M, AG, Allocator, &CGSCC), OMPBuilder(M), | ||||
Kernels(Kernels) { | Kernels(Kernels) { | ||||
OMPBuilder.initialize(); | OMPBuilder.initialize(); | ||||
initializeRuntimeFunctions(); | initializeRuntimeFunctions(); | ||||
initializeInternalControlVars(); | initializeInternalControlVars(); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 298 Lines • ▼ Show 20 Lines | #define OMP_RTL(_Enum, _Name, _IsVarArg, _ReturnType, ...) \ | ||||
} \ | } \ | ||||
} | } | ||||
#include "llvm/Frontend/OpenMP/OMPKinds.def" | #include "llvm/Frontend/OpenMP/OMPKinds.def" | ||||
// TODO: We should attach the attributes defined in OMPKinds.def. | // TODO: We should attach the attributes defined in OMPKinds.def. | ||||
} | } | ||||
/// Collection of known kernels (\see Kernel) in the module. | /// Collection of known kernels (\see Kernel) in the module. | ||||
SmallPtrSetImpl<Kernel> &Kernels; | KernelSet &Kernels; | ||||
/// Collection of known OpenMP runtime functions.. | /// Collection of known OpenMP runtime functions.. | ||||
DenseSet<const Function *> RTLFunctions; | DenseSet<const Function *> RTLFunctions; | ||||
}; | }; | ||||
template <typename Ty, bool InsertInvalidates = true> | template <typename Ty, bool InsertInvalidates = true> | ||||
struct BooleanStateWithSetVector : public BooleanState { | struct BooleanStateWithSetVector : public BooleanState { | ||||
bool contains(const Ty &Elem) const { return Set.contains(Elem); } | bool contains(const Ty &Elem) const { return Set.contains(Elem); } | ||||
▲ Show 20 Lines • Show All 4,306 Lines • Show Last 20 Lines |