]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Wolfgang Bumiller [Thu, 26 Jul 2012 21:22:53 +0000 (23:22 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang Bumiller [Thu, 26 Jul 2012 21:22:51 +0000 (23:22 +0200)]
handling return
Wolfgang Bumiller [Thu, 26 Jul 2012 21:18:15 +0000 (23:18 +0200)]
return is a keyword
Wolfgang Bumiller [Thu, 26 Jul 2012 20:11:46 +0000 (22:11 +0200)]
INSTR_NOT_* output to opC not opB...
Wolfgang Bumiller [Thu, 26 Jul 2012 19:18:39 +0000 (21:18 +0200)]
ast_return
Wolfgang Bumiller [Thu, 26 Jul 2012 18:45:18 +0000 (20:45 +0200)]
ast/ir support for unary instructions
Wolfgang Bumiller [Sun, 22 Jul 2012 10:35:29 +0000 (12:35 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang Bumiller [Sun, 22 Jul 2012 10:35:10 +0000 (12:35 +0200)]
Removed params from ast_function again. It really is superfluous to copy them, just generate them from its ast_value's param list
Wolfgang Bumiller [Sun, 22 Jul 2012 10:22:33 +0000 (12:22 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang Bumiller [Sun, 22 Jul 2012 10:22:25 +0000 (12:22 +0200)]
fix a warning about a format string
Wolfgang Bumiller [Sun, 22 Jul 2012 10:21:43 +0000 (12:21 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang Bumiller [Sun, 22 Jul 2012 10:20:06 +0000 (12:20 +0200)]
use type_sizeof in another place where it wasn't
Wolfgang Bumiller [Sun, 22 Jul 2012 10:15:48 +0000 (12:15 +0200)]
ast_function generates parameter locals, ir_function_create_local now allows adding parameters as long as no local variables have been added yet
Wolfgang Bumiller [Sun, 22 Jul 2012 10:07:07 +0000 (12:07 +0200)]
store_param storetype, parameter value list added to ast_function
Wolfgang Bumiller [Sun, 22 Jul 2012 09:17:01 +0000 (11:17 +0200)]
Handling parenthesis in expressions
Wolfgang Bumiller [Fri, 20 Jul 2012 19:42:36 +0000 (21:42 +0200)]
ast_binary_new should determine the return type...
Wolfgang Bumiller [Fri, 20 Jul 2012 19:36:37 +0000 (21:36 +0200)]
the IR won't create globals of the same name - make names starting with # an exception
Wolfgang Bumiller [Fri, 20 Jul 2012 19:32:51 +0000 (21:32 +0200)]
add locals to their ast_block, can create stores now
Wolfgang Bumiller [Fri, 20 Jul 2012 19:19:30 +0000 (21:19 +0200)]
Handling some operands, added type_name array
Wolfgang Bumiller [Fri, 20 Jul 2012 13:34:51 +0000 (15:34 +0200)]
static operator_count
Wolfgang Bumiller [Fri, 20 Jul 2012 13:20:07 +0000 (15:20 +0200)]
parser_sy_pop, has to pop operators and operands and push the result
Wolfgang Bumiller [Fri, 20 Jul 2012 13:02:49 +0000 (15:02 +0200)]
working on operator translation
Wolfgang Bumiller [Fri, 20 Jul 2012 13:02:18 +0000 (15:02 +0200)]
handling of operations
Wolfgang Bumiller [Fri, 20 Jul 2012 12:45:23 +0000 (14:45 +0200)]
Starting expression parsing
Wolfgang Bumiller [Fri, 20 Jul 2012 12:34:45 +0000 (14:34 +0200)]
keeping float immediates/constants in parser's imm_float vector
Wolfgang Bumiller [Fri, 20 Jul 2012 12:19:19 +0000 (14:19 +0200)]
operator ids need to be written later -_-
Wolfgang Bumiller [Fri, 20 Jul 2012 12:04:52 +0000 (14:04 +0200)]
Adding ids to operators for SYA later
Wolfgang Bumiller [Fri, 20 Jul 2012 11:00:11 +0000 (13:00 +0200)]
statement/expression proto
Wolfgang Bumiller [Fri, 20 Jul 2012 10:53:42 +0000 (12:53 +0200)]
Handling of multiple variables with comma
Wolfgang Bumiller [Fri, 20 Jul 2012 10:46:59 +0000 (12:46 +0200)]
Local variable parsing
Wolfgang Bumiller [Thu, 19 Jul 2012 18:30:36 +0000 (20:30 +0200)]
Keep track of blocklocal in parser_parse_block
Wolfgang Bumiller [Thu, 19 Jul 2012 18:15:30 +0000 (20:15 +0200)]
Factoring out variable parsing so it can be used for locals too
Wolfgang Bumiller [Thu, 19 Jul 2012 17:57:24 +0000 (19:57 +0200)]
Proto for parsing a function body
Wolfgang Bumiller [Thu, 19 Jul 2012 17:55:25 +0000 (19:55 +0200)]
null-init parser_t, add a function member to it
Wolfgang Bumiller [Thu, 19 Jul 2012 17:53:58 +0000 (19:53 +0200)]
Properly parse functions without parameters
Wolfgang Bumiller [Thu, 19 Jul 2012 17:52:44 +0000 (19:52 +0200)]
Parse away the semicolon after an assignment
Wolfgang Bumiller [Thu, 19 Jul 2012 16:14:25 +0000 (18:14 +0200)]
merging master, and adapting
Wolfgang Bumiller [Thu, 19 Jul 2012 16:14:08 +0000 (18:14 +0200)]
removing params vector from ast_function, params are stored in its ast_value only
Wolfgang Bumiller [Thu, 19 Jul 2012 16:10:12 +0000 (18:10 +0200)]
additional/superfluous check removed
Wolfgang Bumiller [Thu, 19 Jul 2012 16:06:56 +0000 (18:06 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang Bumiller [Thu, 19 Jul 2012 16:06:37 +0000 (18:06 +0200)]
ir_function_dump to print builtins as such
Wolfgang Bumiller [Thu, 19 Jul 2012 16:04:57 +0000 (18:04 +0200)]
Properly check if it's a function... checking the parameter count is not a correct check
Wolfgang Bumiller [Thu, 19 Jul 2012 15:54:35 +0000 (17:54 +0200)]
builtins are negative
Wolfgang Bumiller [Thu, 19 Jul 2012 15:53:45 +0000 (17:53 +0200)]
handling function definitions better, generating functions
Wolfgang Bumiller [Thu, 19 Jul 2012 15:39:19 +0000 (17:39 +0200)]
Handling definition of builtins
Wolfgang Bumiller [Thu, 19 Jul 2012 10:17:00 +0000 (12:17 +0200)]
handle EOF
Wolfgang Bumiller [Thu, 19 Jul 2012 09:41:16 +0000 (11:41 +0200)]
parsing typenames completely now with function parameters
Wolfgang Bumiller [Thu, 19 Jul 2012 09:25:53 +0000 (11:25 +0200)]
Building the output - global variables for now
Wolfgang Bumiller [Thu, 19 Jul 2012 09:22:09 +0000 (11:22 +0200)]
Don't die on regular EOF
Wolfgang Bumiller [Mon, 16 Jul 2012 12:52:52 +0000 (14:52 +0200)]
Reading a global def
Wolfgang Bumiller [Mon, 16 Jul 2012 12:14:37 +0000 (14:14 +0200)]
Starting some parsing
Wolfgang Bumiller [Mon, 16 Jul 2012 11:59:10 +0000 (13:59 +0200)]
Copying my old lexer
Wolfgang Bumiller [Mon, 16 Jul 2012 10:43:12 +0000 (12:43 +0200)]
Temporarily reordering instructions for compatibility
Wolfgang Bumiller [Mon, 16 Jul 2012 10:31:43 +0000 (12:31 +0200)]
Clearing main
Wolfgang Bumiller [Mon, 16 Jul 2012 10:29:55 +0000 (12:29 +0200)]
Reverting the removal of _FV instructions, it's just easier this way
Wolfgang Bumiller [Mon, 16 Jul 2012 10:29:44 +0000 (12:29 +0200)]
fixing matrix/quaternion constval setters
Wolfgang Bumiller [Mon, 16 Jul 2012 10:28:06 +0000 (12:28 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang Bumiller [Mon, 16 Jul 2012 10:27:58 +0000 (12:27 +0200)]
Correct variable name for type_storep_instr
Wolfgang Bumiller [Mon, 16 Jul 2012 10:27:21 +0000 (12:27 +0200)]
Updating makefile to remove all the not yet used stuff
Wolfgang Bumiller [Mon, 16 Jul 2012 09:40:30 +0000 (11:40 +0200)]
Merging master
Wolfgang Bumiller [Mon, 16 Jul 2012 08:24:35 +0000 (10:24 +0200)]
type_storep_instr: in theory we could use type_store_instr + INSTR_STOREP_F - INSTR_STORE_F, however, this won't work later when TYPE_INTEGER comes in since the _I instructions are at a seperate place
Wolfgang Bumiller [Mon, 16 Jul 2012 08:19:04 +0000 (10:19 +0200)]
Replacing 2 switches to use type_store_instr instead
Wolfgang Bumiller [Tue, 10 Jul 2012 17:29:38 +0000 (19:29 +0200)]
type_sizeof is an array, not a function
Wolfgang Bumiller [Tue, 10 Jul 2012 17:29:01 +0000 (19:29 +0200)]
use type_sizeof in some places where previously manual size checking has been done
Wolfgang Bumiller [Tue, 10 Jul 2012 17:26:07 +0000 (19:26 +0200)]
First thing: we want quaternions and 4x4 matrices
Wolfgang Bumiller [Wed, 4 Jul 2012 13:16:02 +0000 (15:16 +0200)]
Do not actually return after generating a call, there are other isntructions following
Wolfgang Bumiller [Wed, 4 Jul 2012 13:05:16 +0000 (15:05 +0200)]
Testing CALLs in test-ast
Wolfgang Bumiller [Wed, 4 Jul 2012 13:05:09 +0000 (15:05 +0200)]
Store the codeaddr of function's ir_values upon generation...
Wolfgang Bumiller [Wed, 4 Jul 2012 13:02:55 +0000 (15:02 +0200)]
Return that the call was actually generated successfully if it was...
Wolfgang Bumiller [Wed, 4 Jul 2012 13:00:30 +0000 (15:00 +0200)]
Storing ir_v for functions
Wolfgang Bumiller [Wed, 4 Jul 2012 12:41:39 +0000 (14:41 +0200)]
ast_call needs to set its func member
Wolfgang Bumiller [Wed, 4 Jul 2012 12:39:58 +0000 (14:39 +0200)]
ast_call's param vector functions
Wolfgang Bumiller [Wed, 4 Jul 2012 12:20:54 +0000 (14:20 +0200)]
ast-macros: MKCONSTSTRING, added sHello hello world string
Wolfgang Bumiller [Wed, 4 Jul 2012 11:31:10 +0000 (13:31 +0200)]
Enabling the print builtin nodes, soon to be used to test CALL generation
Wolfgang Bumiller [Wed, 4 Jul 2012 11:29:26 +0000 (13:29 +0200)]
add AINSTR_END to the end of functions so the debug-printing knows when to end...
Wolfgang Bumiller [Wed, 4 Jul 2012 11:16:15 +0000 (13:16 +0200)]
Don't die on functions with no variables
Wolfgang Bumiller [Tue, 3 Jul 2012 21:38:38 +0000 (23:38 +0200)]
creating and generating builtin functions, ast-macros for builtins, todo: params
Wolfgang Bumiller [Tue, 3 Jul 2012 20:47:01 +0000 (22:47 +0200)]
basic CALL translation: to be refined
Wolfgang Bumiller [Tue, 3 Jul 2012 20:46:38 +0000 (22:46 +0200)]
type_store_instr[] to get an INSTR_STORE_x by type
Wolfgang (Blub) Bumiller [Fri, 29 Jun 2012 13:41:56 +0000 (15:41 +0200)]
fixed a typo in asm_instr[]: ES_FNC->EQ_FNC
Wolfgang (Blub) Bumiller [Fri, 29 Jun 2012 13:40:21 +0000 (15:40 +0200)]
create_call should use store_return as output type for now
Wolfgang (Blub) Bumiller [Fri, 29 Jun 2012 12:37:12 +0000 (14:37 +0200)]
adding another storage type: store_return; when generating a CALL, the generator can check the output value's storetype, and if it is NOT store_return, it needs to STORE_x the return value into the output value.
Wolfgang (Blub) Bumiller [Fri, 29 Jun 2012 11:25:31 +0000 (13:25 +0200)]
generating an ir_value for an ir_function at creation now
Wolfgang (Blub) Bumiller [Fri, 29 Jun 2012 11:07:19 +0000 (13:07 +0200)]
function in the ast now MUST have an output type in their 'next' ast_expression pointer, the IR's outtype of functions is now filled
Wolfgang (Blub) Bumiller [Fri, 29 Jun 2012 10:55:35 +0000 (12:55 +0200)]
ir_builder_create_call to take return type from the ir_value
Wolfgang (Blub) Bumiller [Thu, 28 Jun 2012 15:27:02 +0000 (17:27 +0200)]
Fix a possibly uninitialized variable
Wolfgang (Blub) Bumiller [Thu, 28 Jun 2012 15:22:56 +0000 (17:22 +0200)]
Fixing GMQCC_SUPPRESS_EMPTY_BODY typo
Wolfgang (Blub) Bumiller [Thu, 28 Jun 2012 15:21:26 +0000 (17:21 +0200)]
ast_call_codegen, ir_block_create_call plus call-related functions, ir_value->outtype TODO: fill outtype in ir_value
Wolfgang (Blub) Bumiller [Thu, 28 Jun 2012 14:20:31 +0000 (16:20 +0200)]
Added a comment about an idea on how to translate calls better. Gotta check some papers for better solutions later
Wolfgang (Blub) Bumiller [Thu, 28 Jun 2012 14:15:51 +0000 (16:15 +0200)]
ast_call node; codegen dummy
Wolfgang (Blub) Bumiller [Thu, 28 Jun 2012 13:50:51 +0000 (15:50 +0200)]
ir_instr can now store a list of parameters, will be used for CALLs
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 17:35:18 +0000 (19:35 +0200)]
Deleting the manually written ast-test which was '#if 0'-ed out
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 17:27:50 +0000 (19:27 +0200)]
generation of COND and JUMP now works
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 15:43:10 +0000 (17:43 +0200)]
ir_function.allocated_locals now contains the number of locals a function requires, renamed code.slot to code.local, makes more sense
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 15:37:50 +0000 (17:37 +0200)]
removing debug output
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 14:06:01 +0000 (16:06 +0200)]
value position allocation, fixing a possible endless loop in ir_values_overlap
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 12:51:31 +0000 (14:51 +0200)]
ir_value_life_merge_into, to merge the liferange of one value into the range of another, testing in test_ir
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 12:14:34 +0000 (14:14 +0200)]
ir_function_allocate_locals prototype
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 11:30:14 +0000 (13:30 +0200)]
u1 here instead of s1
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 09:54:30 +0000 (11:54 +0200)]
Don't add the var_ prefix to function names in the ast-test macros...