- Upgraded the Bazel BuildTool to the latest version (8.2.1).
- Updated the `tflm-ci` Docker image and pushed the new tag (0.6.1) to the `ghcr.io/tflm-bot/tflm-ci registry`.
- Updated the WORKSPACE to load `rules_cc` and `rules_shell` explicitly
- Ran `buildifier` to ensure all BUILD files to have all the fixes.
BUG=Clean-up
Remove micro_copts() by replacing every cc_* target that used
them with a tflm_cc_* equivalent, and setting those common copts
in one place, inside the tflm_cc_* macro.
This is the first of several commits introducing tflm_cc_* macros
in place of cc_binary, cc_library, and cc_test. Motivated by the
upcoming need to support conditional compilation, the objective
is to centralize build configuration rather than requiring (and
remembering that) each cc_* target in the project add the same
common attributes such as compiler options and select()ed
Alternatives such as setting global options on the command line
or in .bazelrc, even if simplified with a --config option, fail
to preserve flags and hooks for configuration in the case TFLM is
used as an external repository by an application project. Nor is
it easy in that case for individual targets to override an
otherwise global setting.
BUG=#2636
Fix various compiler warnings about signed vs. unsigned comparisons, in
preparation for enabling -Werror.
Fix by making the most straightforward, local changes. Improving the test
framework, changing types in data structures, and or adding some utility
functions might yield prettier code.
BUG=part of #2057
In order to maintain a single version for our Makefile and Bazel builds, we should use the same version of KISSFFT. In addition, the Makefile version is properly setup to support multiple resolutions with the patch, so we apply that to the Bazel version as well.
BUG=[201319430](http://b/201319430)
Armclang need to use -ffp-mode=full because quantization unit test is
using NaN and without this use of NaN is undefined behavior.
Because of a compiler defect which only occurs with -ffp-mode=full a
workaround is done in the lstm unit test. The workaround prevents
implicit conversion from double to float. Since many of those
conversions would be inexact, the compiler would not consider those
conversions as constant expressions with -ffp-mode=full.
BUG=https://github.com/tensorflow/tflite-micro/issues/1305
* Fix linter issues in a few files.
* restore file whose source of truth is the upstream TF repo.
Co-authored-by: Advait Jain <advaitjain@google.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Wrap 16-bit Kiss FFT in a C++ namespace
This will enable us to support multiple copies of Kiss FFT for different
resolutions within the same application without running into linker
errors.
BUG=200737980
* Fix Bazel build by upgrading kissfft version to a version that has proper inclusion guards.
For Make build, where the include guards are patched in, change the
guards to a canonical format.
* missing header file and fix namespace wrapper.
* Sub extern C with extern C++ instead of undef-ing __cplusplus, which broke standard headers.
* Stop building kiss_fft source file. Instead, they are included in type-specific namespace wrappers
* Remove Kiss FFT source files from project generation makefile and consider kiss FFT .c files as headers
Co-authored-by: Advait Jain <advaitjain@users.noreply.github.com>