Commit graph

1757 commits

Author SHA1 Message Date
Wolfgang Bumiller
d3568627e9 code_genstring now caches strings, no need for code_cachestring 2012-12-23 21:42:00 +01:00
Wolfgang Bumiller
6a60368a1b -Olocaltemps -> -Olocal-temps for consistency; added manpage entry; removed leftover manpage entry for -foverlap-locals; -Olocal-temps moved from -O1 to -O3 due to stability concerns 2012-12-23 21:39:23 +01:00
Wolfgang Bumiller
1ac913877e revert 3ef30e850d 2012-12-23 21:34:04 +01:00
Wolfgang Bumiller
63928e231c Remove ir_block_create_{add,sub,mul,div}, they're not used; STOREP instructions don't themselves to their target pointer's 'writes' list, but 'reads' list instead 2012-12-23 21:29:15 +01:00
Wolfgang Bumiller
435dee935b Start instruction numbering at 1 and make parameters live at 0 2012-12-23 21:20:16 +01:00
Wolfgang Bumiller
3ef30e850d Don't store off CALL results if they're never read 2012-12-23 21:11:56 +01:00
Wolfgang Bumiller
cff74493a7 Even safer vector macros 2012-12-23 20:55:15 +01:00
Wolfgang Bumiller
fb5a65c51a Life Ranges: First deal with all writes, then with all reads, since writes will remove values from the Living set 2012-12-23 20:50:21 +01:00
Wolfgang Bumiller
46c2fe2443 Fixing vector macros 2012-12-23 20:49:50 +01:00
Wolfgang Bumiller
890ca3c782 added -disasm-func to the qcvm 2012-12-23 20:45:43 +01:00
Wolfgang Bumiller
ee7051c5a4 strcmp and strncmp builtins 2012-12-23 19:22:38 +01:00
Wolfgang Bumiller
275b6f777a Adding strcat builtin to qcvm 2012-12-23 19:06:29 +01:00
Wolfgang Bumiller
3c9283cc41 don't optimize out NOT_S instructions for COND 2012-12-23 17:51:01 +01:00
Wolfgang Bumiller
2967dba7ad manpage: remove the MUL_FV/VF section, it wouldn't be legal code anyway 2012-12-23 17:50:44 +01:00
Wolfgang Bumiller
4f06daf7d0 manpage: optimization section 2012-12-23 17:46:40 +01:00
Wolfgang Bumiller
c91b457054 Mask overlap-locals by -Ooverlap-locals, and count (the amount of overlapped functions) 2012-12-23 17:40:56 +01:00
Wolfgang Bumiller
b8c61f2f88 Try generating the function-locals in a later pass; with the option to overlap them. 2012-12-23 17:32:39 +01:00
Wolfgang Bumiller
67bc99223d Fix a nasty bug in the executor; and make null-strings be shown as (null) in the trace output 2012-12-23 17:32:14 +01:00
Wolfgang Bumiller
eabe23cc24 Add -Ooverlap-locals to -O3 2012-12-23 16:31:21 +01:00
Wolfgang Bumiller
88a6437840 remember the maximum amount of required function-locals 2012-12-23 16:31:01 +01:00
Wolfgang Bumiller
7998a98818 ir_function now has a flags field - flags are: IR_FLAG_HAS_{ARRAYS,UNINITIALIZED,GOTO} 2012-12-23 16:21:38 +01:00
Wolfgang Bumiller
2382fdee50 util_swa_* + GMQCC_INLINE 2012-12-23 13:11:20 +01:00
Wolfgang Bumiller
1731a29c51 Don't generate defs for locals or parameters unless using -g 2012-12-23 12:22:27 +01:00
Wolfgang Bumiller
84fcd95d4e utf8lib.c -> utf8.c - I hope windows 8 allows this filename :P 2012-12-23 10:44:03 +01:00
Wolfgang Bumiller
95965e9ff6 license header 2012-12-23 10:35:21 +01:00
Wolfgang Bumiller
e72d141ec4 Uchar -> uchar_t for consistency 2012-12-23 10:34:29 +01:00
Wolfgang Bumiller
3e6c98d65d manpage: -futf8 2012-12-23 10:23:42 +01:00
Wolfgang Bumiller
041f8a86d7 utf8 tests 2012-12-23 10:23:42 +01:00
Wolfgang Bumiller
2164afb8cf Better error message for -futf8 2012-12-23 10:23:42 +01:00
Wolfgang Bumiller
ac0ca3de81 fix and speed up u8_analyze for our purposes 2012-12-23 10:23:42 +01:00
Wolfgang Bumiller
a707440e52 -futf8 implementation 2012-12-23 10:23:42 +01:00
Wolfgang Bumiller
aec2284f45 u8_analyze: return false on any invalid character, we do not allow invalid/overlong characters in code at all 2012-12-23 10:23:41 +01:00
Wolfgang Bumiller
fe3d8e44e6 Importing utf8lib 2012-12-23 10:23:41 +01:00
Dale Weiler
da49a40b96 Bump 0.2 -> 0.3 2012-12-23 09:18:17 +00:00
Wolfgang Bumiller
55117912ab Don't generate vector defs if the vector's name starts with a # because that's an 'IMMEDIATE' 2012-12-23 10:14:25 +01:00
Dale Weiler
d51a6ab3db Whitespace 2012-12-23 09:10:31 +00:00
Dale Weiler
5bc815c63f Revert "Whitespace fixes"
This reverts commit 4580dcf1ea.
2012-12-23 09:10:07 +00:00
Dale Weiler
4580dcf1ea Whitespace fixes 2012-12-23 08:42:53 +00:00
Dale Weiler
e0ea101838 Lies ... damned lies, all lies I tell you ... copy-pasta lies! 2012-12-23 08:17:05 +00:00
Dale Weiler
f598fbeaea Actually fix the segfault this time 2012-12-23 08:08:05 +00:00
Dale Weiler
3b27107676 con_default_out for opts.pp_only (removes recently added TODO .. and fixes a segfault) 2012-12-23 07:57:06 +00:00
Dale Weiler
c3964cf29d Make compiler and virtual-machine compile as C++ code, also removed gmqcc_voidptr hack. 2012-12-23 07:51:19 +00:00
Dale Weiler
d35d953a91 Remove parser_compile_string_len, and make parser_compiler_string take an additional length argument. 2012-12-23 07:22:15 +00:00
Dale Weiler
6951f3dfcc fix comments 2012-12-23 07:19:49 +00:00
Dale Weiler
4224ac5ca0 fixes, and removed a #pragma warning(disable ...) in MSVC .. thanks to the FILE wrapping interface. 2012-12-23 07:18:00 +00:00
Dale Weiler
d18656c2dc Cleanup flexible array / vector system 2012-12-23 07:14:16 +00:00
Dale Weiler
6bc29a1601 Merge branch 'master' of github.com:graphitemaster/gmqcc 2012-12-23 06:06:57 +00:00
Dale Weiler
13003bf6af Wrapper around FILE to take advantage of MSVC "secure" CRT. We don't actually defend bounds checks (we just hack in the few ones to silent MSVC .. and to pass WinRT "native code" rules) 2012-12-23 06:05:22 +00:00
Wolfgang Bumiller
9d54ea6b0c More stuff for qcvm -info 2012-12-22 23:30:52 +01:00
Wolfgang Bumiller
aef7ff87fc Makefile: lexer.o depends on lexer.h 2012-12-22 20:43:59 +01:00