mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-30 12:10:03 +02:00
[ion/device] Remove ad-hoc compiler optimizations
Since we hand-specify which regs/regs.h functions shoudl be inlined, we don't need to depend on specific compiler optimization levels.
This commit is contained in:
committed by
EmilieNumworks
parent
d0660b6543
commit
5b00192b67
@@ -21,18 +21,3 @@ ION_DEVICE_SFLAGS = -Iion/src/device/$(MODEL) -Iion/src/device/shared
|
||||
|
||||
$(call object_for,$(sort $(ion_device_src) $(dfu_src) $(ion_target_device_flasher_light_src) $(ion_target_device_flasher_verbose_src) $(usb_src) $(ion_target_device_bench_src) $(ion_device_dfu_xip_src) $(ion_device_dfu_relocated_src) $(ion_console_uart_src))): SFLAGS += $(ION_DEVICE_SFLAGS)
|
||||
ion_src += $(ion_device_src)
|
||||
|
||||
# When using the register.h C++ file in production mode, we expect the compiler
|
||||
# to completely inline all bit manipulations. For some reason, if we build using
|
||||
# the -Os optimization flag, GCC doesn't inline everything and and ends up
|
||||
# emitting calls to aeabi_llsl for 64-bits registers. This is very sub-optimal
|
||||
# so we're enforcing -O3 for this specific file.
|
||||
|
||||
ifneq ($(DEBUG),1)
|
||||
ifneq ($(COMPILER),llvm)
|
||||
$(BUILD_DIR)/ion/src/device/led.o: SFLAGS+=-O3
|
||||
$(BUILD_DIR)/ion/src/device/console.o: SFLAGS+=-O3
|
||||
$(BUILD_DIR)/ion/src/device/display.o: SFLAGS+=-O3
|
||||
$(BUILD_DIR)/ion/src/device/swd.o: SFLAGS+=-O3
|
||||
endif
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user