Wolfgang (Blub) Bumiller
|
24d35d8ab8
|
generate the trailing zero
|
2012-06-25 11:52:34 +02:00 |
|
Wolfgang (Blub) Bumiller
|
249ecd60db
|
Generate function global, take 2-op instruction operand ordering into account
|
2012-06-25 11:52:18 +02:00 |
|
Wolfgang (Blub) Bumiller
|
f61d4331fe
|
Fixing NULL->false and empty lines...
|
2012-06-11 19:25:21 +02:00 |
|
Dale Weiler
|
04cf1d549f
|
Merge branch 'irgen'
|
2012-06-07 11:24:55 -04:00 |
|
Dale Weiler
|
72f3af6c50
|
Better fail
|
2012-06-07 11:24:28 -04:00 |
|
Dale Weiler
|
15d4534202
|
Fixed more warnings
|
2012-06-07 11:18:04 -04:00 |
|
Dale Weiler
|
2929eb39a8
|
fixed -Wconditional-uninitialized for ast codegen
|
2012-06-07 11:12:12 -04:00 |
|
Dale Weiler
|
f4bc6ba08a
|
Removed even more warnings
|
2012-06-07 11:09:29 -04:00 |
|
Dale Weiler
|
ce941066db
|
removed more warnings
|
2012-06-07 11:04:38 -04:00 |
|
Dale Weiler
|
911c2bddb6
|
fixed shadow issue
|
2012-06-07 10:59:57 -04:00 |
|
Dale Weiler
|
84c110e8f5
|
More compile warnings (disabled many for now, they will be re-enabled one-by-one as code that triggers warnings is rectified)
|
2012-06-07 10:57:48 -04:00 |
|
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 |
|