diff --git a/src/main/common/encoding.c b/src/main/common/encoding.c
index 136f628031..32d9eb5205 100644
--- a/src/main/common/encoding.c
+++ b/src/main/common/encoding.c
@@ -15,6 +15,10 @@
* along with Cleanflight. If not, see .
*/
+#include "platform.h"
+
+FILE_COMPILE_FOR_SPEED
+
#include "encoding.h"
/**
diff --git a/src/main/common/filter.c b/src/main/common/filter.c
index 3226e52b3a..a436534256 100644
--- a/src/main/common/filter.c
+++ b/src/main/common/filter.c
@@ -22,6 +22,8 @@
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
#include "common/filter.h"
#include "common/maths.h"
#include "common/utils.h"
diff --git a/src/main/common/maths.c b/src/main/common/maths.c
index e96ac7c1e6..0a148701e5 100644
--- a/src/main/common/maths.c
+++ b/src/main/common/maths.c
@@ -25,6 +25,8 @@
#include "quaternion.h"
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
// http://lolengine.net/blog/2011/12/21/better-function-approximations
// Chebyshev http://stackoverflow.com/questions/345085/how-do-trigonometric-functions-work/345117#345117
// Thanks for ledvinap for making such accuracy possible! See: https://github.com/cleanflight/cleanflight/issues/940#issuecomment-110323384
diff --git a/src/main/common/typeconversion.c b/src/main/common/typeconversion.c
index add37041de..b07f41f8a0 100644
--- a/src/main/common/typeconversion.c
+++ b/src/main/common/typeconversion.c
@@ -20,6 +20,8 @@
#include "build/build_config.h"
#include "maths.h"
+#include "platform.h"
+FILE_COMPILE_FOR_SPEED
#ifdef REQUIRE_PRINTF_LONG_SUPPORT
diff --git a/src/main/drivers/max7456.c b/src/main/drivers/max7456.c
index 405db287c1..964166b14b 100644
--- a/src/main/drivers/max7456.c
+++ b/src/main/drivers/max7456.c
@@ -22,6 +22,8 @@
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
#ifdef USE_MAX7456
#include "common/bitarray.h"
diff --git a/src/main/drivers/pwm_output.c b/src/main/drivers/pwm_output.c
index 15a68faa19..8d048c87a5 100644
--- a/src/main/drivers/pwm_output.c
+++ b/src/main/drivers/pwm_output.c
@@ -22,6 +22,8 @@
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
#include "build/debug.h"
#include "common/log.h"
diff --git a/src/main/fc/fc_core.c b/src/main/fc/fc_core.c
index 64329dbe17..4528397b42 100755
--- a/src/main/fc/fc_core.c
+++ b/src/main/fc/fc_core.c
@@ -21,6 +21,8 @@
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
#include "blackbox/blackbox.h"
#include "build/debug.h"
diff --git a/src/main/flight/gyroanalyse.c b/src/main/flight/gyroanalyse.c
index 64da4305f1..b85d538a15 100644
--- a/src/main/flight/gyroanalyse.c
+++ b/src/main/flight/gyroanalyse.c
@@ -26,6 +26,7 @@
#include
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
#ifdef USE_DYNAMIC_FILTERS
diff --git a/src/main/flight/imu.c b/src/main/flight/imu.c
index ff9f0f9063..375a128f89 100644
--- a/src/main/flight/imu.c
+++ b/src/main/flight/imu.c
@@ -23,6 +23,8 @@
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
#include "blackbox/blackbox.h"
#include "build/build_config.h"
@@ -631,7 +633,7 @@ void imuCheckVibrationLevels(void)
// DEBUG_VIBE values 4-7 are used by NAV estimator
}
-void FAST_CODE NOINLINE imuUpdateAttitude(timeUs_t currentTimeUs)
+void imuUpdateAttitude(timeUs_t currentTimeUs)
{
/* Calculate dT */
static timeUs_t previousIMUUpdateTimeUs;
diff --git a/src/main/flight/mixer.c b/src/main/flight/mixer.c
index 30d4f1f876..c0a95ae0d8 100755
--- a/src/main/flight/mixer.c
+++ b/src/main/flight/mixer.c
@@ -21,6 +21,8 @@
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
#include "build/debug.h"
#include "common/axis.h"
diff --git a/src/main/flight/pid.c b/src/main/flight/pid.c
index eced2d6a4c..740fd28a77 100644
--- a/src/main/flight/pid.c
+++ b/src/main/flight/pid.c
@@ -21,6 +21,8 @@
#include
+FILE_COMPILE_FOR_SPEED
+
#include "build/build_config.h"
#include "build/debug.h"
diff --git a/src/main/io/osd.c b/src/main/io/osd.c
index bd348c4823..df93a1d59f 100755
--- a/src/main/io/osd.c
+++ b/src/main/io/osd.c
@@ -31,6 +31,8 @@
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
#ifdef USE_OSD
#include "build/debug.h"
diff --git a/src/main/rx/crsf.c b/src/main/rx/crsf.c
index 276bb956b9..6a0ad8d3f5 100755
--- a/src/main/rx/crsf.c
+++ b/src/main/rx/crsf.c
@@ -21,7 +21,7 @@
#include
#include "platform.h"
-
+FILE_COMPILE_FOR_SPEED
#ifdef USE_SERIALRX_CRSF
#include "build/build_config.h"
diff --git a/src/main/rx/fport.c b/src/main/rx/fport.c
index e544e434e7..b9a8144b31 100644
--- a/src/main/rx/fport.c
+++ b/src/main/rx/fport.c
@@ -21,6 +21,7 @@
#include
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
#if defined(USE_SERIAL_RX)
diff --git a/src/main/rx/sbus.c b/src/main/rx/sbus.c
index 04bc855697..16a76a8fa0 100644
--- a/src/main/rx/sbus.c
+++ b/src/main/rx/sbus.c
@@ -21,6 +21,7 @@
#include
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
#ifdef USE_SERIAL_RX
diff --git a/src/main/scheduler/scheduler.c b/src/main/scheduler/scheduler.c
index e9c00345ea..f3de93c7b7 100755
--- a/src/main/scheduler/scheduler.c
+++ b/src/main/scheduler/scheduler.c
@@ -21,6 +21,8 @@
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
#include "scheduler.h"
#include "build/build_config.h"
diff --git a/src/main/sensors/acceleration.c b/src/main/sensors/acceleration.c
index 5a1cdd8b6d..07ae4c067b 100644
--- a/src/main/sensors/acceleration.c
+++ b/src/main/sensors/acceleration.c
@@ -21,6 +21,9 @@
#include
#include "platform.h"
+
+FILE_COMPILE_FOR_SPEED
+
#include "build/debug.h"
#include "common/axis.h"
diff --git a/src/main/sensors/boardalignment.c b/src/main/sensors/boardalignment.c
index ffe4210f5c..205f7c8df3 100644
--- a/src/main/sensors/boardalignment.c
+++ b/src/main/sensors/boardalignment.c
@@ -22,6 +22,8 @@
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
#include "common/maths.h"
#include "common/vector.h"
#include "common/axis.h"
diff --git a/src/main/sensors/gyro.c b/src/main/sensors/gyro.c
index 827d7cb33c..c51466322e 100644
--- a/src/main/sensors/gyro.c
+++ b/src/main/sensors/gyro.c
@@ -22,6 +22,8 @@
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
+
#include "build/build_config.h"
#include "build/debug.h"
diff --git a/src/main/telemetry/crsf.c b/src/main/telemetry/crsf.c
index 0e8c9dc2a5..b17809bdd1 100755
--- a/src/main/telemetry/crsf.c
+++ b/src/main/telemetry/crsf.c
@@ -20,6 +20,7 @@
#include
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
#if defined(USE_TELEMETRY) && defined(USE_SERIALRX_CRSF) && defined(USE_TELEMETRY_CRSF)
diff --git a/src/main/telemetry/smartport.c b/src/main/telemetry/smartport.c
index 9ac0dce545..0d7a0bfe04 100755
--- a/src/main/telemetry/smartport.c
+++ b/src/main/telemetry/smartport.c
@@ -9,6 +9,7 @@
#include
#include "platform.h"
+FILE_COMPILE_FOR_SPEED
#if defined(USE_TELEMETRY) && defined(USE_TELEMETRY_SMARTPORT)