Dale Weiler
|
d59819620b
|
s/\t/ /g
|
2012-06-07 10:20:54 -04:00 |
|
Dale Weiler
|
4e9fc02a95
|
splint: use typedef instead of macro
|
2012-06-07 10:19:00 -04:00 |
|
Wolfgang Bumiller
|
dc74573fae
|
Print the name, not the struct pointer :S
|
2012-05-13 14:06:50 +02:00 |
|
Dale Weiler
|
127ad76c65
|
Whitespace
|
2012-05-11 12:02:22 -04:00 |
|
Wolfgang (Blub) Bumiller
|
9ef0435f9d
|
fixing fwrite calls I had messed up
|
2012-05-09 18:24:13 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5673267c01
|
Adding a few error message.
|
2012-05-09 17:39:17 +02:00 |
|
Wolfgang (Blub) Bumiller
|
dfc0f6fab3
|
TYPE_VARIANT in codegen, writing code from ast-test
|
2012-05-09 17:30:08 +02:00 |
|
Wolfgang (Blub) Bumiller
|
61d3a9d1a0
|
generating block code in a simple naive order for now - the ast / parser should help improving order
|
2012-05-09 15:03:19 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9d72fa9a03
|
Checking if mem_a returns NULL in ir_..._new functions
|
2012-05-09 15:03:19 +02:00 |
|
Wolfgang (Blub) Bumiller
|
f5cbd73768
|
It's the same TYPE enum...
|
2012-05-09 15:03:19 +02:00 |
|
Wolfgang Bumiller
|
5ca6f4abca
|
More work on generating code - still not instantiating function-statements, 2 kinds of FIXME comments: relocation and creation of ir_values for ir_functions
|
2012-05-09 15:03:19 +02:00 |
|
Wolfgang Bumiller
|
c252c7e62b
|
Starting ir_builder_generate - TYPE_FUNCTION still TODO
|
2012-05-09 15:03:19 +02:00 |
|
Wolfgang Bumiller
|
1fd7e30de6
|
code_cachedstring
|
2012-05-09 15:03:19 +02:00 |
|
Wolfgang Bumiller
|
edcb976053
|
Convenience function to store a predefined string in the qc string area
|
2012-05-09 15:03:19 +02:00 |
|
Wolfgang Bumiller
|
8bfbe4d619
|
Preparing to generate code from the IR - code_write should return a bool, and take a filename rather than use program.dat hardcoded
|
2012-05-09 15:03:19 +02:00 |
|
Dale Weiler
|
ac890513e4
|
readme s/\t/ /g
|
2012-05-06 17:00:16 -04:00 |
|
Dale Weiler
|
4a1f67bb97
|
Updated readme
|
2012-05-06 16:58:30 -04:00 |
|
Dale Weiler
|
fc1844e2a2
|
Merge branch 'master' of github.com:graphitemaster/gmqcc
|
2012-05-04 22:01:26 -04:00 |
|
Dale Weiler
|
99971b7806
|
util_strncmpexact
|
2012-05-04 22:01:02 -04:00 |
|
Wolfgang (Blub) Bumiller
|
704394c0a2
|
removing ast-test macro concept
|
2012-05-04 13:04:06 +02:00 |
|
Wolfgang (Blub) Bumiller
|
87b08247a1
|
A new ast-test, now using some macros to make them easier to write...
|
2012-05-04 12:28:35 +02:00 |
|
Wolfgang (Blub) Bumiller
|
200b425db0
|
Fixed some dangling '}', it compiles again now
|
2012-05-04 12:26:24 +02:00 |
|
Wolfgang (Blub) Bumiller
|
73749db6b4
|
What was I thinking... fixing loop's jump creation so it doesn't try creating multiple jumps... this code is also much more readable
|
2012-05-04 12:24:44 +02:00 |
|
Wolfgang (Blub) Bumiller
|
c670a8d278
|
ast_loop must end by entering the outgoing block
|
2012-05-04 12:01:53 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e0331ef15f
|
Changing life-range calculation to include the last read because then it doesn't need another vector to keep elements in. In order for this to make sense, the life-range overlap test now returns false if the end of one range _equals_ the beginning of the other, since that's not truly overlapping anymore
|
2012-05-04 10:20:04 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2f92dedb4c
|
Move the output block of a loop to after the loop, otherwise IR dumps looks just messy... note that this is merely a cosmetic change
|
2012-05-04 10:01:38 +02:00 |
|
Dale Weiler
|
6b52c66d11
|
More assembly parsing (function call stuff)
|
2012-05-03 19:45:59 -04:00 |
|
Wolfgang (Blub) Bumiller
|
c3460c1654
|
ast_function gets 'breakblock' and 'continueblock' for break and continue support; fixed some typos; added huge ast_loop_codegen implementation... need to go through it and check
|
2012-05-04 00:16:51 +02:00 |
|
Dale Weiler
|
510d795c06
|
More assembler code (less allocations too)
|
2012-05-03 16:54:34 -04:00 |
|
Wolfgang (Blub) Bumiller
|
a1a9fc797d
|
Same for ternary: reordered a bit, and fixing ontrue->onfalse at the jump back to the merge block
|
2012-05-03 22:07:58 +02:00 |
|
Wolfgang (Blub) Bumiller
|
8a543bfae1
|
reorder ifthen codegen and fix a jump generation where I used ontrue instead of onfalse
|
2012-05-03 22:05:20 +02:00 |
|
Wolfgang (Blub) Bumiller
|
375cfd24b3
|
ast_loop - codegen dummied
|
2012-05-03 21:57:13 +02:00 |
|
Wolfgang (Blub) Bumiller
|
3e974a1a24
|
If-protect on_true and on_false in ast_ifthen since they can be NULL (contrary to ast_ternary where they can't)
|
2012-05-03 21:56:05 +02:00 |
|
Wolfgang (Blub) Bumiller
|
bbcd3f12de
|
Removing TODO-comment since it's done
|
2012-05-03 18:38:29 +02:00 |
|
Wolfgang (Blub) Bumiller
|
b5aed08c93
|
Dump should print a warning if lifepasses don't match...
|
2012-05-03 14:17:00 +02:00 |
|
Wolfgang (Blub) Bumiller
|
46122235e6
|
ast_function_codegen: Add a return instruction if it is missing, or error if we're not in a void-function
|
2012-05-03 14:15:02 +02:00 |
|
Wolfgang (Blub) Bumiller
|
bd84ebcf74
|
ast-test should also finalize functions directly
|
2012-05-03 14:04:35 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5c385a3c78
|
naive_phi now recognizes both store_local and store_value as non-global, create_store prints the operand names on an invalid store to a value of store-type store_value
|
2012-05-03 14:01:56 +02:00 |
|
Wolfgang (Blub) Bumiller
|
4acea855c5
|
ir-test.c to use assertions, abort alone creates an ugly output
|
2012-05-03 14:00:38 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0f023bc219
|
sprintf with length modifiers is annoying...
|
2012-05-03 13:45:24 +02:00 |
|
Wolfgang (Blub) Bumiller
|
627ef279fd
|
ast_test to build an IR
|
2012-05-03 13:26:49 +02:00 |
|
Wolfgang (Blub) Bumiller
|
4c9c6ee5bd
|
ast_ternary_codegen - beware, it's almost a spaghetti... almost...
|
2012-05-03 13:02:29 +02:00 |
|
Wolfgang (Blub) Bumiller
|
91bf040f0a
|
ast_function_label now takes a labelname to prefix the id with
|
2012-05-03 12:40:49 +02:00 |
|
Wolfgang (Blub) Bumiller
|
54c92d5ae1
|
ast_ifthen_codegen
|
2012-05-03 12:38:43 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2c329db9b9
|
ast_entfield_codegen
|
2012-05-03 12:19:33 +02:00 |
|
Wolfgang (Blub) Bumiller
|
da9a4fef29
|
Type information moved to ast_expression from ast_value, every ast node should in theory know its type - it is important for dereferencing pointers or entity fields, to figure out the output type. Eg. so that ast_entfield knows what kind of OP_LOAD it needs to use
|
2012-05-03 12:12:22 +02:00 |
|
Dale Weiler
|
c1a85378d5
|
Trailing whitespace was imminent, pending editor configuration change to accomodate insanity.
|
2012-05-02 18:03:17 -04:00 |
|
Dale Weiler
|
21e992aa3a
|
supress attribute warnings
|
2012-05-02 17:57:45 -04:00 |
|
Dale Weiler
|
1ae035c714
|
Merge remote-tracking branch 'origin/ast-and-ir'
|
2012-05-02 17:46:21 -04:00 |
|
Wolfgang (Blub) Bumiller
|
4317f40fa5
|
ast_binary_codegen, ast_function_label (no I don't like sprintf...)
|
2012-05-02 23:11:39 +02:00 |
|