11// Copyright 2015-2023 Piperift - All rights reserved
22
3+ #include < Pipe/Memory/NewDelete.h>
4+ // Override as first include
5+
36#include < AST/Utils/ModuleUtils.h>
47#include < Compiler/Compiler.h>
58#include < Compiler/Utils/BackendUtils.h>
69#include < FrameworkModule.h>
710#include < GraphViewModule.h>
811#include < LLVMBackendModule.h>
12+ #include < MIRBackendModule.h>
913#include < Pipe/Core/Profiler.h>
1014#include < Pipe/Files/Paths.h>
1115#include < Pipe/Pipe.h>
@@ -20,8 +24,7 @@ using namespace rift;
2024
2125namespace rift
2226{
23- void AddBackendOption (
24- CLI::App& app, const TArray<TOwnPtr<compiler::Backend>>& backends, String& selected)
27+ void AddBackendOption (CLI::App& app, const TArray<TOwnPtr<Backend>>& backends, String& selected)
2528 {
2629 String desc = " Backend to build with. Available: " ;
2730 if (!backends.IsEmpty ())
@@ -45,10 +48,9 @@ namespace rift
4548 app.add_option (" -b,--backend" , selected, stdDesc, true );
4649 }
4750
48- TPtr<compiler::Backend> FindBackendByName (
49- const TArray<TOwnPtr<compiler::Backend>>& backends, Tag name)
51+ TPtr<Backend> FindBackendByName (const TArray<TOwnPtr<Backend>>& backends, Tag name)
5052 {
51- TOwnPtr<compiler:: Backend>* backend = backends.Find ([name](const auto & backend) {
53+ TOwnPtr<Backend>* backend = backends.Find ([name](const auto & backend) {
5254 return backend->GetName () == name;
5355 });
5456 if (backend)
@@ -65,6 +67,7 @@ int main(int argc, char** argv)
6567 p::Initialize (" Saved/Logs" );
6668 EnableModule<FrameworkModule>();
6769 EnableModule<LLVMBackendModule>();
70+ EnableModule<MIRBackendModule>();
6871 EnableModule<GraphViewModule>();
6972
7073 CLI::App app{" Rift compiler" };
@@ -73,12 +76,12 @@ int main(int argc, char** argv)
7376
7477
7578 String selectedBackendStr;
76- auto availableBackends = compiler:: CreateBackends ();
79+ auto availableBackends = CreateBackends ();
7780 AddBackendOption (app, availableBackends, selectedBackendStr);
7881
7982 CLI11_PARSE (app, argc, argv);
8083
81- TPtr<compiler:: Backend> backend = FindBackendByName (availableBackends, Tag (selectedBackendStr));
84+ TPtr<Backend> backend = FindBackendByName (availableBackends, Tag (selectedBackendStr));
8285
8386 ZoneScopedNC (" CLI Execution" , 0x459bd1 );
8487
@@ -87,12 +90,12 @@ int main(int argc, char** argv)
8790
8891 if (!AST::HasProject (ast))
8992 {
90- Log ::Error (" Couldn't open project '{}'" , p::ToString (path));
93+ p ::Error (" Couldn't open project '{}'" , p::ToString (path));
9194 return 1 ;
9295 }
9396
94- compiler::Config config;
95- compiler:: Build (ast, config, backend);
97+ CompilerConfig config;
98+ Build (ast, config, backend);
9699
97100 while (true )
98101 {
0 commit comments