mirror of
https://github.com/janet-lang/janet
synced 2025-11-01 16:13:02 +00:00
Add inital bytecode optimizations for #1163
This removes unnecessary movn, movf, lds, and a few other instructions. Any instructions that has not side effects and writes to a slot that isn't used can be removed. A number of other optimizations can follow from this: - Implement the def-aliasing-var optimization better - This function can be iterated as a fix point until no more instructions are removed. - If we implement slot renaming, then we no longer need to free slots and can simplify the initial code generation a lot.
This commit is contained in:
2
Makefile
2
Makefile
@@ -51,7 +51,7 @@ LDFLAGS?=-rdynamic
|
||||
RUN:=$(RUN)
|
||||
|
||||
COMMON_CFLAGS:=-std=c99 -Wall -Wextra -Isrc/include -Isrc/conf -fvisibility=hidden -fPIC
|
||||
BOOT_CFLAGS:=-DJANET_BOOTSTRAP -DJANET_BUILD=$(JANET_BUILD) -O0 $(COMMON_CFLAGS)
|
||||
BOOT_CFLAGS:=-DJANET_BOOTSTRAP -DJANET_BUILD=$(JANET_BUILD) -O0 $(COMMON_CFLAGS) -g
|
||||
BUILD_CFLAGS:=$(CFLAGS) $(COMMON_CFLAGS)
|
||||
|
||||
# For installation
|
||||
|
||||
Reference in New Issue
Block a user