Commit Graph

676 Commits

Author SHA1 Message Date
Sameer Rahmani e9708f0690 Update the README file with the new LLVM SHA 2022-06-11 18:02:33 +01:00
Sameer Rahmani f436d6cee4 Moving to the a JIT first design
I realized that focusing on SLIR at this stage is wrong. I need
to finish up the JIT first and use the JIT to implement `read`,
`eval` and `print` functions by linking their C++ implementations
via a static library to the target code and then focus on SLIR
or any alternative that might come next.

This is the finish linke for the `0.x` version series.
2022-06-10 21:49:11 +01:00
Sameer Rahmani 3f025a1a85 Add Ptr type and constrain and break types/ops out of dialect file 2022-06-05 00:02:25 +01:00
Sameer Rahmani 57f71ec4f2 Fix the type names and add PtrType to type_converter 2022-06-05 00:01:52 +01:00
Sameer Rahmani 4015fd6b7e Add the `registerType` function to the dialect to break types into their own file 2022-06-04 23:59:27 +01:00
Sameer Rahmani ea403d444d Simplify string type to just contain a length 2022-06-02 17:32:59 +01:00
Sameer Rahmani d64910e9cc Lower serene.symbol to llvm struct type 2022-06-02 17:20:53 +01:00
Sameer Rahmani bbebc449dd Lower the `symbol` op to create static symbols 2022-06-02 15:36:05 +01:00
Sameer Rahmani 9348335959 Add a very basic string type to SLIR 2022-06-02 15:35:46 +01:00
Sameer Rahmani 5d3420a099 Add `convert` and `define_constant` operations to SLIR 2022-06-02 15:33:35 +01:00
Sameer Rahmani b6200a869b Add a type converter to convert serene types to LLVM dialect types 2022-06-02 15:31:01 +01:00
Sameer Rahmani bb49b7755d Add the depedancy list to the SereneDialect definition 2022-06-02 15:30:32 +01:00
Sameer Rahmani 1325185d4f Add proper depedencies to the LowerSLIR pass 2022-06-02 15:29:49 +01:00
Sameer Rahmani 7c868325b3 Add the fold functoin for value op 2022-06-02 15:24:27 +01:00
Sameer Rahmani 47a5def820 Migrate to LLVM 15-dev 2022-06-02 15:23:42 +01:00
Sameer Rahmani 31c98d2b3b Load llvm dialect in SereneContext 2022-06-02 15:19:31 +01:00
Sameer Rahmani 7b5ba7797d Add few constants to config.h to avoid magic numbers 2022-06-02 15:17:42 +01:00
Sameer Rahmani e326964bdb Add a glossary section to the spec.org 2022-06-02 15:07:01 +01:00
Sameer Rahmani 571691598d Revert the slir example to use module instead of ns 2022-06-02 15:04:10 +01:00
Sameer Rahmani 6cfa669eba Add llvm dialect to slir-opt 2022-06-02 15:00:54 +01:00
Sameer Rahmani b693472f51 Update gitignore patterns 2022-06-02 15:00:26 +01:00
Sameer Rahmani 97b31e8cb0 Add the NsOp to represent namespaces 2022-04-27 21:49:57 +01:00
Sameer Rahmani 0d7f51da8a Add the 'call' operation to slir 2022-04-20 21:24:01 +01:00
Sameer Rahmani 6abc125e6e Add the RetrunOp 'ret' to slir 2022-04-08 11:39:48 +01:00
Sameer Rahmani fe181755e7 Add fn,def and value operations to slir 2022-04-08 11:02:46 +01:00
Sameer Rahmani aa7cd548cf Add fn,def and value operations to slir 2022-04-08 10:34:47 +01:00
Sameer Rahmani 3a3e3a4da4 Rename the old ops of slir to mark them for removal 2022-04-08 10:30:09 +01:00
Sameer Rahmani 12c2d1d455 Fix the slir-opt tool to use slir and few builtin IRs 2022-04-05 00:05:27 +01:00
Sameer Rahmani b7af46cdde Upgrade to LLVM15 dev 2022-04-04 23:03:48 +01:00
Sameer Rahmani d9c4322ad1 Fix standardops to funcops headers 2022-04-04 22:50:08 +01:00
Sameer Rahmani 5508a8e3c3 Add devtools utility set 2022-04-04 22:43:12 +01:00
Sameer Rahmani 628598ad8b Add devtools utility set 2022-04-04 22:42:56 +01:00
Sameer Rahmani 92f7616ed1 Finish up ep number 18 2022-03-29 19:56:48 +01:00
Sameer Rahmani 7ee22721f7 Try different approach alternative to llvm::Error 2022-03-29 19:56:13 +01:00
Sameer Rahmani 7050e7d53d Clean up the halley files 2022-03-29 19:55:42 +01:00
Sameer Rahmani b9496b429e Fix the builder paths for top level binaries 2022-03-29 19:49:56 +01:00
Sameer Rahmani a215eb6cd9 Rename to and remove cleanup the source tree for errors 2022-03-10 19:48:33 +00:00
Sameer Rahmani 4605e22e68 Refactor the error handling system to have only one llvm error with many variants 2022-03-10 19:31:48 +00:00
Sameer Rahmani 1cd5824608 Add a test case for errors::getMessage 2022-03-08 17:38:02 +00:00
Sameer Rahmani 1e8d23b8ef Add tests for symbol and numbers 2022-03-08 15:58:02 +00:00
Sameer Rahmani df2300498b Clean up the reader's test cases 2022-03-08 14:20:15 +00:00
Sameer Rahmani d52b2bedd2 Fix the remaning license headers from the MIT era 2022-03-08 13:32:10 +00:00
Sameer Rahmani 2860e570da Refactor the error-backend and setup the test file for it 2022-03-08 13:19:34 +00:00
Sameer Rahmani 7d7293aa32 Change the storage type in Environment to StringMap 2022-03-05 16:03:19 +00:00
Sameer Rahmani 500f366bab Setup the Environment test cases 2022-03-05 14:28:37 +00:00
Sameer Rahmani 6f4c6b3398 Finish the review of SereneContext 2022-03-02 18:26:39 +00:00
Sameer Rahmani 644cf11c89 Finish ep17 and address trivial TODOs in the context 2022-02-27 19:10:30 +00:00
Sameer Rahmani 6eaba7dbe8 Panic if can't make a JIT while creating a context 2022-02-23 12:51:54 +00:00
Sameer Rahmani 840a7c565c [context] Replace the targetTriple string with a Triple object 2022-02-22 18:50:42 +00:00
Sameer Rahmani 578afc30a4 Remove the llvmContext member in SereneContext in favor of getLLVMContext 2022-02-20 20:59:57 +00:00