]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Wolfgang Bumiller [Thu, 27 Dec 2012 22:52:57 +0000 (23:52 +0100)]
distinguish between break/continue levels in the parser
Wolfgang Bumiller [Thu, 27 Dec 2012 22:43:20 +0000 (23:43 +0100)]
parsing of loop labels
Wolfgang Bumiller [Thu, 27 Dec 2012 21:18:39 +0000 (22:18 +0100)]
there's no -f flag named overlap-locals... removed the opts.def entry
Wolfgang Bumiller [Thu, 27 Dec 2012 19:10:10 +0000 (11:10 -0800)]
Merge pull request #77 from matthiaskrgr/PKGBUILD
PKGBUILDs: note myself as contributor.
matthiaskrgr [Thu, 27 Dec 2012 19:07:58 +0000 (20:07 +0100)]
PKGBUILDs: note myself as contributor.
Wolfgang Bumiller [Thu, 27 Dec 2012 13:48:52 +0000 (14:48 +0100)]
bumping arch/release PKGBUILD to 0.2.2
Wolfgang Bumiller [Thu, 27 Dec 2012 13:33:58 +0000 (14:33 +0100)]
Another bool->int fix; now clang-compiled gmqcc actually works...
Wolfgang Bumiller [Thu, 27 Dec 2012 11:48:36 +0000 (12:48 +0100)]
manpage: -fbail-on-werror
Wolfgang Bumiller [Thu, 27 Dec 2012 11:46:36 +0000 (12:46 +0100)]
-fbail-on-werror option
Wolfgang Bumiller [Thu, 27 Dec 2012 10:46:08 +0000 (11:46 +0100)]
fix: when there are no additional temps the first one allocated slot's size was counted twice resulting in some additional unused globals
Wolfgang Bumiller [Thu, 27 Dec 2012 10:06:04 +0000 (02:06 -0800)]
Merge pull request #75 from matthiaskrgr/master
mention PKGBUILDs in INSTALL file, fix typo in manpage
Wolfgang Bumiller [Wed, 26 Dec 2012 22:20:49 +0000 (23:20 +0100)]
manpage: -Oglobal-temps
Wolfgang Bumiller [Wed, 26 Dec 2012 22:18:45 +0000 (23:18 +0100)]
-Oglobal-temps
Wolfgang Bumiller [Wed, 26 Dec 2012 21:49:50 +0000 (22:49 +0100)]
fix -v option parsing in qcvm
Wolfgang Bumiller [Wed, 26 Dec 2012 21:09:54 +0000 (22:09 +0100)]
factoring out temp-slot-assignment and using it for the declared locals too, makes -Olocal-temps more effective
matthiaskrgr [Wed, 26 Dec 2012 21:03:08 +0000 (22:03 +0100)]
manpage: gmqcc: fix typo
matthiaskrgr [Wed, 26 Dec 2012 20:57:26 +0000 (21:57 +0100)]
INSTALL: mention ArchLinux PKGBUILDs.
Wolfgang Bumiller [Wed, 26 Dec 2012 20:39:00 +0000 (21:39 +0100)]
Switch over to LONGBIT
Wolfgang Bumiller [Wed, 26 Dec 2012 20:31:25 +0000 (12:31 -0800)]
Merge pull request #74 from matthiaskrgr/PKGBUILD
add arch PKGBUILDs for git and release build.
matthiaskrgr [Wed, 26 Dec 2012 19:21:41 +0000 (20:21 +0100)]
PKGBUILD: formatting
matthiaskrgr [Wed, 26 Dec 2012 19:17:29 +0000 (20:17 +0100)]
add PKGBUILD for release build.
matthiaskrgr [Wed, 26 Dec 2012 19:13:07 +0000 (20:13 +0100)]
PKGBUILD: license is MIT
Wolfgang Bumiller [Wed, 26 Dec 2012 19:06:30 +0000 (20:06 +0100)]
fix uninitialized warnings in ir.c
matthiaskrgr [Wed, 26 Dec 2012 19:07:51 +0000 (20:07 +0100)]
PKGBUILD: install custom license file.
matthiaskrgr [Wed, 26 Dec 2012 19:03:17 +0000 (20:03 +0100)]
PKGBUILD: license is not GPL actually
Wolfgang Bumiller [Wed, 26 Dec 2012 19:00:17 +0000 (20:00 +0100)]
Fixing uninitialized warnings in parser.c
Wolfgang Bumiller [Wed, 26 Dec 2012 18:58:53 +0000 (19:58 +0100)]
adding -fno-strict-aliasing
matthiaskrgr [Wed, 26 Dec 2012 18:58:40 +0000 (19:58 +0100)]
add PKGBUILD for git build.
Wolfgang Bumiller [Wed, 26 Dec 2012 18:37:55 +0000 (19:37 +0100)]
manpage: -dump, -dumpfin
Wolfgang Bumiller [Wed, 26 Dec 2012 18:21:31 +0000 (10:21 -0800)]
Merge pull request #73 from matthiaskrgr/master
fix some typos in todo file
matthiaskrgr [Wed, 26 Dec 2012 18:15:40 +0000 (19:15 +0100)]
TODO: fix typos
Wolfgang Bumiller [Wed, 26 Dec 2012 18:11:26 +0000 (19:11 +0100)]
counters for -Ocall-stores because we all love numbers
Wolfgang Bumiller [Wed, 26 Dec 2012 17:33:16 +0000 (18:33 +0100)]
Don't copy return values away from OFS_RETURN if they don't get locked.
Wolfgang Bumiller [Wed, 26 Dec 2012 09:28:01 +0000 (10:28 +0100)]
manpage: -Ovoid-return
Wolfgang Bumiller [Wed, 26 Dec 2012 09:26:04 +0000 (10:26 +0100)]
manpage: added -v to the qcvm manpage
Wolfgang Bumiller [Wed, 26 Dec 2012 09:24:33 +0000 (10:24 +0100)]
-Ovoid-return - the last INSTR_RETURN of a void functions is replaced by INSTR_DONE to reduce the instruction count
Wolfgang Bumiller [Wed, 26 Dec 2012 09:23:45 +0000 (10:23 +0100)]
verbose switches for the qcvm; makes -printfuns find the instruction-count of a function and print that too
Wolfgang Bumiller [Tue, 25 Dec 2012 22:51:29 +0000 (23:51 +0100)]
Actually generate the vector member ir_values in ir_function_finalize, since ir_builder_gen_global is too late / happens after life ranges; this should fix -Ooverlap-locals
Wolfgang Bumiller [Tue, 25 Dec 2012 22:28:09 +0000 (23:28 +0100)]
manpage: -Ocall-stores
Wolfgang Bumiller [Tue, 25 Dec 2012 22:25:59 +0000 (23:25 +0100)]
-Ocall-stores as part of -O1: instead of having CALL instructions issue STOREs for every parameter, use the newly introduced 'lock' flag to make the operations generating the call's parameters generate them right into the OFS_PARM if there's no interfering CALL in between
Wolfgang Bumiller [Tue, 25 Dec 2012 22:24:31 +0000 (23:24 +0100)]
do the locking before processing the call-reads otherwise all the call's parameters get locked as well
Wolfgang Bumiller [Tue, 25 Dec 2012 20:03:26 +0000 (21:03 +0100)]
liferange calc now sets the 'locked' flag on values when reaching a CALL
Wolfgang Bumiller [Tue, 25 Dec 2012 19:38:05 +0000 (20:38 +0100)]
The very aggressive -Ooverlap-strings
Wolfgang Bumiller [Mon, 24 Dec 2012 11:52:15 +0000 (12:52 +0100)]
Ensure that the members[] array is filled for vector types so the liferange function can use all of them
Wolfgang Bumiller [Mon, 24 Dec 2012 11:43:16 +0000 (12:43 +0100)]
Tests for the previous vector-liferange change
Wolfgang Bumiller [Mon, 24 Dec 2012 11:43:05 +0000 (12:43 +0100)]
Now this should deal with vector life ranges more correctly.
Wolfgang Bumiller [Mon, 24 Dec 2012 10:38:33 +0000 (11:38 +0100)]
print an error when static is used in global scope - this is currently not being handled as expected
Wolfgang Bumiller [Mon, 24 Dec 2012 10:30:58 +0000 (11:30 +0100)]
Added the 'static' keyword.
Implements #71
Wolfgang Bumiller [Mon, 24 Dec 2012 10:03:34 +0000 (11:03 +0100)]
manpage: -q, --quiet
Wolfgang Bumiller [Mon, 24 Dec 2012 10:01:24 +0000 (11:01 +0100)]
manpage: -fftepp-predefs
Wolfgang Bumiller [Mon, 24 Dec 2012 09:53:51 +0000 (10:53 +0100)]
-q, --quiet option
Dale Weiler [Mon, 24 Dec 2012 08:19:57 +0000 (08:19 +0000)]
one too many zeros
Dale Weiler [Mon, 24 Dec 2012 01:43:27 +0000 (01:43 +0000)]
Added my awesome MT1997 PRNG, and use it instead of stdio's rand()/srand() .. which are implementation specific .. and simply unsafe (for example one of the compilers at work simply has it's standard library implementation of rand() return 0 always (which is perfectly conformant)).
Dale Weiler [Mon, 24 Dec 2012 00:21:55 +0000 (00:21 +0000)]
Added ftepp predefs flag (ability to turn on/off predefs) disabled by default (even with -ftepp), enabled with -E, to enable use -fftepp-predefs.
Dale Weiler [Mon, 24 Dec 2012 00:12:24 +0000 (00:12 +0000)]
Implemented __FILE__, __LINE__, __RANDOM__, __RANDOM_LAST__, __COUNTER__ and __COUNTER_LAST__ as predefined macros. __FUNCTION__ is not implemented yet due to the overall complexity in making it constant.
Wolfgang Bumiller [Sun, 23 Dec 2012 21:58:46 +0000 (22:58 +0100)]
-Ostrip-constant-names
Wolfgang Bumiller [Sun, 23 Dec 2012 13:59:09 +0000 (14:59 +0100)]
code_genstring now caches strings, no need for code_cachestring
Wolfgang Bumiller [Sun, 23 Dec 2012 20:39:04 +0000 (21:39 +0100)]
-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
Wolfgang Bumiller [Sun, 23 Dec 2012 20:34:04 +0000 (21:34 +0100)]
Wolfgang Bumiller [Sun, 23 Dec 2012 20:29:15 +0000 (21:29 +0100)]
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
Wolfgang Bumiller [Sun, 23 Dec 2012 20:20:16 +0000 (21:20 +0100)]
Start instruction numbering at 1 and make parameters live at 0
Wolfgang Bumiller [Sun, 23 Dec 2012 20:11:56 +0000 (21:11 +0100)]
Don't store off CALL results if they're never read
Wolfgang Bumiller [Sun, 23 Dec 2012 19:55:15 +0000 (20:55 +0100)]
Even safer vector macros
Wolfgang Bumiller [Sun, 23 Dec 2012 19:50:21 +0000 (20:50 +0100)]
Life Ranges: First deal with all writes, then with all reads, since writes will remove values from the Living set
Wolfgang Bumiller [Sun, 23 Dec 2012 19:49:50 +0000 (20:49 +0100)]
Fixing vector macros
Wolfgang Bumiller [Sun, 23 Dec 2012 19:45:43 +0000 (20:45 +0100)]
added -disasm-func to the qcvm
Wolfgang Bumiller [Sun, 23 Dec 2012 18:22:38 +0000 (19:22 +0100)]
strcmp and strncmp builtins
Wolfgang Bumiller [Sun, 23 Dec 2012 18:05:39 +0000 (19:05 +0100)]
Adding strcat builtin to qcvm
Wolfgang Bumiller [Sun, 23 Dec 2012 16:51:01 +0000 (17:51 +0100)]
don't optimize out NOT_S instructions for COND
Wolfgang Bumiller [Sun, 23 Dec 2012 16:50:44 +0000 (17:50 +0100)]
manpage: remove the MUL_FV/VF section, it wouldn't be legal code anyway
Wolfgang Bumiller [Sun, 23 Dec 2012 16:46:40 +0000 (17:46 +0100)]
manpage: optimization section
Wolfgang Bumiller [Sun, 23 Dec 2012 16:40:56 +0000 (17:40 +0100)]
Mask overlap-locals by -Ooverlap-locals, and count (the amount of overlapped functions)
Wolfgang Bumiller [Sun, 23 Dec 2012 16:32:39 +0000 (17:32 +0100)]
Try generating the function-locals in a later pass; with the option to overlap them.
Wolfgang Bumiller [Sun, 23 Dec 2012 16:32:14 +0000 (17:32 +0100)]
Fix a nasty bug in the executor; and make null-strings be shown as (null) in the trace output
Wolfgang Bumiller [Sun, 23 Dec 2012 15:31:21 +0000 (16:31 +0100)]
Add -Ooverlap-locals to -O3
Wolfgang Bumiller [Sun, 23 Dec 2012 15:31:01 +0000 (16:31 +0100)]
remember the maximum amount of required function-locals
Wolfgang Bumiller [Sun, 23 Dec 2012 15:21:38 +0000 (16:21 +0100)]
ir_function now has a flags field - flags are: IR_FLAG_HAS_{ARRAYS,UNINITIALIZED,GOTO}
Wolfgang Bumiller [Sun, 23 Dec 2012 12:11:20 +0000 (13:11 +0100)]
util_swa_* + GMQCC_INLINE
Wolfgang Bumiller [Sun, 23 Dec 2012 11:22:27 +0000 (12:22 +0100)]
Don't generate defs for locals or parameters unless using -g
Wolfgang Bumiller [Sun, 23 Dec 2012 09:44:03 +0000 (10:44 +0100)]
utf8lib.c -> utf8.c - I hope windows 8 allows this filename :P
Wolfgang Bumiller [Sun, 23 Dec 2012 09:35:21 +0000 (10:35 +0100)]
license header
Wolfgang Bumiller [Sun, 23 Dec 2012 09:34:29 +0000 (10:34 +0100)]
Uchar -> uchar_t for consistency
Wolfgang Bumiller [Sat, 22 Dec 2012 21:48:41 +0000 (22:48 +0100)]
manpage: -futf8
Wolfgang Bumiller [Sat, 22 Dec 2012 21:46:42 +0000 (22:46 +0100)]
utf8 tests
Wolfgang Bumiller [Sat, 22 Dec 2012 21:44:14 +0000 (22:44 +0100)]
Better error message for -futf8
Wolfgang Bumiller [Sat, 22 Dec 2012 21:43:14 +0000 (22:43 +0100)]
fix and speed up u8_analyze for our purposes
Wolfgang Bumiller [Sat, 22 Dec 2012 21:34:57 +0000 (22:34 +0100)]
-futf8 implementation
Wolfgang Bumiller [Sat, 22 Dec 2012 21:31:10 +0000 (22:31 +0100)]
u8_analyze: return false on any invalid character, we do not allow invalid/overlong characters in code at all
Wolfgang Bumiller [Fri, 21 Dec 2012 11:18:57 +0000 (12:18 +0100)]
Importing utf8lib
Dale Weiler [Sun, 23 Dec 2012 09:18:17 +0000 (09:18 +0000)]
Bump 0.2 -> 0.3
Wolfgang Bumiller [Sun, 23 Dec 2012 09:14:25 +0000 (10:14 +0100)]
Don't generate vector defs if the vector's name starts with a # because that's an 'IMMEDIATE'
Dale Weiler [Sun, 23 Dec 2012 09:10:31 +0000 (09:10 +0000)]
Whitespace
Dale Weiler [Sun, 23 Dec 2012 09:10:07 +0000 (09:10 +0000)]
Revert "Whitespace fixes"
This reverts commit
4580dcf1eacfce517e95b654b73d6e72db366273 .
Dale Weiler [Sun, 23 Dec 2012 08:42:53 +0000 (08:42 +0000)]
Whitespace fixes
Dale Weiler [Sun, 23 Dec 2012 08:17:05 +0000 (08:17 +0000)]
Lies ... damned lies, all lies I tell you ... copy-pasta lies!
Dale Weiler [Sun, 23 Dec 2012 08:08:05 +0000 (08:08 +0000)]
Actually fix the segfault this time
Dale Weiler [Sun, 23 Dec 2012 07:57:06 +0000 (07:57 +0000)]
con_default_out for opts.pp_only (removes recently added TODO .. and fixes a segfault)
Dale Weiler [Sun, 23 Dec 2012 07:51:19 +0000 (07:51 +0000)]
Make compiler and virtual-machine compile as C++ code, also removed gmqcc_voidptr hack.
Dale Weiler [Sun, 23 Dec 2012 07:22:15 +0000 (07:22 +0000)]
Remove parser_compile_string_len, and make parser_compiler_string take an additional length argument.
Dale Weiler [Sun, 23 Dec 2012 07:19:49 +0000 (07:19 +0000)]
fix comments