quakeforge/tools/qfcc/source
Bill Currie 2be9821a59 [qfcc] Use statement aux def if def not in operands
This takes care of ptrmove instructions, fixing the printf problem in
ptrstructinit. It might even make it possible to not break basic blocks
on function calls, which should make for some more optimization
opportunities, but that can come later.

For this to work properly, it was necessary to avoid converting alias
defs to st_alias nodes.

It also fixes ptrstructinit itself (at first, I hadn't noticed that the
test passed entirely).
2024-02-21 22:41:08 +09:00
..
.indent.pro
algebra.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
attribute.c [qfcc] Make expressions const-correct 2023-09-29 10:15:59 +09:00
class.c [qfcc] Dereference most array types properly 2024-02-20 16:47:06 +09:00
codespace.c [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
constfold.c [qfcc] Replace expr_file_line with a scoped version 2024-02-21 22:41:08 +09:00
cpp.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
dags.c [qfcc] Use statement aux def if def not in operands 2024-02-21 22:41:08 +09:00
debug.c [qfcc] Dereference most array types properly 2024-02-20 16:47:06 +09:00
def.c [qfcc] Replace expr_file_line with a scoped version 2024-02-21 22:41:08 +09:00
defspace.c [qfcc] Ensure progs defs are sorted by address 2023-09-12 22:26:30 +09:00
diagnostic.c [qfcc] Clean up warning and notice return types 2024-02-21 22:41:08 +09:00
disassemble.c [qfprogs] Create a stack for disassembly of locals 2023-09-12 22:21:55 +09:00
dot.c [qfcc] Make expressions const-correct 2023-09-29 10:15:59 +09:00
dot_dag.c [qfcc] Unalias def ops too 2024-02-20 16:46:02 +09:00
dot_expr.c [qfcc] Print block label expressions first 2024-02-08 13:56:59 +09:00
dot_flow.c [qfcc] Make expressions const-correct 2023-09-29 10:15:59 +09:00
dot_sblock.c [qfcc] Make it a little easier to see extra info 2021-12-27 14:15:51 +09:00
dot_type.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
dump_globals.c [qfcc] Support 32-bit and 64-bit handle types 2023-10-02 23:33:37 +09:00
dump_lines.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
dump_modules.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
dump_strings.c [qfprogs] Dump hex for non-ascii chars 2022-12-10 21:53:00 +09:00
emit.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
evaluate.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
expr.c [qfcc] Replace expr_file_line with a scoped version 2024-02-21 22:41:08 +09:00
expr_algebra.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
expr_assign.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
expr_binary.c [qfcc] Handle quaternion (in)equality tests 2024-02-21 22:41:08 +09:00
expr_bool.c [qfcc] Replace expr_file_line with a scoped version 2024-02-21 22:41:08 +09:00
expr_cast.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
expr_compound.c [qfcc] Fix nested compound initializers 2024-02-21 22:41:08 +09:00
expr_dag.c [qfcc] Make expressions const-correct 2023-09-29 10:15:59 +09:00
expr_obj.c [qfcc] Replace expr_file_line with a scoped version 2024-02-21 22:41:08 +09:00
expr_optimize.c [qfcc] Respect commutativity when optimizing adds 2023-10-02 22:33:29 +09:00
expr_vector.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
flow.c [qfcc] Remove special treatment for flow/func statements 2024-02-21 22:41:08 +09:00
function.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
grab.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
idstuff.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
linker.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
Makemodule.am [build] Implement tracy memory zones 2024-01-05 11:50:48 +09:00
method.c [qfcc] Replace expr_file_line with a scoped version 2024-02-21 22:41:08 +09:00
obj_file.c [qfcc] Support 32-bit and 64-bit handle types 2023-10-02 23:33:37 +09:00
obj_type.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
opcodes.c [qfcc] Always initialize Ruamoko opcodes 2023-09-01 14:40:05 +09:00
options.c [qfcc] Clean up default option handling 2023-09-01 14:18:54 +09:00
pragma.c [qfcc] Add pragma control of code options 2023-09-25 16:57:15 +09:00
qc-lex.l [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
qc-parse.y [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
qfcc.c [qfcc] Clean up default option handling 2023-09-01 14:18:54 +09:00
qfpreqcc
qfprogs.c [qfprogs] Create a stack for disassembly of locals 2023-09-12 22:21:55 +09:00
qp-lex.l [gamecode] Rename ev_integer to ev_int 2022-01-18 13:27:19 +09:00
qp-parse.y [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
reloc.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
shared.c [qfcc] Use dags for many expressions 2023-09-25 16:57:15 +09:00
statements.c [qfcc] Replace expr_file_line with a scoped version 2024-02-21 22:41:08 +09:00
strpool.c [qfcc] Ensure non-unicode char string is terminated 2022-12-10 21:53:45 +09:00
struct.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
stub.c [qfcc] Clean up warning and notice return types 2024-02-21 22:41:08 +09:00
switch.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
symtab.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
type.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
value.c [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00