Wolfgang (Blub) Bumiller
|
2a2465c884
|
prepare fields before generating globals so we avoid the need for relocating initialized fieldpointers
|
2012-11-30 21:22:48 +01:00 |
|
Wolfgang (Blub) Bumiller
|
6fc00e523d
|
All ir_instrs now get their lex-context, so that we can create an LNO file with -flno
|
2012-11-30 18:20:02 +01:00 |
|
Wolfgang (Blub) Bumiller
|
5e23e8296d
|
don't just store a 'bool constant' in the ast/ir, store the complete qualifier: 'int cvq', moved CV_ defines into gmqcc.h
|
2012-11-30 13:47:28 +01:00 |
|
Wolfgang (Blub) Bumiller
|
23e0637e85
|
ir_function_create_block now takes a lex_ctx instead of copying from the function; ast_ternary: need to remember the _end_ block of the 2 expressions because that's where the jump is actually supposed to be
|
2012-11-25 23:48:29 +01:00 |
|
Wolfgang (Blub) Bumiller
|
18b27d5cf6
|
use the hashtables in the IR
|
2012-11-25 13:37:54 +01:00 |
|
Wolfgang (Blub) Bumiller
|
060f995ca4
|
removing ir_function_get_local - it's unused
|
2012-11-25 13:33:00 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b1425dfcf1
|
'likely' hint for IFs
|
2012-11-21 17:37:45 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f1735d91b8
|
remove a redundant ir_function member
|
2012-11-18 20:36:02 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f023004a67
|
Make functions copy their extparams
|
2012-11-18 20:06:28 +01:00 |
|
Wolfgang (Blub) Bumiller
|
906f319673
|
Replaced it all...
|
2012-11-15 18:32:09 +01:00 |
|
Wolfgang (Blub) Bumiller
|
e143db0cae
|
gcc lost it's magic analyzer and now complains about uninitialized stuff... <sadface>
|
2012-11-04 11:41:44 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b2315777d1
|
cache the IMMEDIATE string in the builder directly
|
2012-08-24 19:52:06 +02:00 |
|
Wolfgang (Blub) Bumiller
|
74cb075665
|
cache filenames as such instead of using code_cachedstring
|
2012-08-24 19:44:29 +02:00 |
|
Wolfgang (Blub) Bumiller
|
04dca17cff
|
ir_value now checks if a name was specified
|
2012-08-24 18:14:39 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5e4b8846d1
|
slight change to ir_value_dump_life; fixing ir_value_life_merge_into: TODO test this seperately, all cases
|
2012-08-23 22:07:32 +02:00 |
|
Wolfgang (Blub) Bumiller
|
fe3b1b2e8d
|
ir_values which are members of a vector should know that, so that liferange calc can use the vector rather than the member
|
2012-08-19 21:37:29 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e606913187
|
IR generation: for functions: first generate all defs, then the code, so access to prototyped functions doesn't result in NULL code
|
2012-08-19 18:00:53 +02:00 |
|
Wolfgang (Blub) Bumiller
|
b3d4e406ec
|
it's not undefined, stupid
|
2012-08-16 12:58:26 +02:00 |
|
Wolfgang (Blub) Bumiller
|
7e3edea621
|
fixing the messup of MUL_FV and _VF being swapped - getting rid of additions that really have no place here (YET) (matrix/quaternion types)
|
2012-08-12 11:34:55 +02:00 |
|
Wolfgang (Blub) Bumiller
|
d68d19dbfd
|
Merging master to handle vector members, fields, and members of vector fields
|
2012-08-12 10:08:41 +02:00 |
|
Wolfgang (Blub) Bumiller
|
1559dedfd9
|
ir_value_set_field
|
2012-08-11 15:41:10 +02:00 |
|
Wolfgang (Blub) Bumiller
|
55743936d9
|
Merge branch 'master' into blub/bc3
|
2012-08-10 20:48:42 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9c2e6a2334
|
Experimental ast_member to access vector members
|
2012-08-08 14:49:37 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ae251d3914
|
Merge branch 'master' into blub/bc3
|
2012-08-08 12:05:08 +02:00 |
|
Wolfgang Bumiller
|
d05bee94d1
|
code_alloc_field to allocate entityfield data, ir now has ir_builder_create_field - so that globals and fields can be created separately - properly
|
2012-07-28 21:55:01 +02:00 |
|
Wolfgang Bumiller
|
22e6b8558b
|
Merge branch 'master' into blub/bc3
|
2012-07-26 23:22:53 +02:00 |
|
Wolfgang Bumiller
|
e22d340e23
|
ast/ir support for unary instructions
|
2012-07-26 20:45:18 +02:00 |
|
Wolfgang Bumiller
|
aef49d9667
|
Merge branch 'master' into blub/bc3
|
2012-07-22 12:21:43 +02:00 |
|
Wolfgang Bumiller
|
a4617d0e61
|
ast_function generates parameter locals, ir_function_create_local now allows adding parameters as long as no local variables have been added yet
|
2012-07-22 12:15:48 +02:00 |
|
Wolfgang Bumiller
|
e9ac1c9e21
|
First thing: we want quaternions and 4x4 matrices
|
2012-07-10 19:26:07 +02:00 |
|
Wolfgang Bumiller
|
ed24ea0cef
|
creating and generating builtin functions, ast-macros for builtins, todo: params
|
2012-07-03 23:38:38 +02:00 |
|
Wolfgang (Blub) Bumiller
|
856c9d16a5
|
generating an ir_value for an ir_function at creation now
|
2012-06-29 13:25:31 +02:00 |
|
Wolfgang (Blub) Bumiller
|
c1ea9cc409
|
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
|
2012-06-29 13:07:19 +02:00 |
|
Wolfgang (Blub) Bumiller
|
67fa4ce07b
|
ir_builder_create_call to take return type from the ir_value
|
2012-06-29 12:55:35 +02:00 |
|
Wolfgang (Blub) Bumiller
|
01b3f5ef58
|
ast_call_codegen, ir_block_create_call plus call-related functions, ir_value->outtype TODO: fill outtype in ir_value
|
2012-06-28 17:21:26 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2073834b9a
|
ir_instr can now store a list of parameters, will be used for CALLs
|
2012-06-28 15:50:51 +02:00 |
|
Wolfgang (Blub) Bumiller
|
21b7005541
|
ir_function.allocated_locals now contains the number of locals a function requires, renamed code.slot to code.local, makes more sense
|
2012-06-25 17:43:10 +02:00 |
|
Wolfgang (Blub) Bumiller
|
214c063b3f
|
value position allocation, fixing a possible endless loop in ir_values_overlap
|
2012-06-25 16:06:01 +02:00 |
|
Wolfgang (Blub) Bumiller
|
db7b9a4f96
|
ir_value_life_merge_into, to merge the liferange of one value into the range of another, testing in test_ir
|
2012-06-25 14:51:31 +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 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
|
8ab51544be
|
Comment about the form of instruction general_instr is used for
|
2012-05-01 16:29:29 +02:00 |
|
Wolfgang Bumiller
|
3c07ed15c0
|
expose create_general_instr in ir.h for now...
|
2012-05-01 16:24:16 +02:00 |
|
Wolfgang Bumiller
|
6ae8a69ab0
|
ir_block_create_fieldaddress - and fixing operand-numbering in load_from_ent
|
2012-05-01 16:20:44 +02:00 |
|
Wolfgang Bumiller
|
eb21f1e733
|
alignment fix
|
2012-05-01 12:43:10 +02:00 |
|
Wolfgang Bumiller
|
45651cea8d
|
Implementation of liferange overlap test
|
2012-05-01 12:40:37 +02:00 |
|
Wolfgang Bumiller
|
4c38566877
|
ir_block_create_load_from_ent - long name, I know, but we need to be able to load from pointers too at some point...
|
2012-05-01 12:12:53 +02:00 |
|
Wolfgang Bumiller
|
340daeabc4
|
ir_block_create_storep for storing through pointers, the IR does not implicitly create conversions for now when using pointers, but it could
|
2012-05-01 11:58:52 +02:00 |
|
Dale Weiler
|
05966ee009
|
Remove trailing whitespace from everything
|
2012-04-28 16:43:39 -04:00 |
|