Allow specifying benchmark arena size

- The change to a 2MB arena caused some benchmark targets to fail to
  link due to needing more than 4MB. Add a parameter to the build rules
  to allow specifying the arena size per-target, and default to the old
  1.5MB size.

Change-Id: I37b49fb2d866fe0d7df33316374c3bc3d0271058
diff --git a/benchmarks/benchmark_kelvin.cc b/benchmarks/benchmark_kelvin.cc
index eac9fe8..fdec54a 100644
--- a/benchmarks/benchmark_kelvin.cc
+++ b/benchmarks/benchmark_kelvin.cc
@@ -52,7 +52,11 @@
 #endif
 
 namespace {
-constexpr int kTensorArenaSize = 2 * 1024 * 1024;
+#ifdef ARENA_SIZE_BYTES
+constexpr int kTensorArenaSize = ARENA_SIZE_BYTES;
+#else
+constexpr int kTensorArenaSize = 1536 * 1024;
+#endif
 uint8_t g_tensor_arena[kTensorArenaSize] __attribute__((aligned(64)));
 
 __attribute__((section(".model_output_header"))) BenchmarkOutputHeader output_header = {
diff --git a/benchmarks/benchmarks.bzl b/benchmarks/benchmarks.bzl
index 5f919f8..d49ba07 100644
--- a/benchmarks/benchmarks.bzl
+++ b/benchmarks/benchmarks.bzl
@@ -30,6 +30,7 @@
         hw_test_tags = [],
         iss_test_size = "small",
         iss_test_tags = [],
+        arena_size_bytes = 1536 * 1024, # 1.5MB
         **kwargs):
 
         if kelvin_binary_info:
@@ -81,6 +82,7 @@
                     "-DTEST_DATA_OUTPUT={}".format(1 if test_data_output else 0),
                     "-DPROFILE={}".format(1 if profile else 0),
                     "-DBENCHMARK_PATH={}".format(benchmark_path),
+                    "-DARENA_SIZE_BYTES={}".format(arena_size_bytes),
                 ],
                 deps = [
                     "@kelvin_sw//crt",
@@ -190,6 +192,7 @@
         profile = False,
         kelvin_binary_info = None,
         benchmark_path = "benchmarks",
+        arena_size_bytes = 1536 * 1024, # 1.5MB
         **kwargs):
 
         # Creation of binaries for running on FPGA
@@ -294,6 +297,7 @@
                     "-DTEST_DATA_OUTPUT={}".format(1 if test_data_output else 0),
                     "-DPROFILE={}".format(1 if profile else 0),
                     "-DBENCHMARK_PATH={}".format(benchmark_path),
+                    "-DARENA_SIZE_BYTES={}".format(arena_size_bytes),
                 ],
                 hdrs = kelvin_headers,
                 deps = [