]> git.xonotic.org Git - xonotic/gmqcc.git/log
xonotic/gmqcc.git
11 years agoMerge branch 'master' into blub/bc3
Wolfgang Bumiller [Thu, 19 Jul 2012 16:06:56 +0000 (18:06 +0200)]
Merge branch 'master' into blub/bc3

11 years agoir_function_dump to print builtins as such
Wolfgang Bumiller [Thu, 19 Jul 2012 16:06:37 +0000 (18:06 +0200)]
ir_function_dump to print builtins as such

11 years agoProperly check if it's a function... checking the parameter count is not a correct...
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

11 years agobuiltins are negative
Wolfgang Bumiller [Thu, 19 Jul 2012 15:54:35 +0000 (17:54 +0200)]
builtins are negative

11 years agohandling function definitions better, generating functions
Wolfgang Bumiller [Thu, 19 Jul 2012 15:53:45 +0000 (17:53 +0200)]
handling function definitions better, generating functions

11 years agoHandling definition of builtins
Wolfgang Bumiller [Thu, 19 Jul 2012 15:39:19 +0000 (17:39 +0200)]
Handling definition of builtins

11 years agohandle EOF
Wolfgang Bumiller [Thu, 19 Jul 2012 10:17:00 +0000 (12:17 +0200)]
handle EOF

11 years agoparsing typenames completely now with function parameters
Wolfgang Bumiller [Thu, 19 Jul 2012 09:41:16 +0000 (11:41 +0200)]
parsing typenames completely now with function parameters

11 years agoBuilding the output - global variables for now
Wolfgang Bumiller [Thu, 19 Jul 2012 09:25:53 +0000 (11:25 +0200)]
Building the output - global variables for now

11 years agoDon't die on regular EOF
Wolfgang Bumiller [Thu, 19 Jul 2012 09:22:09 +0000 (11:22 +0200)]
Don't die on regular EOF

11 years agoReading a global def
Wolfgang Bumiller [Mon, 16 Jul 2012 12:52:52 +0000 (14:52 +0200)]
Reading a global def

11 years agoStarting some parsing
Wolfgang Bumiller [Mon, 16 Jul 2012 12:14:37 +0000 (14:14 +0200)]
Starting some parsing

11 years agoCopying my old lexer
Wolfgang Bumiller [Mon, 16 Jul 2012 11:59:10 +0000 (13:59 +0200)]
Copying my old lexer

11 years agoTemporarily reordering instructions for compatibility
Wolfgang Bumiller [Mon, 16 Jul 2012 10:43:12 +0000 (12:43 +0200)]
Temporarily reordering instructions for compatibility

11 years agoClearing main
Wolfgang Bumiller [Mon, 16 Jul 2012 10:31:43 +0000 (12:31 +0200)]
Clearing main

11 years agoReverting the removal of _FV instructions, it's just easier this way
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

11 years agofixing matrix/quaternion constval setters
Wolfgang Bumiller [Mon, 16 Jul 2012 10:29:44 +0000 (12:29 +0200)]
fixing matrix/quaternion constval setters

11 years agoMerge branch 'master' into blub/bc3
Wolfgang Bumiller [Mon, 16 Jul 2012 10:28:06 +0000 (12:28 +0200)]
Merge branch 'master' into blub/bc3

11 years agoCorrect variable name for type_storep_instr
Wolfgang Bumiller [Mon, 16 Jul 2012 10:27:58 +0000 (12:27 +0200)]
Correct variable name for type_storep_instr

11 years agoUpdating makefile to remove all the not yet used stuff
Wolfgang Bumiller [Mon, 16 Jul 2012 10:27:21 +0000 (12:27 +0200)]
Updating makefile to remove all the not yet used stuff

11 years agoMerging master
Wolfgang Bumiller [Mon, 16 Jul 2012 09:40:30 +0000 (11:40 +0200)]
Merging master

11 years agotype_storep_instr: in theory we could use type_store_instr + INSTR_STOREP_F - INSTR_S...
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

11 years agoReplacing 2 switches to use type_store_instr instead
Wolfgang Bumiller [Mon, 16 Jul 2012 08:19:04 +0000 (10:19 +0200)]
Replacing 2 switches to use type_store_instr instead

11 years agotype_sizeof is an array, not a function
Wolfgang Bumiller [Tue, 10 Jul 2012 17:29:38 +0000 (19:29 +0200)]
type_sizeof is an array, not a function

11 years agouse type_sizeof in some places where previously manual size checking has been done
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

11 years agoFirst thing: we want quaternions and 4x4 matrices
Wolfgang Bumiller [Tue, 10 Jul 2012 17:26:07 +0000 (19:26 +0200)]
First thing: we want quaternions and 4x4 matrices

11 years agoDo not actually return after generating a call, there are other isntructions following
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

11 years agoTesting CALLs in test-ast
Wolfgang Bumiller [Wed, 4 Jul 2012 13:05:16 +0000 (15:05 +0200)]
Testing CALLs in test-ast

11 years agoStore the codeaddr of function's ir_values upon generation...
Wolfgang Bumiller [Wed, 4 Jul 2012 13:05:09 +0000 (15:05 +0200)]
Store the codeaddr of function's ir_values upon generation...

11 years agoReturn that the call was actually generated successfully if it was...
Wolfgang Bumiller [Wed, 4 Jul 2012 13:02:55 +0000 (15:02 +0200)]
Return that the call was actually generated successfully if it was...

11 years agoStoring ir_v for functions
Wolfgang Bumiller [Wed, 4 Jul 2012 13:00:30 +0000 (15:00 +0200)]
Storing ir_v for functions

11 years agoast_call needs to set its func member
Wolfgang Bumiller [Wed, 4 Jul 2012 12:41:39 +0000 (14:41 +0200)]
ast_call needs to set its func member

11 years agoast_call's param vector functions
Wolfgang Bumiller [Wed, 4 Jul 2012 12:39:58 +0000 (14:39 +0200)]
ast_call's param vector functions

11 years agoast-macros: MKCONSTSTRING, added sHello hello world string
Wolfgang Bumiller [Wed, 4 Jul 2012 12:20:54 +0000 (14:20 +0200)]
ast-macros: MKCONSTSTRING, added sHello hello world string

11 years agoEnabling the print builtin nodes, soon to be used to test CALL generation
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

11 years agoadd AINSTR_END to the end of functions so the debug-printing knows when to end...
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...

11 years agoDon't die on functions with no variables
Wolfgang Bumiller [Wed, 4 Jul 2012 11:16:15 +0000 (13:16 +0200)]
Don't die on functions with no variables

11 years agocreating and generating builtin functions, ast-macros for builtins, todo: params
Wolfgang Bumiller [Tue, 3 Jul 2012 21:38:38 +0000 (23:38 +0200)]
creating and generating builtin functions, ast-macros for builtins, todo: params

11 years agobasic CALL translation: to be refined
Wolfgang Bumiller [Tue, 3 Jul 2012 20:47:01 +0000 (22:47 +0200)]
basic CALL translation: to be refined

11 years agotype_store_instr[] to get an INSTR_STORE_x by type
Wolfgang Bumiller [Tue, 3 Jul 2012 20:46:38 +0000 (22:46 +0200)]
type_store_instr[] to get an INSTR_STORE_x by type

11 years agofixed a typo in asm_instr[]: ES_FNC->EQ_FNC
Wolfgang (Blub) Bumiller [Fri, 29 Jun 2012 13:41:56 +0000 (15:41 +0200)]
fixed a typo in asm_instr[]: ES_FNC->EQ_FNC

11 years agocreate_call should use store_return as output type for now
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

11 years agoadding another storage type: store_return; when generating a CALL, the generator...
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.

11 years agogenerating an ir_value for an ir_function at creation now
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

11 years agofunction in the ast now MUST have an output type in their 'next' ast_expression point...
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

11 years agoir_builder_create_call to take return type from the ir_value
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

11 years agoFix a possibly uninitialized variable
Wolfgang (Blub) Bumiller [Thu, 28 Jun 2012 15:27:02 +0000 (17:27 +0200)]
Fix a possibly uninitialized variable

11 years agoFixing GMQCC_SUPPRESS_EMPTY_BODY typo
Wolfgang (Blub) Bumiller [Thu, 28 Jun 2012 15:22:56 +0000 (17:22 +0200)]
Fixing GMQCC_SUPPRESS_EMPTY_BODY typo

11 years agoast_call_codegen, ir_block_create_call plus call-related functions, ir_value->outtype...
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

11 years agoAdded a comment about an idea on how to translate calls better. Gotta check some...
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

11 years agoast_call node; codegen dummy
Wolfgang (Blub) Bumiller [Thu, 28 Jun 2012 14:15:51 +0000 (16:15 +0200)]
ast_call node; codegen dummy

11 years agoir_instr can now store a list of parameters, will be used for CALLs
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

11 years agoDeleting the manually written ast-test which was '#if 0'-ed out
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

11 years agogeneration of COND and JUMP now works
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 17:27:50 +0000 (19:27 +0200)]
generation of COND and JUMP now works

11 years agoir_function.allocated_locals now contains the number of locals a function requires...
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

11 years agoremoving debug output
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 15:37:50 +0000 (17:37 +0200)]
removing debug output

11 years agovalue position allocation, fixing a possible endless loop in ir_values_overlap
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

11 years agoir_value_life_merge_into, to merge the liferange of one value into the range of anoth...
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

11 years agoir_function_allocate_locals prototype
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 12:14:34 +0000 (14:14 +0200)]
ir_function_allocate_locals prototype

11 years agou1 here instead of s1
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 11:30:14 +0000 (13:30 +0200)]
u1 here instead of s1

11 years agoDon't add the var_ prefix to function names in the ast-test macros...
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...

11 years agogenerate the trailing zero
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 09:52:34 +0000 (11:52 +0200)]
generate the trailing zero

11 years agoGenerate function global, take 2-op instruction operand ordering into account
Wolfgang (Blub) Bumiller [Mon, 25 Jun 2012 09:52:18 +0000 (11:52 +0200)]
Generate function global, take 2-op instruction operand ordering into account

11 years agoFixing NULL->false and empty lines...
Wolfgang (Blub) Bumiller [Mon, 11 Jun 2012 17:25:21 +0000 (19:25 +0200)]
Fixing NULL->false and empty lines...

11 years agoMerge branch 'irgen'
Dale Weiler [Thu, 7 Jun 2012 15:24:55 +0000 (11:24 -0400)]
Merge branch 'irgen'

11 years agoBetter fail
Dale Weiler [Thu, 7 Jun 2012 15:24:28 +0000 (11:24 -0400)]
Better fail

11 years agoFixed more warnings
Dale Weiler [Thu, 7 Jun 2012 15:18:04 +0000 (11:18 -0400)]
Fixed more warnings

11 years agofixed -Wconditional-uninitialized for ast codegen
Dale Weiler [Thu, 7 Jun 2012 15:12:12 +0000 (11:12 -0400)]
fixed -Wconditional-uninitialized for ast codegen

11 years agoRemoved even more warnings
Dale Weiler [Thu, 7 Jun 2012 15:09:29 +0000 (11:09 -0400)]
Removed even more warnings

11 years agoremoved more warnings
Dale Weiler [Thu, 7 Jun 2012 15:04:38 +0000 (11:04 -0400)]
removed more warnings

11 years agofixed shadow issue
Dale Weiler [Thu, 7 Jun 2012 14:59:57 +0000 (10:59 -0400)]
fixed shadow issue

11 years agoMore compile warnings (disabled many for now, they will be re-enabled one-by-one...
Dale Weiler [Thu, 7 Jun 2012 14:57:48 +0000 (10:57 -0400)]
More compile warnings (disabled many for now, they will be re-enabled one-by-one as code that triggers warnings is rectified)

11 years agos/\t/ /g
Dale Weiler [Thu, 7 Jun 2012 14:20:54 +0000 (10:20 -0400)]
s/\t/    /g

11 years agosplint: use typedef instead of macro
Dale Weiler [Thu, 7 Jun 2012 14:19:00 +0000 (10:19 -0400)]
splint: use typedef instead of macro

11 years agoPrint the name, not the struct pointer :S
Wolfgang Bumiller [Sun, 13 May 2012 12:06:50 +0000 (14:06 +0200)]
Print the name, not the struct pointer :S

11 years agoWhitespace
Dale Weiler [Fri, 11 May 2012 16:02:22 +0000 (12:02 -0400)]
Whitespace

11 years agofixing fwrite calls I had messed up
Wolfgang (Blub) Bumiller [Wed, 9 May 2012 16:24:13 +0000 (18:24 +0200)]
fixing fwrite calls I had messed up

11 years agoAdding a few error message.
Wolfgang (Blub) Bumiller [Wed, 9 May 2012 15:39:17 +0000 (17:39 +0200)]
Adding a few error message.

11 years agoTYPE_VARIANT in codegen, writing code from ast-test
Wolfgang (Blub) Bumiller [Wed, 9 May 2012 15:30:08 +0000 (17:30 +0200)]
TYPE_VARIANT in codegen, writing code from ast-test

11 years agogenerating block code in a simple naive order for now - the ast / parser should help...
Wolfgang (Blub) Bumiller [Wed, 9 May 2012 13:02:58 +0000 (15:02 +0200)]
generating block code in a simple naive order for now - the ast / parser should help improving order

11 years agoChecking if mem_a returns NULL in ir_..._new functions
Wolfgang (Blub) Bumiller [Wed, 9 May 2012 12:24:35 +0000 (14:24 +0200)]
Checking if mem_a returns NULL in ir_..._new functions

11 years agoIt's the same TYPE enum...
Wolfgang (Blub) Bumiller [Wed, 9 May 2012 12:18:01 +0000 (14:18 +0200)]
It's the same TYPE enum...

11 years agoMore work on generating code - still not instantiating function-statements, 2 kinds...
Wolfgang Bumiller [Sat, 5 May 2012 08:56:00 +0000 (10:56 +0200)]
More work on generating code - still not instantiating function-statements, 2 kinds of FIXME comments: relocation and creation of ir_values for ir_functions

11 years agoStarting ir_builder_generate - TYPE_FUNCTION still TODO
Wolfgang Bumiller [Fri, 4 May 2012 22:28:51 +0000 (00:28 +0200)]
Starting ir_builder_generate - TYPE_FUNCTION still TODO

11 years agocode_cachedstring
Wolfgang Bumiller [Fri, 4 May 2012 22:28:30 +0000 (00:28 +0200)]
code_cachedstring

11 years agoConvenience function to store a predefined string in the qc string area
Wolfgang Bumiller [Fri, 4 May 2012 22:14:10 +0000 (00:14 +0200)]
Convenience function to store a predefined string in the qc string area

11 years agoPreparing to generate code from the IR - code_write should return a bool, and take...
Wolfgang Bumiller [Fri, 4 May 2012 22:03:18 +0000 (00:03 +0200)]
Preparing to generate code from the IR - code_write should return a bool, and take a filename rather than use program.dat hardcoded

11 years agoreadme s/\t/ /g
Dale Weiler [Sun, 6 May 2012 21:00:16 +0000 (17:00 -0400)]
readme s/\t/   /g

11 years agoUpdated readme
Dale Weiler [Sun, 6 May 2012 20:58:30 +0000 (16:58 -0400)]
Updated readme

11 years agoMerge branch 'master' of github.com:graphitemaster/gmqcc
Dale Weiler [Sat, 5 May 2012 02:01:26 +0000 (22:01 -0400)]
Merge branch 'master' of github.com:graphitemaster/gmqcc

11 years agoutil_strncmpexact
Dale Weiler [Sat, 5 May 2012 02:01:02 +0000 (22:01 -0400)]
util_strncmpexact

11 years agoremoving ast-test macro concept
Wolfgang (Blub) Bumiller [Fri, 4 May 2012 11:04:06 +0000 (13:04 +0200)]
removing ast-test macro concept

11 years agoA new ast-test, now using some macros to make them easier to write...
Wolfgang (Blub) Bumiller [Fri, 4 May 2012 10:28:35 +0000 (12:28 +0200)]
A new ast-test, now using some macros to make them easier to write...

11 years agoFixed some dangling '}', it compiles again now
Wolfgang (Blub) Bumiller [Fri, 4 May 2012 10:26:24 +0000 (12:26 +0200)]
Fixed some dangling '}', it compiles again now

11 years agoWhat was I thinking... fixing loop's jump creation so it doesn't try creating multipl...
Wolfgang (Blub) Bumiller [Fri, 4 May 2012 10:24:44 +0000 (12:24 +0200)]
What was I thinking... fixing loop's jump creation so it doesn't try creating multiple jumps... this code is also much more readable

11 years agoast_loop must end by entering the outgoing block
Wolfgang (Blub) Bumiller [Fri, 4 May 2012 10:01:53 +0000 (12:01 +0200)]
ast_loop must end by entering the outgoing block

11 years agoChanging life-range calculation to include the last read because then it doesn't...
Wolfgang (Blub) Bumiller [Fri, 4 May 2012 08:20:04 +0000 (10:20 +0200)]
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

11 years agoMove the output block of a loop to after the loop, otherwise IR dumps looks just...
Wolfgang (Blub) Bumiller [Fri, 4 May 2012 08:01:38 +0000 (10:01 +0200)]
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

11 years agoMore assembly parsing (function call stuff)
Dale Weiler [Thu, 3 May 2012 23:45:59 +0000 (19:45 -0400)]
More assembly parsing (function call stuff)

11 years agoast_function gets 'breakblock' and 'continueblock' for break and continue support...
Wolfgang (Blub) Bumiller [Thu, 3 May 2012 22:16:51 +0000 (00:16 +0200)]
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