diff --git a/include/revng/Lift/LiftPipe.h b/include/revng/Lift/LiftPipe.h index 4ec25b3a5..36f5eaab4 100644 --- a/include/revng/Lift/LiftPipe.h +++ b/include/revng/Lift/LiftPipe.h @@ -47,7 +47,7 @@ public: const pipeline::LLVMContainer &ModuleContainer, const pipeline::GlobalTupleTreeDiff &Diff) const; - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const; + llvm::Error checkPrecondition(const pipeline::Context &Context) const; }; } // namespace revng::pipes diff --git a/include/revng/Lift/LinkSupportPipe.h b/include/revng/Lift/LinkSupportPipe.h index dc9f41c72..3b34b6bf5 100644 --- a/include/revng/Lift/LinkSupportPipe.h +++ b/include/revng/Lift/LinkSupportPipe.h @@ -30,7 +30,7 @@ public: void run(pipeline::ExecutionContext &EC, pipeline::LLVMContainer &ModuleContainer); - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/include/revng/Pipeline/ContainerEnumerator.h b/include/revng/Pipeline/ContainerEnumerator.h index 0256c53a8..6ec87186f 100644 --- a/include/revng/Pipeline/ContainerEnumerator.h +++ b/include/revng/Pipeline/ContainerEnumerator.h @@ -44,11 +44,11 @@ public: public: virtual ~ContainerEnumerator() = default; - virtual TargetsList enumerate(const Context &Ctx, + virtual TargetsList enumerate(const Context &Context, const Container &ToInspect) const = 0; /// \return must return true if it was possible to remove the provided target - virtual bool remove(const Context &Ctx, + virtual bool remove(const Context &Context, const TargetsList &Targets, Container &ToInspect) const = 0; }; @@ -82,18 +82,18 @@ private: } protected: - Context *Ctx; + Context *TheContext; public: - EnumerableContainer(Context &Ctx, llvm::StringRef Name) : - Container(Name), Ctx(&Ctx) {} + EnumerableContainer(Context &Context, llvm::StringRef Name) : + Container(Name), TheContext(&Context) {} - EnumerableContainer(Context &Ctx, llvm::StringRef Name, const char *ID) : - Container(Name, ID), Ctx(&Ctx) {} + EnumerableContainer(Context &Context, llvm::StringRef Name, const char *ID) : + Container(Name, ID), TheContext(&Context) {} public: - const Context &getContext() const { return *Ctx; } - Context &getContext() { return *Ctx; } + const Context &getContext() const { return *TheContext; } + Context &getContext() { return *TheContext; } bool contains(const Target &Target) const { return enumerate().contains(Target); @@ -105,7 +105,7 @@ public: TargetsList enumerate() const override { TargetsList ToReturn; for (const auto *Inspector : getRegisteredInspectors()) - ToReturn.merge(Inspector->enumerate(*Ctx, *this->self())); + ToReturn.merge(Inspector->enumerate(*TheContext, *this->self())); return ToReturn; } @@ -114,7 +114,7 @@ public: bool remove(const TargetsList &Targets) override { bool RemovedAll = true; for (const auto *Inspector : getRegisteredInspectors()) { - RemovedAll = Inspector->remove(*Ctx, + RemovedAll = Inspector->remove(*TheContext, Targets.filter(Inspector->getKind()), *this->self()) and RemovedAll; diff --git a/include/revng/Pipeline/Contract.h b/include/revng/Pipeline/Contract.h index e36112435..b5f00fbb5 100644 --- a/include/revng/Pipeline/Contract.h +++ b/include/revng/Pipeline/Contract.h @@ -100,48 +100,48 @@ public: Preservation(Preserve) {} public: - void deduceResults(const Context &Ctx, + void deduceResults(const Context &Context, ContainerToTargetsMap &StepStatus, llvm::ArrayRef ContainerNames) const; - void deduceResults(const Context &Ctx, + void deduceResults(const Context &Context, ContainerToTargetsMap &StepStatus, TargetsList &Results, llvm::ArrayRef ContainerNames) const; - void deduceResults(const Context &Ctx, + void deduceResults(const Context &Context, ContainerToTargetsMap &StepStatus, ContainerToTargetsMap &Results, llvm::ArrayRef ContainerNames) const; ContainerToTargetsMap - deduceRequirements(const Context &Ctx, + deduceRequirements(const Context &Context, const ContainerToTargetsMap &PipeOutput, llvm::ArrayRef ContainerNames) const; - bool forwardMatches(const Context &Ctx, + bool forwardMatches(const Context &Context, const ContainerToTargetsMap &Status, llvm::ArrayRef ContainerNames) const; - bool backwardMatches(const Context &Ctx, + bool backwardMatches(const Context &Context, const ContainerToTargetsMap &Status, llvm::ArrayRef ContainerNames) const; - void insertDefaultInput(const Context &Ctx, + void insertDefaultInput(const Context &Context, ContainerToTargetsMap &Status, llvm::ArrayRef ContainerNames) const; std::pair getOutput() const; private: - TargetsList forward(const Context &Ctx, TargetsList Input) const; - TargetsList backward(const Context &Ctx, TargetsList Output) const; - bool forwardMatches(const Context &Ctx, const TargetsList &Input) const; + TargetsList forward(const Context &Context, TargetsList Input) const; + TargetsList backward(const Context &Context, TargetsList Output) const; + bool forwardMatches(const Context &Context, const TargetsList &Input) const; bool backwardMatchesImpl(const Context &Ct, const TargetsList &List) const; /// Target is the container in which the Pipe would write when used to produce /// the targets. - void deduceRequirements(const Context &Ctx, + void deduceRequirements(const Context &Context, TargetsList &SourceContainer, TargetsList &TargetContainer) const; }; @@ -194,17 +194,17 @@ public: public: [[nodiscard]] ContainerToTargetsMap - deduceRequirements(const Context &Ctx, + deduceRequirements(const Context &Context, const ContainerToTargetsMap &StepStatus, llvm::ArrayRef ContainerNames) const; - void deduceResults(const Context &Ctx, + void deduceResults(const Context &Context, ContainerToTargetsMap &StepStatus, llvm::ArrayRef ContainerNames) const; - bool forwardMatches(const Context &Ctx, + bool forwardMatches(const Context &Context, const ContainerToTargetsMap &Status, llvm::ArrayRef ContainerNames) const; - bool backwardMatches(const Context &Ctx, + bool backwardMatches(const Context &Context, const ContainerToTargetsMap &Status, llvm::ArrayRef ContainerNames) const; diff --git a/include/revng/Pipeline/ExecutionContext.h b/include/revng/Pipeline/ExecutionContext.h index d14a8372c..e6733a9af 100644 --- a/include/revng/Pipeline/ExecutionContext.h +++ b/include/revng/Pipeline/ExecutionContext.h @@ -58,15 +58,15 @@ concept IsTargetToGlobal = requires { // // Example: // -// void SomePipeProducingFunctions(const ExecutionContext& Ctx, SomeContainer& -// Container) { +// void SomePipeProducingFunctions(const ExecutionContext& EC, +// SomeContainer &Container) { // ... // for (auto& Function : Container) // { +// EC.getContext().pushReadFields(); // ... -// Ctx.getContext().pushReadFields(); -// Ctx.commit(Container, Target(Function.metaadress())); -// Ctx.getContext().popReadFields(); +// EC.commit(Container, Target(Function.metaadress())); +// EC.getContext().popReadFields(); // } // } // @@ -160,23 +160,23 @@ public: static char ID; private: - ExecutionContext *Ctx; + ExecutionContext *EC; llvm::StringRef ContainerName; public: - LoadExecutionContextPass(ExecutionContext *Ctx, + LoadExecutionContextPass(ExecutionContext *EC, llvm::StringRef ContainerName) : - llvm::ImmutablePass(ID), Ctx(Ctx), ContainerName(ContainerName) {} + llvm::ImmutablePass(ID), EC(EC), ContainerName(ContainerName) {} bool doInitialization(llvm::Module &M) override { return false; } public: const TargetsList &getRequestedTargets() const { - return Ctx->getRequestedTargetsFor(ContainerName); + return EC->getRequestedTargetsFor(ContainerName); } llvm::StringRef getContainerName() const { return ContainerName; } - ExecutionContext *get() { return Ctx; } - const ExecutionContext *get() const { return Ctx; } + ExecutionContext *get() { return EC; } + const ExecutionContext *get() const { return EC; } }; } // namespace pipeline diff --git a/include/revng/Pipeline/GenericLLVMPipe.h b/include/revng/Pipeline/GenericLLVMPipe.h index 7ef875a2b..f99dd9d0f 100644 --- a/include/revng/Pipeline/GenericLLVMPipe.h +++ b/include/revng/Pipeline/GenericLLVMPipe.h @@ -184,7 +184,7 @@ public: Passes.emplace_back(Pass.clone()); } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } diff --git a/include/revng/Pipeline/Invokable.h b/include/revng/Pipeline/Invokable.h index 41c9a43f1..1a854c87f 100644 --- a/include/revng/Pipeline/Invokable.h +++ b/include/revng/Pipeline/Invokable.h @@ -147,7 +147,7 @@ template -auto invokeImpl(DeducedContextType &Ctx, +auto invokeImpl(DeducedContextType &Context, InvokableType &Pipe, auto (InvokableType::*F)(DeducedContextType &, AllArgs...), ContainerSet &Containers, @@ -159,7 +159,7 @@ auto invokeImpl(DeducedContextType &Ctx, const std::integer_sequence &) { using namespace std; - return (Pipe.*F)(Ctx, + return (Pipe.*F)(Context, getContainer>(Containers, ArgsNames[S])..., getOption(OptionArgs)...); } @@ -280,8 +280,9 @@ void getOptionNamesFromIndexes(std::vector &Out, (Out.push_back(getOptionName().str()), ...); } -template -std::vector getOptionsNamesImpl(auto (T::*F)(CtxT &, Args...)) { +template +std::vector +getOptionsNamesImpl(auto (T::*F)(ContextT &, Args...)) { using OptionArgsTypes = detail::FilterNonContainers; constexpr size_t OptionArgsCount = std::tuple_size::value; @@ -305,8 +306,9 @@ void getOptionTypeFromIndexes(std::vector &Out, (Out.push_back(getTypeName().str()), ...); } -template -std::vector getOptionsTypesImpl(auto (T::*F)(CtxT &, Args...)) { +template +std::vector +getOptionsTypesImpl(auto (T::*F)(ContextT &, Args...)) { using OptionArgsTypes = detail::FilterNonContainers; constexpr size_t OptionArgsCount = std::tuple_size::value; @@ -356,7 +358,7 @@ createCLOptions(llvm::cl::OptionCategory *Category = nullptr) { /// Invokes the F member function on the Pipe Pipe passing as nth argument the /// container with the name equal to the nth element of ArgsNames. template -auto invokePipeFunction(ExecutionContext &Ctx, +auto invokePipeFunction(ExecutionContext &EC, InvokableType &Pipe, auto (InvokableType::*F)(ContextT &, Args...), ContainerSet &Containers, @@ -374,7 +376,7 @@ auto invokePipeFunction(ExecutionContext &Ctx, constexpr auto OptionArgsIndexes = std::make_integer_sequence(); - return detail::invokeImpl(Ctx, + return detail::invokeImpl(EC, Pipe, F, Containers, @@ -426,7 +428,7 @@ concept Printable = requires(InvokableType Pipe) { class InvokableWrapperBase { public: - virtual llvm::Error run(ExecutionContext &Ctx, + virtual llvm::Error run(ExecutionContext &EC, ContainerSet &Containers, const llvm::StringMap &Options = {}) = 0; @@ -480,18 +482,18 @@ public: } public: - llvm::Error run(ExecutionContext &Ctx, + llvm::Error run(ExecutionContext &EC, ContainerSet &Containers, const llvm::StringMap &OptionArgs) override { if constexpr (invokableTypeReturnsError()) { - return invokePipeFunction(Ctx, + return invokePipeFunction(EC, ActualPipe, &InvokableType::run, Containers, RunningContainersNames, OptionArgs); } else { - invokePipeFunction(Ctx, + invokePipeFunction(EC, ActualPipe, &InvokableType::run, Containers, diff --git a/include/revng/Pipeline/Kind.h b/include/revng/Pipeline/Kind.h index 4d786d7ef..5339f851d 100644 --- a/include/revng/Pipeline/Kind.h +++ b/include/revng/Pipeline/Kind.h @@ -108,8 +108,9 @@ public: public: virtual ~Kind() = default; - virtual void appendAllTargets(const Context &Ctx, TargetsList &Out) const = 0; - TargetsList allTargets(const Context &Ctx) const; + virtual void appendAllTargets(const Context &Context, + TargetsList &Out) const = 0; + TargetsList allTargets(const Context &Context) const; public: template @@ -118,7 +119,8 @@ public: class SingleElementKind : public Kind { using Kind::Kind; - void appendAllTargets(const Context &Ctx, TargetsList &Out) const override; + void appendAllTargets(const Context &Context, + TargetsList &Out) const override; }; class DeadKind : public Kind { @@ -127,7 +129,8 @@ public: template DeadKind(const BaseRank &R) : Kind("Dead", R, {}, {}) {} - void appendAllTargets(const Context &Ctx, TargetsList &Out) const override { + void appendAllTargets(const Context &Context, + TargetsList &Out) const override { revng_abort(); } }; diff --git a/include/revng/Pipeline/LLVMContainer.h b/include/revng/Pipeline/LLVMContainer.h index 357e58ccc..13d8cd1ec 100644 --- a/include/revng/Pipeline/LLVMContainer.h +++ b/include/revng/Pipeline/LLVMContainer.h @@ -36,15 +36,15 @@ public: inline static const char *Name = "llvm-container"; LLVMContainer(llvm::StringRef Name, - Context *Ctx, - llvm::LLVMContext *LLVMCtx) : - EnumerableContainer(*Ctx, Name), - Module(std::make_unique("revng.module", *LLVMCtx)) {} + Context *Context, + llvm::LLVMContext *LLVMContext) : + EnumerableContainer(*Context, Name), + Module(std::make_unique("revng.module", *LLVMContext)) {} LLVMContainer(llvm::StringRef Name, - Context *Ctx, + Context *Context, std::unique_ptr M) : - EnumerableContainer(*Ctx, Name), Module(std::move(M)) {} + EnumerableContainer(*Context, Name), Module(std::move(M)) {} public: template diff --git a/include/revng/Pipeline/LLVMKind.h b/include/revng/Pipeline/LLVMKind.h index 230f6d32d..58c740453 100644 --- a/include/revng/Pipeline/LLVMKind.h +++ b/include/revng/Pipeline/LLVMKind.h @@ -101,11 +101,11 @@ public: } public: - bool remove(const Context &Ctx, + bool remove(const Context &Context, const TargetsList &Targets, LLVMContainer &Container) const final { - const bool AllContained = enumerate(Ctx, Container).contains(Targets); + const bool AllContained = enumerate(Context, Container).contains(Targets); for (auto &GL : targetsIntersection(Targets, Container)) GL->deleteBody(); @@ -113,7 +113,7 @@ public: return AllContained; } - TargetsList enumerate(const Context &Ctx, + TargetsList enumerate(const Context &Context, const LLVMContainer &Container) const final { TargetsList::List L; for (auto &GL : Container.getModule().functions()) { diff --git a/include/revng/Pipeline/Pipe.h b/include/revng/Pipeline/Pipe.h index 620b2f389..0ccc89acb 100644 --- a/include/revng/Pipeline/Pipe.h +++ b/include/revng/Pipeline/Pipe.h @@ -98,19 +98,20 @@ public: public: virtual PipeExecutionEntry - getRequirements(const Context &Ctx, + getRequirements(const Context &Context, const ContainerToTargetsMap &Target) const = 0; virtual ContainerToTargetsMap - deduceResults(const Context &Ctx, ContainerToTargetsMap &Target) const = 0; + deduceResults(const Context &Context, + ContainerToTargetsMap &Target) const = 0; - virtual bool areRequirementsMet(const Context &Ctx, + virtual bool areRequirementsMet(const Context &Context, const ContainerToTargetsMap &Input) const = 0; virtual std::unique_ptr clone(std::vector NewRunningContainersNames = {}) const = 0; - virtual llvm::Error checkPrecondition(const Context &Ctx) const = 0; + virtual llvm::Error checkPrecondition(const Context &Context) const = 0; virtual size_t getContainerArgumentsCount() const = 0; @@ -146,7 +147,7 @@ public: std::move(RunningContainersNames)) {} public: - bool areRequirementsMet(const Context &Ctx, + bool areRequirementsMet(const Context &Context, const ContainerToTargetsMap &Input) const override { const auto &Contracts = Invokable.getPipe().getContract(); if (Contracts.size() == 0) @@ -154,12 +155,12 @@ public: ContainerToTargetsMap ToCheck = Input; for (const auto &Contract : Contracts) { - if (Contract.forwardMatches(Ctx, + if (Contract.forwardMatches(Context, ToCheck, Invokable.getRunningContainersNames())) return true; - Contract.deduceResults(Ctx, + Contract.deduceResults(Context, ToCheck, Invokable.getRunningContainersNames()); } @@ -168,7 +169,7 @@ public: } PipeExecutionEntry - getRequirements(const Context &Ctx, + getRequirements(const Context &Context, const ContainerToTargetsMap &Target) const override { revng_log(InvalidationLog, "Computing requirements for " << this->Invokable.getName()); @@ -180,7 +181,7 @@ public: std::set> ThisPipeOutputs; for (const auto &Contract : llvm::reverse(Contracts)) { Input = Contract - .deduceRequirements(Ctx, + .deduceRequirements(Context, Input, Invokable.getRunningContainersNames()); @@ -235,12 +236,12 @@ public: } ContainerToTargetsMap - deduceResults(const Context &Ctx, + deduceResults(const Context &Context, ContainerToTargetsMap &Target) const override { const auto &Contracts = Invokable.getPipe().getContract(); for (const auto &Contract : Contracts) { - Contract.deduceResults(Ctx, + Contract.deduceResults(Context, Target, Invokable.getRunningContainersNames()); } @@ -256,8 +257,8 @@ public: std::move(NewContainersNames)); } - llvm::Error checkPrecondition(const Context &Ctx) const override { - return Invokable.getPipe().checkPrecondition(Ctx); + llvm::Error checkPrecondition(const Context &Context) const override { + return Invokable.getPipe().checkPrecondition(Context); } size_t getContainerArgumentsCount() const override { @@ -314,7 +315,7 @@ struct PipeWrapper { llvm::StringMap PathCache; public: - void registerTargetsDependingOn(const Context &Ctx, + void registerTargetsDependingOn(const Context &Context, llvm::StringRef GlobalName, const TupleTreePath &Path, ContainerToTargetsMap &Out, diff --git a/include/revng/Pipeline/Step.h b/include/revng/Pipeline/Step.h index e54025581..e9e733778 100644 --- a/include/revng/Pipeline/Step.h +++ b/include/revng/Pipeline/Step.h @@ -69,11 +69,11 @@ private: Step *PreviousStep; ArtifactsInfo Artifacts; AnalysisMapType AnalysisMap; - Context *Ctx; + Context *TheContext; public: template - Step(Context &Ctx, + Step(Context &Context, std::string Name, std::string Component, ContainerSet Containers, @@ -83,10 +83,10 @@ public: Containers(std::move(Containers)), Pipes({ std::forward(PipeWrappers)... }), PreviousStep(nullptr), - Ctx(&Ctx) {} + TheContext(&Context) {} template - Step(Context &Ctx, + Step(Context &Context, std::string Name, std::string Component, ContainerSet Containers, @@ -97,7 +97,7 @@ public: Containers(std::move(Containers)), Pipes({ std::forward(PipeWrappers)... }), PreviousStep(&PreviousStep), - Ctx(&Ctx) {} + TheContext(&Context) {} public: // TODO: drop the Out parameter pattern if favour of coroutines in the whole @@ -111,7 +111,7 @@ public: for (const PipeWrapper &Pipe : Pipes) { revng_log(Log, "Handling the " << Pipe.Pipe->getName() << " Pipe"); LoggerIndent<> Indent(Log); - Pipe.InvalidationMetadata.registerTargetsDependingOn(*Ctx, + Pipe.InvalidationMetadata.registerTargetsDependingOn(*TheContext, GlobalName, Path, OutMap, @@ -311,7 +311,7 @@ public: OS << "Pipes:\n"; for (const PipeWrapper &Pipe : Pipes) { Pipe.Pipe.dump(OS, Indentation + 1); - Pipe.InvalidationMetadata.dump(*Ctx, Indentation + 2); + Pipe.InvalidationMetadata.dump(*TheContext, Indentation + 2); } indent(OS, Indentation + 1); diff --git a/include/revng/Pipeline/Target.h b/include/revng/Pipeline/Target.h index ecbf32ac3..f93985ddd 100644 --- a/include/revng/Pipeline/Target.h +++ b/include/revng/Pipeline/Target.h @@ -76,7 +76,7 @@ public: } public: - static llvm::Expected deserialize(Context &Ctx, + static llvm::Expected deserialize(Context &Context, llvm::StringRef String); public: @@ -136,7 +136,7 @@ public: class KindsRegistry; -llvm::Error parseTarget(const Context &Ctx, +llvm::Error parseTarget(const Context &Context, llvm::StringRef AsString, const KindsRegistry &Dict, TargetsList &Out); @@ -158,9 +158,9 @@ private: public: TargetsList() = default; TargetsList(List C) : Contained(std::move(C)) {} - static TargetsList allTargets(const Context &Ctx, const Kind &K) { + static TargetsList allTargets(const Context &Context, const Kind &K) { TargetsList ToReturn; - K.appendAllTargets(Ctx, ToReturn); + K.appendAllTargets(Context, ToReturn); return ToReturn; } @@ -430,7 +430,7 @@ private: using TargetInStepSet = llvm::StringMap; -llvm::Error parseTarget(const Context &Ctx, +llvm::Error parseTarget(const Context &Context, ContainerToTargetsMap &CurrentStatus, llvm::StringRef AsString, const KindsRegistry &Dict); diff --git a/include/revng/Pipes/FunctionKind.h b/include/revng/Pipes/FunctionKind.h index 55d4f5199..a0c5d1e94 100644 --- a/include/revng/Pipes/FunctionKind.h +++ b/include/revng/Pipes/FunctionKind.h @@ -15,10 +15,10 @@ namespace revng::kinds { class FunctionKind : public pipeline::Kind { public: using pipeline::Kind::Kind; - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override { using namespace pipeline; - const auto &Model = getModelFromContext(Ctx); + const auto &Model = getModelFromContext(Context); DisableTracking Guard(*Model); for (const auto &Function : Model->Functions()) { Out.push_back(Target(Function.Entry().toString(), *this)); diff --git a/include/revng/Pipes/ModelGlobal.h b/include/revng/Pipes/ModelGlobal.h index 12ad34810..8d4fce73f 100644 --- a/include/revng/Pipes/ModelGlobal.h +++ b/include/revng/Pipes/ModelGlobal.h @@ -25,9 +25,10 @@ constexpr static const char *ModelGlobalName = "model.yml"; using ModelGlobal = pipeline::TupleTreeGlobal; inline const TupleTree & -getModelFromContext(const pipeline::Context &Ctx) { +getModelFromContext(const pipeline::Context &Context) { using Wrapper = ModelGlobal; - const auto &Model = llvm::cantFail(Ctx.getGlobal(ModelGlobalName)); + const auto &Model = llvm::cantFail(Context + .getGlobal(ModelGlobalName)); Model->get().cacheReferences(); return Model->get(); } @@ -38,9 +39,10 @@ getModelFromContext(const pipeline::ExecutionContext &EC) { } inline TupleTree & -getWritableModelFromContext(pipeline::Context &Ctx) { +getWritableModelFromContext(pipeline::Context &Context) { using Wrapper = ModelGlobal; - const auto &Model = llvm::cantFail(Ctx.getGlobal(ModelGlobalName)); + const auto &Model = llvm::cantFail(Context + .getGlobal(ModelGlobalName)); Model->get().evictCachedReferences(); return Model->get(); } diff --git a/include/revng/Pipes/PipelineManager.h b/include/revng/Pipes/PipelineManager.h index 04bf749d9..29a7f4367 100644 --- a/include/revng/Pipes/PipelineManager.h +++ b/include/revng/Pipes/PipelineManager.h @@ -36,7 +36,7 @@ private: /// pointer that go from one to the other are stable, Since there a create /// method that returns a expected, this is the only way to /// ensure this is correct. - std::unique_ptr Context; + std::unique_ptr LLVMContext; std::unique_ptr PipelineContext; std::unique_ptr Loader; std::unique_ptr Runner; diff --git a/include/revng/Pipes/PopulateTargetListContainer.h b/include/revng/Pipes/PopulateTargetListContainer.h index 37415da22..88047788c 100644 --- a/include/revng/Pipes/PopulateTargetListContainer.h +++ b/include/revng/Pipes/PopulateTargetListContainer.h @@ -43,7 +43,7 @@ public: Container.fill(EC.getContext()); } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/include/revng/Pipes/RootKind.h b/include/revng/Pipes/RootKind.h index 7948ef25d..92c2f0a01 100644 --- a/include/revng/Pipes/RootKind.h +++ b/include/revng/Pipes/RootKind.h @@ -23,7 +23,7 @@ public: std::optional symbolToTarget(const llvm::Function &Symbol) const override; - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override; }; @@ -34,7 +34,7 @@ public: std::optional symbolToTarget(const llvm::Function &Symbol) const override; - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override; }; diff --git a/include/revng/Pipes/TaggedFunctionKind.h b/include/revng/Pipes/TaggedFunctionKind.h index c5ca5223e..78ab04284 100644 --- a/include/revng/Pipes/TaggedFunctionKind.h +++ b/include/revng/Pipes/TaggedFunctionKind.h @@ -54,7 +54,7 @@ public: std::optional symbolToTarget(const llvm::Function &Symbol) const override; - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override; static cppcoro::generator< diff --git a/include/revng/Pipes/TargetListContainer.h b/include/revng/Pipes/TargetListContainer.h index 5f40e1215..e4083753a 100644 --- a/include/revng/Pipes/TargetListContainer.h +++ b/include/revng/Pipes/TargetListContainer.h @@ -93,11 +93,11 @@ public: public: void clear() override { Targets.clear(); } - void fill(const pipeline::Context &Ctx) { + void fill(const pipeline::Context &Context) { clear(); pipeline::TargetsList List; - Kind->appendAllTargets(Ctx, List); + Kind->appendAllTargets(Context, List); for (pipeline::Target &Target : List) { Targets.insert(Target); diff --git a/include/revng/Pipes/TypeKind.h b/include/revng/Pipes/TypeKind.h index e6bb25dc4..8fcd08143 100644 --- a/include/revng/Pipes/TypeKind.h +++ b/include/revng/Pipes/TypeKind.h @@ -15,10 +15,10 @@ namespace revng::kinds { class TypeKind : public pipeline::Kind { public: using pipeline::Kind::Kind; - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override { using namespace pipeline; - const auto &Model = getModelFromContext(Ctx); + const auto &Model = getModelFromContext(Context); for (const auto &Type : Model->TypeDefinitions()) { Out.push_back(Target(serializeToString(Type->key()), *this)); } diff --git a/include/revng/Recompile/CompileModulePipe.h b/include/revng/Recompile/CompileModulePipe.h index f36d3a955..c03536adb 100644 --- a/include/revng/Recompile/CompileModulePipe.h +++ b/include/revng/Recompile/CompileModulePipe.h @@ -33,7 +33,7 @@ public: pipeline::LLVMContainer &ModuleContainer, ObjectFileContainer &TargetBinary); - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; @@ -56,7 +56,7 @@ public: pipeline::LLVMContainer &ModuleContainer, ObjectFileContainer &TargetBinary); - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/include/revng/Recompile/LinkForTranslationPipe.h b/include/revng/Recompile/LinkForTranslationPipe.h index ad18e42ce..f5f635ac2 100644 --- a/include/revng/Recompile/LinkForTranslationPipe.h +++ b/include/revng/Recompile/LinkForTranslationPipe.h @@ -42,7 +42,7 @@ public: ObjectFileContainer &ObjectFile, TranslatedFileContainer &OutputBinary); - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/include/revng/Yield/Pipes/ProcessAssembly.h b/include/revng/Yield/Pipes/ProcessAssembly.h index 80bcd4ea4..f12168a0a 100644 --- a/include/revng/Yield/Pipes/ProcessAssembly.h +++ b/include/revng/Yield/Pipes/ProcessAssembly.h @@ -42,7 +42,7 @@ public: const CFGMap &CFGMap, FunctionAssemblyStringMap &OutputAssembly); - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/include/revng/Yield/Pipes/ProcessCallGraph.h b/include/revng/Yield/Pipes/ProcessCallGraph.h index 8366a1c7b..43bf1c5e2 100644 --- a/include/revng/Yield/Pipes/ProcessCallGraph.h +++ b/include/revng/Yield/Pipes/ProcessCallGraph.h @@ -69,7 +69,7 @@ public: const CFGMap &CFGMap, CrossRelationsFileContainer &OutputFile); - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/include/revng/Yield/Pipes/YieldAssembly.h b/include/revng/Yield/Pipes/YieldAssembly.h index bade94fb2..5754599b1 100644 --- a/include/revng/Yield/Pipes/YieldAssembly.h +++ b/include/revng/Yield/Pipes/YieldAssembly.h @@ -34,7 +34,7 @@ public: const FunctionAssemblyStringMap &Input, FunctionAssemblyPTMLStringMap &Output); - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/include/revng/Yield/Pipes/YieldCallGraph.h b/include/revng/Yield/Pipes/YieldCallGraph.h index 7e0686319..0df8759d9 100644 --- a/include/revng/Yield/Pipes/YieldCallGraph.h +++ b/include/revng/Yield/Pipes/YieldCallGraph.h @@ -34,7 +34,7 @@ public: const CrossRelationsFileContainer &InputFile, CallGraphSVGFileContainer &OutputFile); - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/include/revng/Yield/Pipes/YieldCallGraphSlice.h b/include/revng/Yield/Pipes/YieldCallGraphSlice.h index 8d9da1b6d..fb3f2e481 100644 --- a/include/revng/Yield/Pipes/YieldCallGraphSlice.h +++ b/include/revng/Yield/Pipes/YieldCallGraphSlice.h @@ -41,7 +41,7 @@ public: const CrossRelationsFileContainer &InputFile, CallGraphSliceSVGStringMap &Output); - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/include/revng/Yield/Pipes/YieldControlFlow.h b/include/revng/Yield/Pipes/YieldControlFlow.h index 9c40799fc..db1e1a093 100644 --- a/include/revng/Yield/Pipes/YieldControlFlow.h +++ b/include/revng/Yield/Pipes/YieldControlFlow.h @@ -64,7 +64,7 @@ public: const FunctionAssemblyStringMap &Input, FunctionControlFlowStringMap &Output); - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/lib/EarlyFunctionAnalysis/AttachDebugInfo.cpp b/lib/EarlyFunctionAnalysis/AttachDebugInfo.cpp index bdadcfdf7..5448ae793 100644 --- a/lib/EarlyFunctionAnalysis/AttachDebugInfo.cpp +++ b/lib/EarlyFunctionAnalysis/AttachDebugInfo.cpp @@ -237,7 +237,7 @@ struct AttachDebugInfoToIsolatedPipe { Manager.run(ModuleContainer.getModule()); } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; @@ -274,7 +274,7 @@ struct AttachDebugInfoToABIEnforcedPipe { Manager.run(ModuleContainer.getModule()); } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/lib/EarlyFunctionAnalysis/CollectCFG.cpp b/lib/EarlyFunctionAnalysis/CollectCFG.cpp index eb1c1fe84..4201f7582 100644 --- a/lib/EarlyFunctionAnalysis/CollectCFG.cpp +++ b/lib/EarlyFunctionAnalysis/CollectCFG.cpp @@ -81,7 +81,7 @@ public: } } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/lib/FunctionIsolation/EnforceABI.cpp b/lib/FunctionIsolation/EnforceABI.cpp index b74597607..0beb1d0ef 100644 --- a/lib/FunctionIsolation/EnforceABI.cpp +++ b/lib/FunctionIsolation/EnforceABI.cpp @@ -516,8 +516,8 @@ struct EnforceABIPipe { Manager.run(ModuleContainer.getModule()); } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { - const auto &Model = *revng::getModelFromContext(Ctx); + llvm::Error checkPrecondition(const pipeline::Context &Context) const { + const auto &Model = *revng::getModelFromContext(Context); if (!Model.DefaultPrototype().isEmpty()) return llvm::Error::success(); diff --git a/lib/FunctionIsolation/IsolateFunctions.cpp b/lib/FunctionIsolation/IsolateFunctions.cpp index c5b1f5650..507c561e1 100644 --- a/lib/FunctionIsolation/IsolateFunctions.cpp +++ b/lib/FunctionIsolation/IsolateFunctions.cpp @@ -102,7 +102,7 @@ struct IsolatePipe { Manager.run(ModuleContainer.getModule()); } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/lib/Lift/LiftPipe.cpp b/lib/Lift/LiftPipe.cpp index 75fb8e5b0..ab3f4718d 100644 --- a/lib/Lift/LiftPipe.cpp +++ b/lib/Lift/LiftPipe.cpp @@ -133,8 +133,8 @@ Lift::invalidate(const BinaryFileContainer &SourceBinary, return {}; } -llvm::Error Lift::checkPrecondition(const pipeline::Context &Ctx) const { - const auto &Model = *getModelFromContext(Ctx); +llvm::Error Lift::checkPrecondition(const pipeline::Context &Context) const { + const auto &Model = *getModelFromContext(Context); if (Model.Architecture() == model::Architecture::Invalid) { return llvm::createStringError(inconvertibleErrorCode(), diff --git a/lib/Lift/LinkSupportPipe.cpp b/lib/Lift/LinkSupportPipe.cpp index a98f305ce..86a232068 100644 --- a/lib/Lift/LinkSupportPipe.cpp +++ b/lib/Lift/LinkSupportPipe.cpp @@ -59,8 +59,8 @@ static llvm::StringRef getSupportName(model::Architecture::Values V) { return "Invalid"; } -static std::string getSupportPath(const Context &Ctx) { - const auto &Model = getModelFromContext(Ctx); +static std::string getSupportPath(const Context &Context) { + const auto &Model = getModelFromContext(Context); const char *SupportConfig = Tracing ? "trace" : "normal"; auto ArchName = getSupportName(Model->Architecture()).str(); diff --git a/lib/Model/Importer/DebugInfo/DwarfImporter.cpp b/lib/Model/Importer/DebugInfo/DwarfImporter.cpp index f432b4796..1aff84806 100644 --- a/lib/Model/Importer/DebugInfo/DwarfImporter.cpp +++ b/lib/Model/Importer/DebugInfo/DwarfImporter.cpp @@ -164,14 +164,14 @@ private: size_t Index; size_t AltIndex; size_t TypesWithIdentityCount; - DWARFContext &DICtx; + DWARFContext &Context; std::map Placeholders; std::set InvalidPrimitives; std::set InProgressDies; public: DwarfToModelConverter(DwarfImporter &Importer, - DWARFContext &DICtx, + DWARFContext &Context, size_t Index, size_t AltIndex, uint64_t PreferredBaseAddress) : @@ -181,13 +181,13 @@ public: Model(Importer.getModel()), Index(Index), AltIndex(AltIndex), - DICtx(DICtx) { + Context(Context) { Architecture = Model->Architecture(); BaseAddress = PreferredBaseAddress; // Ensure the architecture is consistent. - auto Arch = model::Architecture::fromLLVMArchitecture(DICtx.getArch()); + auto Arch = model::Architecture::fromLLVMArchitecture(Context.getArch()); if (Model->Architecture() == model::Architecture::Invalid) Model->Architecture() = Arch; @@ -369,7 +369,7 @@ private: void materializeTypesWithIdentity() { SmallVector CompileUnits; - for (const auto &CU : DICtx.compile_units()) + for (const auto &CU : Context.compile_units()) CompileUnits.push_back(CU.get()); Task T(CompileUnits.size(), "Compile units"); @@ -408,7 +408,7 @@ private: return *MaybeString; } } else if (auto MaybeOrigin = Die.find(DW_AT_abstract_origin)) { - DWARFDie Origin = DICtx.getDIEForOffset(*MaybeOrigin->getAsReference()); + DWARFDie Origin = Context.getDIEForOffset(*MaybeOrigin->getAsReference()); return getName(Origin); } else { return {}; @@ -441,11 +441,11 @@ private: if (Type->getForm() == llvm::dwarf::DW_FORM_GNU_ref_alt) { rc_return Importer.findType({ AltIndex, Type->getRawUValue() }).copy(); } else { - DWARFDie InnerDie = DICtx.getDIEForOffset(*Type->getAsReference()); + DWARFDie InnerDie = Context.getDIEForOffset(*Type->getAsReference()); rc_return rc_recur resolveType(InnerDie, false); } } else if (auto MaybeOrigin = Die.find(DW_AT_abstract_origin)) { - DWARFDie Origin = DICtx.getDIEForOffset(*MaybeOrigin->getAsReference()); + DWARFDie Origin = Context.getDIEForOffset(*MaybeOrigin->getAsReference()); rc_return rc_recur makeType(Origin); } else { rc_return model::UpcastableType::empty(); @@ -771,7 +771,7 @@ private: } void resolveAllTypes() { - for (const auto &CU : DICtx.compile_units()) { + for (const auto &CU : Context.compile_units()) { for (const auto &Entry : CU->dies()) { DWARFDie Die = { CU.get(), &Entry }; if (not isType(Die.getTag())) @@ -824,7 +824,7 @@ private: void createFunctions() { revng_log(DILogger, "Creating functions"); - for (const auto &CU : DICtx.compile_units()) { + for (const auto &CU : Context.compile_units()) { for (const auto &Entry : CU->dies()) { DWARFDie Die = { CU.get(), &Entry }; diff --git a/lib/Pipeline/Contract.cpp b/lib/Pipeline/Contract.cpp index 4b54fcceb..1105fc0cf 100644 --- a/lib/Pipeline/Contract.cpp +++ b/lib/Pipeline/Contract.cpp @@ -19,24 +19,24 @@ using namespace pipeline; using namespace llvm; using namespace std; -void Contract::deduceResults(const Context &Ctx, +void Contract::deduceResults(const Context &Context, ContainerToTargetsMap &StepStatus, ArrayRef Names) const { auto &OutputContainerTarget = StepStatus[Names[PipeArgumentTargetIndex]]; TargetsList Tmp; - deduceResults(Ctx, StepStatus, Tmp, Names); + deduceResults(Context, StepStatus, Tmp, Names); copy(Tmp, back_inserter(OutputContainerTarget)); } -void Contract::deduceResults(const Context &Ctx, +void Contract::deduceResults(const Context &Context, ContainerToTargetsMap &StepStatus, ContainerToTargetsMap &Results, ArrayRef Names) const { auto &OutputContainerTarget = Results[Names[PipeArgumentTargetIndex]]; - deduceResults(Ctx, StepStatus, OutputContainerTarget, Names); + deduceResults(Context, StepStatus, OutputContainerTarget, Names); } static TargetsList copyEntriesOfKind(const TargetsList &List, const Kind &K) { @@ -54,12 +54,12 @@ static TargetsList extracEntriesOfKind(TargetsList &List, const Kind &K) { return ToReturn; } -void Contract::deduceResults(const Context &Ctx, +void Contract::deduceResults(const Context &Context, ContainerToTargetsMap &StepStatus, TargetsList &Results, ArrayRef Names) const { if (Source == nullptr) { - TargetKind->appendAllTargets(Ctx, Results); + TargetKind->appendAllTargets(Context, Results); return; } @@ -71,12 +71,12 @@ void Contract::deduceResults(const Context &Ctx, auto Targets = Preservation == pipeline::InputPreservation::Erase ? extracEntriesOfKind(SourceContainerTargets, *Kind) : copyEntriesOfKind(SourceContainerTargets, *Kind); - Targets = forward(Ctx, std::move(Targets)); + Targets = forward(Context, std::move(Targets)); copy(Targets, back_inserter(Results)); } } -TargetsList Contract::forward(const Context &Ctx, TargetsList Input) const { +TargetsList Contract::forward(const Context &Context, TargetsList Input) const { if (Input.empty()) return {}; @@ -92,23 +92,23 @@ TargetsList Contract::forward(const Context &Ctx, TargetsList Input) const { if (Source->depth() > TargetKind->depth()) { TargetsList All; - TargetKind->appendAllTargets(Ctx, All); + TargetKind->appendAllTargets(Context, All); return All; } TargetsList All; - Source->appendAllTargets(Ctx, All); + Source->appendAllTargets(Context, All); if (All != Input) { return Input; } TargetsList AllDestination; - TargetKind->appendAllTargets(Ctx, AllDestination); + TargetKind->appendAllTargets(Context, AllDestination); return AllDestination; } ContainerToTargetsMap -Contract::deduceRequirements(const Context &Ctx, +Contract::deduceRequirements(const Context &Context, const ContainerToTargetsMap &Output, ArrayRef Names) const { @@ -116,12 +116,12 @@ Contract::deduceRequirements(const Context &Ctx, TargetsList &SourceContainer = Requirements[Names[PipeArgumentSourceIndex]]; TargetsList &TargetContainer = Requirements[Names[PipeArgumentTargetIndex]]; - deduceRequirements(Ctx, SourceContainer, TargetContainer); + deduceRequirements(Context, SourceContainer, TargetContainer); return Requirements; } -void Contract::deduceRequirements(const Context &Ctx, +void Contract::deduceRequirements(const Context &Context, TargetsList &Source, TargetsList &Target) const { if (this->Source == nullptr) { @@ -139,13 +139,14 @@ void Contract::deduceRequirements(const Context &Ctx, // Transform the forward inputs/backward outputs that match, // they are transformed by the current Pipe - Targets = backward(Ctx, std::move(Targets)); + Targets = backward(Context, std::move(Targets)); copy(Targets, back_inserter(Source)); } } -bool Contract::forwardMatches(const Context &Ctx, const TargetsList &In) const { +bool Contract::forwardMatches(const Context &Context, + const TargetsList &In) const { if (Source == nullptr) return true; @@ -162,7 +163,8 @@ bool Contract::forwardMatches(const Context &Ctx, const TargetsList &In) const { return Res; } -TargetsList Contract::backward(const Context &Ctx, TargetsList Output) const { +TargetsList Contract::backward(const Context &Context, + TargetsList Output) const { if (Output.empty()) return {}; @@ -176,19 +178,19 @@ TargetsList Contract::backward(const Context &Ctx, TargetsList Output) const { if (Source->depth() < TargetKind->depth()) { TargetsList All; - Source->appendAllTargets(Ctx, All); + Source->appendAllTargets(Context, All); return All; } if (Source->depth() > TargetKind->depth()) { TargetsList All; - TargetKind->appendAllTargets(Ctx, All); + TargetKind->appendAllTargets(Context, All); if (All != Output) { return Output; } TargetsList AllDestination; - Source->appendAllTargets(Ctx, AllDestination); + Source->appendAllTargets(Context, AllDestination); return AllDestination; } @@ -196,17 +198,17 @@ TargetsList Contract::backward(const Context &Ctx, TargetsList Output) const { } using BCS = ContainerToTargetsMap; -bool Contract::forwardMatches(const Context &Ctx, +bool Contract::forwardMatches(const Context &Context, const BCS &StepStatus, ArrayRef Names) const { auto It = StepStatus.find(Names[PipeArgumentSourceIndex]); if (It == StepStatus.end()) return false; const auto &SourceContainerTargets = It->second; - return forwardMatches(Ctx, SourceContainerTargets); + return forwardMatches(Context, SourceContainerTargets); } -bool Contract::backwardMatchesImpl(const Context &Ctx, +bool Contract::backwardMatchesImpl(const Context &Context, const TargetsList &List) const { if (Source == nullptr) return true; @@ -222,7 +224,7 @@ bool Contract::backwardMatchesImpl(const Context &Ctx, return true; } -bool Contract::backwardMatches(const Context &Ctx, +bool Contract::backwardMatches(const Context &Context, const BCS &StepStatus, ArrayRef Names) const { auto It = StepStatus.find(Names[PipeArgumentTargetIndex]); @@ -231,32 +233,32 @@ bool Contract::backwardMatches(const Context &Ctx, const auto &OutputContainerTarget = It->second; bool PreservedInput = Preservation == pipeline::InputPreservation::Preserve; - return backwardMatchesImpl(Ctx, OutputContainerTarget) - or (PreservedInput and forwardMatches(Ctx, OutputContainerTarget)); + return backwardMatchesImpl(Context, OutputContainerTarget) + or (PreservedInput and forwardMatches(Context, OutputContainerTarget)); } -void Contract::insertDefaultInput(const Context &Ctx, +void Contract::insertDefaultInput(const Context &Context, BCS &Status, ArrayRef Names) const { if (Source == nullptr) return; auto &SourceContainerTargets = Status[Names[PipeArgumentSourceIndex]]; - Source->appendAllTargets(Ctx, SourceContainerTargets); + Source->appendAllTargets(Context, SourceContainerTargets); } -bool ContractGroup::forwardMatches(const Context &Ctx, +bool ContractGroup::forwardMatches(const Context &Context, const BCS &Status, llvm::ArrayRef Names) const { return all_of(Content, [&](const auto &C) { - return C.forwardMatches(Ctx, Status, Names); + return C.forwardMatches(Context, Status, Names); }); } -bool ContractGroup::backwardMatches(const Context &Ctx, +bool ContractGroup::backwardMatches(const Context &Context, const BCS &Status, llvm::ArrayRef Names) const { return any_of(Content, [&](const auto &C) { - return C.backwardMatches(Ctx, Status, Names); + return C.backwardMatches(Context, Status, Names); }); } @@ -274,36 +276,36 @@ ContractGroup::getOutputs() const { } ContainerToTargetsMap -ContractGroup::deduceRequirements(const Context &Ctx, +ContractGroup::deduceRequirements(const Context &Context, const ContainerToTargetsMap &StepStatus, ArrayRef Names) const { - if (not backwardMatches(Ctx, StepStatus, Names)) { + if (not backwardMatches(Context, StepStatus, Names)) { return StepStatus; } ContainerToTargetsMap Results; for (const auto &C : llvm::reverse(Content)) { - if (C.backwardMatches(Ctx, StepStatus, Names)) { + if (C.backwardMatches(Context, StepStatus, Names)) { - Results.merge(C.deduceRequirements(Ctx, StepStatus, Names)); + Results.merge(C.deduceRequirements(Context, StepStatus, Names)); } else { - C.insertDefaultInput(Ctx, Results, Names); + C.insertDefaultInput(Context, Results, Names); } } return Results; } -void ContractGroup::deduceResults(const Context &Ctx, +void ContractGroup::deduceResults(const Context &Context, ContainerToTargetsMap &StepStatus, ArrayRef Names) const { - if (not forwardMatches(Ctx, StepStatus, Names)) + if (not forwardMatches(Context, StepStatus, Names)) return; ContainerToTargetsMap Results; for (const auto &C : Content) - C.deduceResults(Ctx, StepStatus, Results, Names); + C.deduceResults(Context, StepStatus, Results, Names); StepStatus.merge(Results); } diff --git a/lib/Pipeline/ExecutionContext.cpp b/lib/Pipeline/ExecutionContext.cpp index 336d1aa66..27b23a6f6 100644 --- a/lib/Pipeline/ExecutionContext.cpp +++ b/lib/Pipeline/ExecutionContext.cpp @@ -11,11 +11,11 @@ using namespace pipeline; -ExecutionContext::ExecutionContext(Context &Ctx, +ExecutionContext::ExecutionContext(Context &Context, PipeWrapper *Pipe, const ContainerToTargetsMap &RequestedTargets) : - TheContext(&Ctx), + TheContext(&Context), Pipe(Pipe), Requested(RequestedTargets), RunningOnPipe(Pipe != nullptr) { diff --git a/lib/Pipeline/GenericLLVMPipe.cpp b/lib/Pipeline/GenericLLVMPipe.cpp index 198a915d1..ec12f5a2e 100644 --- a/lib/Pipeline/GenericLLVMPipe.cpp +++ b/lib/Pipeline/GenericLLVMPipe.cpp @@ -35,7 +35,7 @@ public: llvm::ArrayRef Contract; ContainerToTargetsMap *Requested = nullptr; - Context *Ctx = nullptr; + Context *TheContext = nullptr; llvm::ArrayRef ContainersName; public: @@ -50,7 +50,7 @@ public: public: bool runOnModule(llvm::Module &Module) override { for (auto &Entry : Contract) - Entry.deduceResults(*Ctx, *Requested, ContainersName); + Entry.deduceResults(*TheContext, *Requested, ContainersName); return false; } }; diff --git a/lib/Pipeline/Kind.cpp b/lib/Pipeline/Kind.cpp index 7ff35578c..99bc929bb 100644 --- a/lib/Pipeline/Kind.cpp +++ b/lib/Pipeline/Kind.cpp @@ -18,13 +18,13 @@ llvm::Error Kind::verify(const ContainerBase &Container, return llvm::Error::success(); } -void SingleElementKind::appendAllTargets(const Context &Ctx, +void SingleElementKind::appendAllTargets(const Context &Context, TargetsList &Out) const { Out.push_back(Target(*this)); } -TargetsList Kind::allTargets(const Context &Ctx) const { +TargetsList Kind::allTargets(const Context &Context) const { TargetsList Out; - appendAllTargets(Ctx, Out); + appendAllTargets(Context, Out); return Out; } diff --git a/lib/Pipeline/LLVMContainer.cpp b/lib/Pipeline/LLVMContainer.cpp index 35931567f..ab33facf9 100644 --- a/lib/Pipeline/LLVMContainer.cpp +++ b/lib/Pipeline/LLVMContainer.cpp @@ -96,7 +96,9 @@ LLVMContainer::cloneFiltered(const TargetsList &Targets) const { } } - return std::make_unique(this->name(), this->Ctx, std::move(Cloned)); + return std::make_unique(this->name(), + this->TheContext, + std::move(Cloned)); } using LinkageRestoreMap = std::map> - deserialize(const Context &Ctx, llvm::StringRef ContainerName) const; + deserialize(const Context &Context, llvm::StringRef ContainerName) const; static TargetInPipe fromTargetInContainer(const TargetInContainer &Target, llvm::StringRef PipeName); @@ -55,7 +55,7 @@ public: public: llvm::Expected - deserialize(const Context &Ctx, + deserialize(const Context &Context, const Global &Primitives, llvm::StringRef PipeName, llvm::StringRef ContainerName) const; @@ -125,12 +125,12 @@ struct MappingTraits { } // namespace llvm llvm::Expected> -TargetInPipe::deserialize(const Context &Ctx, +TargetInPipe::deserialize(const Context &Context, llvm::StringRef ContainerName) const { TargetsList Targets; - llvm::Error Error = parseTarget(Ctx, + llvm::Error Error = parseTarget(Context, SerializedTarget, - Ctx.getKindsRegistry(), + Context.getKindsRegistry(), Targets); if (Error) return std::move(Error); @@ -181,7 +181,7 @@ ContainerInvalidationMetadata::serialize(const PathTargetBimap &Map, } llvm::Expected -ContainerInvalidationMetadata::deserialize(const Context &Ctx, +ContainerInvalidationMetadata::deserialize(const Context &Context, const Global &Global, llvm::StringRef PipeName, llvm::StringRef ContainerName) @@ -194,7 +194,7 @@ ContainerInvalidationMetadata::deserialize(const Context &Ctx, } llvm::Expected> - MaybeTarget = Entry.first.deserialize(Ctx, ContainerName); + MaybeTarget = Entry.first.deserialize(Context, ContainerName); if (not MaybeTarget) { return MaybeTarget.takeError(); @@ -228,7 +228,8 @@ Step::analyzeGoals(const ContainerToTargetsMap &RequiredGoals) const { std::vector PipesExecutionEntries; for (const PipeWrapper &Pipe : llvm::make_range(Pipes.rbegin(), Pipes.rend())) { - PipesExecutionEntries.push_back(Pipe.Pipe->getRequirements(*Ctx, Targets)); + PipesExecutionEntries.push_back(Pipe.Pipe->getRequirements(*TheContext, + Targets)); Targets = PipesExecutionEntries.back().Input; } std::reverse(PipesExecutionEntries.begin(), PipesExecutionEntries.end()); @@ -286,9 +287,9 @@ ContainerSet Step::run(ContainerSet &&Input, T.advance(Pipe.Pipe->getName(), false); explainExecutedPipe(*Pipe.Pipe); - ExecutionContext EC(*Ctx, &Pipe, Info.Output); + ExecutionContext EC(*TheContext, &Pipe, Info.Output); - Pipe.Pipe->deduceResults(*Ctx, EC.getCurrentRequestedTargets()); + Pipe.Pipe->deduceResults(*TheContext, EC.getCurrentRequestedTargets()); cantFail(Pipe.Pipe->run(EC, Input)); llvm::cantFail(Input.verify()); @@ -326,8 +327,8 @@ llvm::Error Step::runAnalysis(llvm::StringRef AnalysisName, explainExecutedPipe(*TheAnalysis); ContainerSet Cloned = Containers.cloneFiltered(Targets); - ExecutionContext ExecutionCtx(*Ctx, nullptr); - return TheAnalysis->run(ExecutionCtx, Cloned, ExtraArgs); + ExecutionContext EC(*TheContext, nullptr); + return TheAnalysis->run(EC, Cloned, ExtraArgs); } void Step::removeSatisfiedGoals(TargetsList &RequiredInputs, @@ -360,7 +361,7 @@ void Step::removeSatisfiedGoals(ContainerToTargetsMap &Targets, ContainerToTargetsMap Step::deduceResults(ContainerToTargetsMap Input) const { for (const PipeWrapper &Pipe : Pipes) - Input = Pipe.Pipe->deduceResults(*Ctx, Input); + Input = Pipe.Pipe->deduceResults(*TheContext, Input); return Input; } @@ -380,7 +381,7 @@ Error Step::store(const revng::DirectoryPath &DirPath) const { Error Step::checkPrecondition() const { for (const PipeWrapper &Pipe : Pipes) { - if (llvm::Error Error = Pipe.Pipe->checkPrecondition(*Ctx); Error) { + if (llvm::Error Error = Pipe.Pipe->checkPrecondition(*TheContext); Error) { std::string Message = "The precondition for pipe " + Pipe.Pipe->getName() + " failed:"; return llvm::make_error(std::move(Error), Message); @@ -425,8 +426,9 @@ Step::loadInvalidationMetadataImpl(const revng::DirectoryPath &Path, for (PipeWrapper &Pipe : Pipes) { for (NamedPathTargetBimapVector &Entry : *Parsed) { - Global *Global = llvm::cantFail(Ctx->getGlobals().get(Entry.GlobalName)); - auto Parsed(Entry.Map.deserialize(*Ctx, + Global *Global = llvm::cantFail(TheContext->getGlobals() + .get(Entry.GlobalName)); + auto Parsed(Entry.Map.deserialize(*TheContext, *Global, Pipe.Pipe->getName(), Container.first())); @@ -461,7 +463,7 @@ Step::storeInvalidationMetadata(const revng::DirectoryPath &Path) const { using Type = llvm::SmallVector; Type ToStore = {}; - for (const Global *Global : Ctx->getGlobals()) { + for (const Global *Global : TheContext->getGlobals()) { NamedPathTargetBimapVector Entry; Entry.GlobalName = Global->getName(); diff --git a/lib/Pipeline/Target.cpp b/lib/Pipeline/Target.cpp index a6e524f1b..51daf3dcf 100644 --- a/lib/Pipeline/Target.cpp +++ b/lib/Pipeline/Target.cpp @@ -95,14 +95,17 @@ std::string Target::serialize() const { return ToReturn; } -llvm::Expected Target::deserialize(Context &Ctx, +llvm::Expected Target::deserialize(Context &Context, llvm::StringRef String) { if (String.contains('*')) return llvm::createStringError(llvm::inconvertibleErrorCode(), "String cannot contain *"); TargetsList Out; - if (auto Error = parseTarget(Ctx, String, Ctx.getKindsRegistry(), Out); + if (auto Error = parseTarget(Context, + String, + Context.getKindsRegistry(), + Out); Error) { return std::move(Error); } @@ -111,7 +114,7 @@ llvm::Expected Target::deserialize(Context &Ctx, return Out.front(); } -llvm::Error pipeline::parseTarget(const Context &Ctx, +llvm::Error pipeline::parseTarget(const Context &Context, llvm::StringRef AsString, const KindsRegistry &Dict, TargetsList &Out) { @@ -142,7 +145,7 @@ llvm::Error pipeline::parseTarget(const Context &Ctx, } if (find(AsString, '*') != AsString.end()) { - It->appendAllTargets(Ctx, Out); + It->appendAllTargets(Context, Out); return llvm::Error::success(); } @@ -150,7 +153,7 @@ llvm::Error pipeline::parseTarget(const Context &Ctx, return llvm::Error::success(); } -llvm::Error pipeline::parseTarget(const Context &Ctx, +llvm::Error pipeline::parseTarget(const Context &Context, ContainerToTargetsMap &CurrentStatus, llvm::StringRef AsString, const KindsRegistry &Dict) { @@ -167,5 +170,5 @@ llvm::Error pipeline::parseTarget(const Context &Ctx, AsString.str().c_str()); } - return parseTarget(Ctx, Parts[1], Dict, CurrentStatus[Parts[0]]); + return parseTarget(Context, Parts[1], Dict, CurrentStatus[Parts[0]]); } diff --git a/lib/Pipes/FunctionPass.cpp b/lib/Pipes/FunctionPass.cpp index 2900e6b1b..cc2dc7bbb 100644 --- a/lib/Pipes/FunctionPass.cpp +++ b/lib/Pipes/FunctionPass.cpp @@ -21,8 +21,8 @@ bool pipeline::detail::runOnModule(llvm::Module &Module, auto &Analysis = Pipe.getAnalysis(); // Obtain the context - ExecutionContext *Ctx = Analysis.get(); - revng_assert(Ctx != nullptr); + ExecutionContext *EC = Analysis.get(); + revng_assert(EC != nullptr); // Run the prologue auto &ModelWrapper = Pipe.getAnalysis().get(); @@ -31,7 +31,7 @@ bool pipeline::detail::runOnModule(llvm::Module &Module, // Run on individual functions using Type = revng::kinds::TaggedFunctionKind; auto ContainerName = Analysis.getContainerName(); - auto ToIterOn = Type::getFunctionsAndCommit(*Ctx, Module, ContainerName); + auto ToIterOn = Type::getFunctionsAndCommit(*EC, Module, ContainerName); llvm::Task T(Analysis.getRequestedTargets().size(), "Running FunctionPass"); for (const auto &[ModelFunction, LLVMFunction] : ToIterOn) { T.advance(ModelFunction->Entry().toString(), true); diff --git a/lib/Pipes/PipelineManager.cpp b/lib/Pipes/PipelineManager.cpp index a4efe83bf..0b0784187 100644 --- a/lib/Pipes/PipelineManager.cpp +++ b/lib/Pipes/PipelineManager.cpp @@ -61,11 +61,10 @@ public: static Context setUpContext(LLVMContext &Context) { const auto &ModelName = revng::ModelGlobalName; - class Context Ctx; - - Ctx.addGlobal(ModelName); - Ctx.addExternalContext("LLVMContext", Context); - return Ctx; + pipeline::Context TheContext; + TheContext.addGlobal(ModelName); + TheContext.addExternalContext("LLVMContext", Context); + return TheContext; } static llvm::Error pipelineConfigurationCallback(const Loader &Loader, @@ -210,9 +209,9 @@ PipelineManager::PipelineManager(llvm::ArrayRef EnablingFlags, &&Client) : StorageClient(std::move(Client)), ExecutionDirectory(StorageClient.get(), "") { - Context = std::make_unique(); - auto Ctx = setUpContext(*Context); - PipelineContext = make_unique(std::move(Ctx)); + LLVMContext = std::make_unique(); + auto Context = setUpContext(*LLVMContext); + PipelineContext = make_unique(std::move(Context)); auto Loader = setupLoader(*PipelineContext, EnablingFlags); this->Loader = make_unique(std::move(Loader)); diff --git a/lib/Pipes/Pipes.cpp b/lib/Pipes/Pipes.cpp index 3b5c6b216..20be570b7 100644 --- a/lib/Pipes/Pipes.cpp +++ b/lib/Pipes/Pipes.cpp @@ -56,8 +56,9 @@ class LLVMPipelineRegistry : public Registry { public: void registerContainersAndPipes(Loader &Loader) override { using namespace llvm; - auto &Ctx = Loader.getContext(); - auto MaybeLLVMContext = Ctx.getExternalContext("LLVMContext"); + auto &Context = Loader.getContext(); + auto MaybeLLVMContext = Context.getExternalContext("LLVMContex" + "t"); if (!MaybeLLVMContext) return; diff --git a/lib/Pipes/RootKind.cpp b/lib/Pipes/RootKind.cpp index 0e8ef31ec..b81d8dc55 100644 --- a/lib/Pipes/RootKind.cpp +++ b/lib/Pipes/RootKind.cpp @@ -42,11 +42,12 @@ IsolatedRootKind::symbolToTarget(const llvm::Function &Symbol) const { return std::nullopt; } -void RootKind::appendAllTargets(const Context &Ctx, TargetsList &Out) const { +void RootKind::appendAllTargets(const Context &Context, + TargetsList &Out) const { Out.push_back(Target(*this)); } -void IsolatedRootKind::appendAllTargets(const Context &Ctx, +void IsolatedRootKind::appendAllTargets(const Context &Context, TargetsList &Out) const { Out.push_back(Target(*this)); } diff --git a/lib/Pipes/TaggedFunctionKind.cpp b/lib/Pipes/TaggedFunctionKind.cpp index 5c74e1e59..0f936e5f3 100644 --- a/lib/Pipes/TaggedFunctionKind.cpp +++ b/lib/Pipes/TaggedFunctionKind.cpp @@ -39,9 +39,9 @@ TaggedFunctionKind::symbolToTarget(const llvm::Function &Symbol) const { return pipeline::Target({ Address.toString() }, *this); } -void TaggedFunctionKind::appendAllTargets(const pipeline::Context &Ctx, +void TaggedFunctionKind::appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const { - const auto &Model = getModelFromContext(Ctx); + const auto &Model = getModelFromContext(Context); for (const auto &Function : Model->Functions()) { Out.push_back(Target(Function.Entry().toString(), *this)); } diff --git a/lib/Recompile/CompileModulePipe.cpp b/lib/Recompile/CompileModulePipe.cpp index bd17d1324..15b40dafc 100644 --- a/lib/Recompile/CompileModulePipe.cpp +++ b/lib/Recompile/CompileModulePipe.cpp @@ -44,7 +44,7 @@ static cl::opt OptLevel("compile-opt-level", cl::ZeroOrMore, cl::init(' ')); -static void compileModuleRunImpl(const Context &Ctx, +static void compileModuleRunImpl(const Context &Context, LLVMContainer &Module, ObjectFileContainer &TargetBinary) { using namespace revng; @@ -55,7 +55,7 @@ static void compileModuleRunImpl(const Context &Ctx, return; if (Enumeration.contains(pipeline::Target(kinds::IsolatedRoot)) - and not Enumeration.contains(kinds::Isolated.allTargets(Ctx))) + and not Enumeration.contains(kinds::Isolated.allTargets(Context))) return; StringMap &RegOptions(getRegisteredOptions()); diff --git a/lib/Yield/HexDump.cpp b/lib/Yield/HexDump.cpp index eaba99c78..d1f59d4dc 100644 --- a/lib/Yield/HexDump.cpp +++ b/lib/Yield/HexDump.cpp @@ -291,7 +291,7 @@ public: EC.commitUniqueTarget(Output); } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; diff --git a/tests/pipeline/StringContainerLibrary.cpp b/tests/pipeline/StringContainerLibrary.cpp index d745dd944..41015f439 100644 --- a/tests/pipeline/StringContainerLibrary.cpp +++ b/tests/pipeline/StringContainerLibrary.cpp @@ -21,7 +21,7 @@ using namespace ::revng::kinds; class StringKindType : public Kind { using Kind::Kind; - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override { Out.push_back(Target("f1", *this)); } diff --git a/tests/unit/Pipeline.cpp b/tests/unit/Pipeline.cpp index e2ea0a239..3dd24176b 100644 --- a/tests/unit/Pipeline.cpp +++ b/tests/unit/Pipeline.cpp @@ -65,7 +65,7 @@ public: return std::nullopt; } - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override { Out.push_back(Target(*this)); } @@ -90,7 +90,7 @@ public: return std::nullopt; } - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override { Out.push_back(Target("f1", *this)); Out.push_back(Target("f2", *this)); @@ -260,18 +260,18 @@ public: Target.enumerate().dump(); } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; BOOST_AUTO_TEST_CASE(PipeCanBeWrapper) { - Context Ctx; - ExecutionContext ExecutionCtx(Ctx, nullptr); + Context Context; + ExecutionContext EC(Context, nullptr); MapContainer Map("random-name"); Map.get({ {}, RootKind }) = 1; TestPipe Enf; - Enf.run(ExecutionCtx, Map, Map); + Enf.run(EC, Map, Map); BOOST_TEST(Map.get({ {}, RootKind2 }) == 1); } @@ -455,13 +455,13 @@ BOOST_AUTO_TEST_CASE(InputOutputContractPreservedBackwardSecondary) { } BOOST_AUTO_TEST_CASE(StepCanCloneAndRun) { - Context Ctx; - Runner Pip(Ctx); + Context Context; + Runner Pip(Context); ContainerSet Containers; auto Factory = getMapFactoryContainer(); Containers.add(CName, Factory, Factory("dont-care")); - Step Step(Ctx, + Step Step(Context, "first-step", "", std::move(Containers), @@ -485,9 +485,9 @@ BOOST_AUTO_TEST_CASE(PipelineCanBeManuallyExectued) { ContainerFactorySet Registry; Registry.registerDefaultConstructibleFactory(CName); - Context Ctx; - Runner Pip(Ctx); - Pip.addStep(Step(Ctx, + Context Context; + Runner Pip(Context); + Pip.addStep(Step(Context, "first-step", "", Registry.createEmpty(), @@ -511,8 +511,8 @@ BOOST_AUTO_TEST_CASE(PipelineCanBeManuallyExectued) { } BOOST_AUTO_TEST_CASE(SingleElementPipelineCanBeRunned) { - Context Ctx; - Runner Pip(Ctx); + Context Context; + Runner Pip(Context); ContainerSet Content; auto Factory = getMapFactoryContainer(); @@ -520,14 +520,14 @@ BOOST_AUTO_TEST_CASE(SingleElementPipelineCanBeRunned) { auto &C1 = cast(Content[CName]); C1.get(Target(RootKind)) = 1; - Step StepToAdd(Ctx, "first-step", "", std::move(Content)); + Step StepToAdd(Context, "first-step", "", std::move(Content)); Pip.addStep(std::move(StepToAdd)); ContainerSet &BCI = Pip["first-step"].containers(); BOOST_TEST(cast(BCI.at(CName)).get(Target(RootKind)) == 1); ContainerSet Containers2; Containers2.add(CName, Factory, make_unique("dont-care")); - Pip.addStep(Step(Ctx, + Pip.addStep(Step(Context, "end", "", std::move(Containers2), @@ -572,7 +572,7 @@ public: } } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; @@ -599,14 +599,14 @@ public: EC.commitAllFor(Target); } - llvm::Error checkPrecondition(const pipeline::Context &Ctx) const { + llvm::Error checkPrecondition(const pipeline::Context &Context) const { return llvm::Error::success(); } }; BOOST_AUTO_TEST_CASE(SingleElementPipelineBackwardFinedGrained) { - Context Ctx; - Runner Pipeline(Ctx); + Context Context; + Runner Pipeline(Context); Pipeline.addDefaultConstructibleFactory(CName); const std::string Name = "first-step"; @@ -650,8 +650,8 @@ BOOST_AUTO_TEST_CASE(DifferentNamesRootOnlyAreNotCompatibleSet) { } BOOST_AUTO_TEST_CASE(SingleElementPipelineFailure) { - Context Ctx; - Runner Pipeline(Ctx); + Context Context; + Runner Pipeline(Context); Pipeline.addDefaultConstructibleFactory(CName); const std::string Name = "first-step"; @@ -743,11 +743,12 @@ struct LLVMPassFunctionIdentity { BOOST_AUTO_TEST_CASE(SingleElementLLVMPipelineBackwardFinedGrained) { llvm::LLVMContext C; - Context Ctx; - Runner Pipeline(Ctx); - Pipeline.addContainerFactory(CName, - ContainerFactory::fromGlobal(&Ctx, - &C)); + Context Context; + Runner Pipeline(Context); + Pipeline + .addContainerFactory(CName, + ContainerFactory::fromGlobal(&Context, + &C)); const std::string Name = "first-step"; Pipeline.emplaceStep("", Name, ""); @@ -777,11 +778,12 @@ BOOST_AUTO_TEST_CASE(SingleElementLLVMPipelineBackwardFinedGrained) { BOOST_AUTO_TEST_CASE(LLVMPurePipe) { llvm::LLVMContext C; - Context Ctx; - Runner Pipeline(Ctx); - Pipeline.addContainerFactory(CName, - ContainerFactory::fromGlobal(&Ctx, - &C)); + Context Context; + Runner Pipeline(Context); + Pipeline + .addContainerFactory(CName, + ContainerFactory::fromGlobal(&Context, + &C)); const std::string Name = "first-_step"; PureLLVMPassWrapper IdentityPass("identity-pass"); @@ -809,8 +811,8 @@ BOOST_AUTO_TEST_CASE(LLVMPurePipe) { } BOOST_AUTO_TEST_CASE(SingleElementPipelineForwardFinedGrained) { - Context Ctx; - Runner Pipeline(Ctx); + Context Context; + Runner Pipeline(Context); Pipeline.addDefaultConstructibleFactory(CName); const std::string Name = "first-step"; @@ -841,8 +843,8 @@ BOOST_AUTO_TEST_CASE(SingleElementPipelineForwardFinedGrained) { } BOOST_AUTO_TEST_CASE(SingleElementPipelineInvalidation) { - Context Ctx; - Runner Pipeline(Ctx); + Context Context; + Runner Pipeline(Context); Pipeline.addDefaultConstructibleFactory(CName); const std::string Name = "first-step"; @@ -873,8 +875,8 @@ BOOST_AUTO_TEST_CASE(SingleElementPipelineInvalidation) { } BOOST_AUTO_TEST_CASE(SingleElementPipelineWithRemove) { - Context Ctx; - Runner Pipeline(Ctx); + Context Context; + Runner Pipeline(Context); Pipeline.addDefaultConstructibleFactory(CName); const std::string Name = "first-step"; @@ -904,8 +906,8 @@ BOOST_AUTO_TEST_CASE(LoaderTest) { { { CName, "map-container" } }, { std::move(BDeclaration) } }; - auto Ctx = Context::fromRegistry(Registry::registerAllKinds()); - Loader Loader(Ctx); + auto Context = Context::fromRegistry(Registry::registerAllKinds()); + Loader Loader(Context); Loader.addDefaultConstructibleContainer("map-container"); Loader.registerPipe("fine-grain"); @@ -946,8 +948,8 @@ static const std::string Pipeline(R"(--- )"); BOOST_AUTO_TEST_CASE(LoaderTestFromYaml) { - Context Ctx; - Loader Loader(Ctx); + Context Context; + Loader Loader(Context); Loader.addDefaultConstructibleContainer("map-container"); Loader.registerPipe("fine-grain"); auto MaybePipeline = Loader.load(Pipeline); @@ -1096,8 +1098,8 @@ public: static char ID; static inline const llvm::StringRef MIMEType = ""; - EnumerableContainerExample(Context &Ctx, llvm::StringRef Name) : - EnumerableContainer(Ctx, Name) {} + EnumerableContainerExample(Context &Context, llvm::StringRef Name) : + EnumerableContainer(Context, Name) {} unique_ptr cloneFiltered(const TargetsList &Container) const final { @@ -1145,7 +1147,7 @@ public: ExampleContainerInpsector() : ContainerEnumerator(RootKind) {} TargetsList - enumerate(const Context &Ctx, + enumerate(const Context &Context, const EnumerableContainerExample &Container) const final { TargetsList ToReturn; @@ -1158,7 +1160,7 @@ public: return Container.Targets.contains(Target); } - bool remove(const Context &Ctx, + bool remove(const Context &Context, const TargetsList &Targets, EnumerableContainerExample &Container) const { @@ -1201,7 +1203,7 @@ public: return Target({ Symbol.getName() }, FunctionKind); } - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override { Out.push_back(Target("f1", *this)); Out.push_back(Target("f2", *this)); @@ -1217,7 +1219,7 @@ public: return Target({}, RootKind); } - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override { Out.push_back(Target(*this)); } @@ -1267,7 +1269,7 @@ public: symbolToTarget(const llvm::Function &Symbol) const final { return Target({ Symbol.getName() }, *this); } - void appendAllTargets(const pipeline::Context &Ctx, + void appendAllTargets(const pipeline::Context &Context, pipeline::TargetsList &Out) const override { Out.push_back(Target("f1", *this)); Out.push_back(Target("f2", *this)); diff --git a/tools/pipeline/analyze/Main.cpp b/tools/pipeline/analyze/Main.cpp index 4b8e53945..11989fbfb 100644 --- a/tools/pipeline/analyze/Main.cpp +++ b/tools/pipeline/analyze/Main.cpp @@ -106,8 +106,9 @@ int main(int argc, char *argv[]) { Registry::runAllInitializationRoutines(); auto Manager = AbortOnError(BaseOptions.makeManager()); - const auto &Ctx = Manager.context(); - auto OriginalModel = *AbortOnError(Ctx.getGlobal(ModelGlobalName)); + const auto &Context = Manager.context(); + auto OriginalModel = *AbortOnError(Context + .getGlobal(ModelGlobalName)); if (Arguments.size() == 0) { std::cout << "USAGE: revng-analyze [options] \n\n"; diff --git a/tools/pipeline/invalidate/Main.cpp b/tools/pipeline/invalidate/Main.cpp index 07f4b3b29..0431ab3c4 100644 --- a/tools/pipeline/invalidate/Main.cpp +++ b/tools/pipeline/invalidate/Main.cpp @@ -56,8 +56,8 @@ static TargetInStepSet getTargetInStepSet(Runner &Pipeline) { for (llvm::StringRef Target : Targets) { auto [StepName, Rest] = Target.split("/"); auto &ToInvalidate = Invalidations[StepName]; - auto &Ctx = Pipeline.getContext(); - AbortOnError(parseTarget(Ctx, ToInvalidate, Rest, Registry)); + auto &Context = Pipeline.getContext(); + AbortOnError(parseTarget(Context, ToInvalidate, Rest, Registry)); } return Invalidations;