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
|
b5aed08c93
|
Dump should print a warning if lifepasses don't match...
|
2012-05-03 14:17:00 +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 Bumiller
|
bb7c59c648
|
Remove 2 unused variables in create_binop - unused since create_general_instruction
|
2012-05-01 16:45:15 +02:00 |
|
Wolfgang Bumiller
|
22cf7e0a4d
|
Fix missing 'int op;' in load_from_end, accidently removed it together with the other vars whil making it use general_instruction
|
2012-05-01 16:44:36 +02:00 |
|
Wolfgang Bumiller
|
cde5444f24
|
create_phi -> store_value, not store_local... phi output cannot be overwritten
|
2012-05-01 16:27:36 +02:00 |
|
Wolfgang Bumiller
|
0337320054
|
Reuse general_instr to shorten create_binop
|
2012-05-01 16:26:25 +02:00 |
|
Wolfgang Bumiller
|
282edea8de
|
Get rid of duplicate code by adding an ir_block_create_general_instr
|
2012-05-01 16:23:45 +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
|
45651cea8d
|
Implementation of liferange overlap test
|
2012-05-01 12:40:37 +02:00 |
|
Wolfgang Bumiller
|
ddbd460331
|
Check for TYPE_FIELD in load_from_ent
|
2012-05-01 12:14:07 +02:00 |
|
Wolfgang Bumiller
|
18969b1713
|
style fix
|
2012-05-01 12:13:04 +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
|
5f0800bef6
|
support TYPE_FIELD in stores; storeP to do a different kind of type checking
|
2012-05-01 12:05:47 +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
|
c3df4edebd
|
Remove trailing whitespace
|
2012-04-28 19:03:16 -04:00 |
|
Dale Weiler
|
3e7a8c0e78
|
All code is now C89/C90 compat
|
2012-04-28 18:56:09 -04:00 |
|
Dale Weiler
|
05966ee009
|
Remove trailing whitespace from everything
|
2012-04-28 16:43:39 -04:00 |
|
Dale Weiler
|
df9a685f61
|
surpress empty bodies
|
2012-04-28 15:13:41 -04:00 |
|
Wolfgang Bumiller
|
50f00fb0a7
|
Adding debug dump functions
|
2012-04-28 11:50:09 +02:00 |
|
Wolfgang Bumiller
|
8035563a45
|
Fixed: block-labels were NULLed after being set -_-
|
2012-04-28 11:50:09 +02:00 |
|
Wolfgang Bumiller
|
75b78720fd
|
lex_ctx_t -> lex_ctx, vector_t -> vector
|
2012-04-28 11:15:29 +02:00 |
|
Wolfgang Bumiller
|
da827e6098
|
Removed the qc_type enum and replaced all qc_* by TYPE_*
|
2012-04-28 10:42:03 +02:00 |
|
Wolfgang Bumiller
|
8d87767afa
|
2 missing return values
|
2012-04-27 18:00:57 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e4d92130da
|
Using GMQCC_WARN some more where it makes sense
|
2012-04-27 13:31:40 +02:00 |
|
Wolfgang (Blub) Bumiller
|
86564686f3
|
Turned nearly every void-returning function into a bool-returning function, and checking return values wherever necessary to be able to properly exit on failures
|
2012-04-27 13:28:39 +02:00 |
|
Wolfgang (Blub) Bumiller
|
13ec68bc4f
|
qbool -> bool
|
2012-04-26 10:16:15 +02:00 |
|
Wolfgang (Blub) Bumiller
|
8d121af47c
|
Copyright notices
|
2012-04-25 17:27:49 +02:00 |
|
Wolfgang (Blub) Bumiller
|
418430e05d
|
Get stuff ready to compile - #if 0 on instructions not yet added to the instruction list (eg integer ones)
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
522738de48
|
Adding liferange-calculation used later for templ-allocateion
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
08f6e65b1c
|
_naive_ phi solver
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
d1ce8de3e4
|
ifalse->false and true again, binop code
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
adb1ab6ce2
|
A few of the main IR operation implementations
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
8dd593b306
|
removed an old vector related function
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e0cd68c72a
|
ir.c: ir_value and style fixups
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
be620ff431
|
Same style fixups for ir_instr
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
38532ceb11
|
ir.c: ir_instr
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
dbe1b56f48
|
Same style fixup for ir_block as previous commits for function
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2e0feca040
|
ir.c: importing ir_block
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9343936082
|
space idnentation, macros, strdup again
|
2012-04-25 17:27:48 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9b6cfcb80f
|
ir.c: importing ir_function
|
2012-04-25 17:27:47 +02:00 |
|
Wolfgang (Blub) Bumiller
|
86bed959d4
|
Space indentation in ir.c builder part
|
2012-04-25 17:27:47 +02:00 |
|
Wolfgang (Blub) Bumiller
|
356a16820a
|
macros, strdup->util_strdup, malloc->mem_a
|
2012-04-25 17:27:47 +02:00 |
|
Wolfgang (Blub) Bumiller
|
1cc0cfdcec
|
importing from ir_builder.c -> ir.c
|
2012-04-25 17:27:47 +02:00 |
|