Commit Graph

207 Commits

Author SHA1 Message Date
Sasha Koshka
3a4a5683b5 Remove redundant val variable/declaration generation 2024-01-27 14:17:52 -05:00
Sasha Koshka
f994c4dc08 Rename some routines in data 2024-01-27 14:03:38 -05:00
15541b8675 Merge pull request 'generator-reduce-redundant-ir' (#2) from generator-reduce-redundant-ir into main
Reviewed-on: sashakoshka/fspl#2
2024-01-27 17:40:37 +00:00
Sasha Koshka
805a9a110f Updated more tests (cutting out extra load insts) 2024-01-27 17:35:33 +00:00
Sasha Koshka
91d4b92e6b Fix more names and orgaization of statement generation 2024-01-27 17:33:15 +00:00
Sasha Koshka
021a289623 Added -Any suffix to appropriate generation routines 2024-01-27 17:24:47 +00:00
Sasha Koshka
5085ea8502 Fixed segfault relating to break and return statements 2024-01-27 17:11:44 +00:00
Sasha Koshka
b13130db8e Introducing ResultMode! time to got to bed. 2024-01-27 10:43:27 +00:00
Sasha Koshka
21fd6a4130 Update some tests 2024-01-27 10:06:17 +00:00
Sasha Koshka
706e2e0286 Updated control flow generation 2024-01-27 10:03:15 +00:00
Sasha Koshka
6d28d52cdf Void functions/methods no longer request a value 2024-01-27 09:22:19 +00:00
Sasha Koshka
fc5dda739e Made generic block generation routine 2024-01-27 09:18:41 +00:00
Sasha Koshka
8bf3938842 Made panic messages in expression-multiplex.go more informative 2024-01-27 09:15:39 +00:00
Sasha Koshka
43130fd0da Add Val onto value expressions 2024-01-27 09:09:27 +00:00
Sasha Koshka
cc5ed3c2ee Update block generation routines 2024-01-27 09:06:17 +00:00
Sasha Koshka
b1799c25e1 Add generateStatement routine 2024-01-27 08:53:29 +00:00
Sasha Koshka
1f653be8cc Renamed generateStatement to generateStatementVal 2024-01-27 08:49:25 +00:00
Sasha Koshka
43aae56b37 Add generateExpression function 2024-01-27 08:48:00 +00:00
Sasha Koshka
f9d53d7ab7 Rename expression source files 2024-01-27 08:40:02 +00:00
Sasha Koshka
fbaec1efdb Rename generateExpression to generateExpressionVal 2024-01-27 08:39:05 +00:00
Sasha Koshka
10fb780e50 Nitpick 2024-01-27 08:26:46 +00:00
Sasha Koshka
6de2a9d37d Change restricted access modifier to tilde (~) 2024-01-27 07:42:13 +00:00
Sasha Koshka
8606c761e8 Same thing for bit casts 2024-01-27 07:05:34 +00:00
Sasha Koshka
b56dceb3e1 Generator now no longer generates ineffectual value casts 2024-01-27 07:03:13 +00:00
Sasha Koshka
7318bfbc88 Added a way to test IR type equality 2024-01-27 06:49:30 +00:00
ca6be75cf0 Merge pull request 'llvm-implement-globals' (#1) from llvm-implement-globals into main
Reviewed-on: sashakoshka/fspl#1
2024-01-27 04:33:39 +00:00
Sasha Koshka
9ac9af8bcb Add IsConstant to Global 2024-01-27 04:16:41 +00:00
Sasha Koshka
ed350f94b8 Add basic globals implementation 2024-01-27 01:49:18 +00:00
Sasha Koshka
709ec56873 Move addrspace to attribute file, will put more things in there 2024-01-27 01:48:29 +00:00
Sasha Koshka
6b9c165d14 Add function to encode global identifier 2024-01-27 01:47:52 +00:00
Sasha Koshka
b0c62642f5 Add more tests to generator 2024-01-27 01:00:07 +00:00
Sasha Koshka
4c66ad4b44 Replace bugs section with caveats in README 2024-01-26 22:11:35 +00:00
Sasha Koshka
35dbbebb8b Updated stuff to use the new routines in data.go 2024-01-26 05:35:47 +00:00
Sasha Koshka
098248da19 More routines in data.go 2024-01-26 05:35:22 +00:00
Sasha Koshka
a80cd600b5 Added a test case for a Writer interface
I really need to cut out a lot of the unnecessary IR that the
generator emits
2024-01-26 04:32:55 +00:00
Sasha Koshka
ea32fcc7d5 Added a test case for casting slices to pointers 2024-01-26 04:21:30 +00:00
Sasha Koshka
d28bfbac16 Fix conversion of slices to pointers 2024-01-26 04:07:58 +00:00
Sasha Koshka
34b9812db4 Same thing as last commit 2024-01-26 04:05:58 +00:00
Sasha Koshka
85a582e349 Add more comments to explain casting rules in analyzer 2024-01-26 00:40:22 +00:00
Sasha Koshka
8e458111b5 Change the location at which defined IR types are wrapped
Defined IR types are wrapped in a TypeDefined by generateTypeNamed.
This causes them to be sent through GEP, which is necessary for
testing.
2024-01-25 22:57:52 +00:00
Sasha Koshka
f6604dcecd Wrote test for getelementptr'ing into chained typedefs 2024-01-25 18:19:34 +00:00
Sasha Koshka
67a0157cbd Use TypeDefined in generator 2024-01-25 18:19:22 +00:00
Sasha Koshka
2a927b209f Added a way to wrap a defined type via TypeDefined
This allows "copies" of a type that refer to a source to be created
and have their names changed/redefined without modifying the source
type.
2024-01-25 18:08:26 +00:00
Sasha Koshka
f1d48d74a2 Add test for chained typedefs with different names 2024-01-25 17:56:20 +00:00
Sasha Koshka
5b5c66d409 I forgot comments existed haha 2024-01-25 08:27:18 +00:00
Sasha Koshka
699cd88000 Nicer testing framework for lexer 2024-01-25 08:27:17 +00:00
Sasha Koshka
54ac39ee01 Lexer now accepts files with no blank line at the end 2024-01-25 08:27:17 +00:00
a0d31fad38 Update README.md 2024-01-25 07:43:21 +00:00
Sasha Koshka
b20dbcebbb Add logo to readme 2024-01-25 07:42:32 +00:00
Sasha Koshka
bb59f8de4a Fix duplicated pointer types 2024-01-25 07:36:51 +00:00