freedreno/ir3: Get rid of nested functions
authorBernhard Rosenkränzer <bero@linaro.org>
Wed, 10 Feb 2016 16:19:46 +0000 (17:19 +0100)
committerRob Clark <robclark@freedesktop.org>
Wed, 10 Feb 2016 16:26:48 +0000 (11:26 -0500)
This allows building Freedreno with clang

Signed-off-by: Bernhard Rosenkränzer <bero@linaro.org>
Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/ir3/ir3_ra.c

index 2ed7881..bcad96e 100644 (file)
@@ -605,21 +605,21 @@ ra_block_compute_live_ranges(struct ir3_ra_ctx *ctx, struct ir3_block *block)
        struct ir3_ra_block_data *bd;
        unsigned bitset_words = BITSET_WORDS(ctx->alloc_count);
 
-       void def(unsigned name, struct ir3_instruction *instr)
-       {
-               /* defined on first write: */
-               if (!ctx->def[name])
-                       ctx->def[name] = instr->ip;
-               ctx->use[name] = instr->ip;
-               BITSET_SET(bd->def, name);
-       }
-
-       void use(unsigned name, struct ir3_instruction *instr)
-       {
-               ctx->use[name] = MAX2(ctx->use[name], instr->ip);
-               if (!BITSET_TEST(bd->def, name))
-                       BITSET_SET(bd->use, name);
-       }
+#define def(name, instr) \
+               do { \
+                       /* defined on first write: */ \
+                       if (!ctx->def[name]) \
+                               ctx->def[name] = instr->ip; \
+                       ctx->use[name] = instr->ip; \
+                       BITSET_SET(bd->def, name); \
+               } while(0);
+
+#define use(name, instr) \
+               do { \
+                       ctx->use[name] = MAX2(ctx->use[name], instr->ip); \
+                       if (!BITSET_TEST(bd->def, name)) \
+                               BITSET_SET(bd->use, name); \
+               } while(0);
 
        bd = rzalloc(ctx->g, struct ir3_ra_block_data);