diff options
author | Matt Turner <[email protected]> | 2012-09-04 23:33:28 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2012-09-05 22:28:50 -0700 |
commit | b6109de34f04747ed2937a2e63c1f53740202d3e (patch) | |
tree | 6578024b65adc9dc2bc3bd4a23cf44f29808b3b2 /src/gallium/drivers | |
parent | da3282b6e2f374b88daf09f7f3ba5b05af45f51a (diff) |
Remove useless checks for NULL before freeing
Same as earlier commit, except for "FREE"
This patch has been generated by the following Coccinelle semantic
patch:
// Remove useless checks for NULL before freeing
//
// free (NULL) is a no-op, so there is no need to avoid it
@@
expression E;
@@
+ FREE (E);
+ E = NULL;
- if (unlikely (E != NULL)) {
- FREE(E);
(
- E = NULL;
|
- E = 0;
)
...
- }
@@
expression E;
type T;
@@
+ FREE ((T) E);
+ E = NULL;
- if (unlikely (E != NULL)) {
- FREE((T) E);
(
- E = NULL;
|
- E = 0;
)
...
- }
@@
expression E;
@@
+ FREE (E);
- if (unlikely (E != NULL)) {
- FREE (E);
- }
@@
expression E;
type T;
@@
+ FREE ((T) E);
- if (unlikely (E != NULL)) {
- FREE ((T) E);
- }
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/i915/i915_resource_texture.c | 3 | ||||
-rw-r--r-- | src/gallium/drivers/i915/i915_state.c | 7 | ||||
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_texture.c | 4 | ||||
-rw-r--r-- | src/gallium/drivers/nv30/nvfx_fragprog.c | 10 | ||||
-rw-r--r-- | src/gallium/drivers/nv50/nv50_program.c | 12 | ||||
-rw-r--r-- | src/gallium/drivers/nv50/nv50_screen.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_program.c | 12 | ||||
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_screen.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/r300/r300_screen_buffer.c | 3 | ||||
-rw-r--r-- | src/gallium/drivers/r300/r300_state.c | 3 |
10 files changed, 23 insertions, 43 deletions
diff --git a/src/gallium/drivers/i915/i915_resource_texture.c b/src/gallium/drivers/i915/i915_resource_texture.c index e60b5b435cc..603a379d0c8 100644 --- a/src/gallium/drivers/i915/i915_resource_texture.c +++ b/src/gallium/drivers/i915/i915_resource_texture.c @@ -705,8 +705,7 @@ i915_texture_destroy(struct pipe_screen *screen, iws->buffer_destroy(iws, tex->buffer); for (i = 0; i < Elements(tex->image_offset); i++) - if (tex->image_offset[i]) - FREE(tex->image_offset[i]); + FREE(tex->image_offset[i]); FREE(tex); } diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c index fdbff8b4a4e..410615f212a 100644 --- a/src/gallium/drivers/i915/i915_state.c +++ b/src/gallium/drivers/i915/i915_state.c @@ -614,10 +614,8 @@ void i915_delete_fs_state(struct pipe_context *pipe, void *shader) { struct i915_fragment_shader *ifs = (struct i915_fragment_shader *) shader; - if (ifs->decl) { - FREE(ifs->decl); - ifs->decl = NULL; - } + FREE(ifs->decl); + ifs->decl = NULL; if (ifs->program) { FREE(ifs->program); @@ -625,6 +623,7 @@ void i915_delete_fs_state(struct pipe_context *pipe, void *shader) FREE((struct tgsi_token *)ifs->state.tokens); ifs->state.tokens = NULL; } + ifs->program_len = 0; ifs->decl_len = 0; diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c index 36041432312..924881c7030 100644 --- a/src/gallium/drivers/llvmpipe/lp_texture.c +++ b/src/gallium/drivers/llvmpipe/lp_texture.c @@ -184,9 +184,7 @@ llvmpipe_texture_layout(struct llvmpipe_screen *screen, fail: for (level = 0; level <= pt->last_level; level++) { - if (lpr->layout[level]) { - FREE(lpr->layout[level]); - } + FREE(lpr->layout[level]); } return FALSE; diff --git a/src/gallium/drivers/nv30/nvfx_fragprog.c b/src/gallium/drivers/nv30/nvfx_fragprog.c index bfec4b3569b..935804e8e14 100644 --- a/src/gallium/drivers/nv30/nvfx_fragprog.c +++ b/src/gallium/drivers/nv30/nvfx_fragprog.c @@ -1101,10 +1101,9 @@ nvfx_fragprog_prepare(struct nv30_context* nvfx, struct nvfx_fpc *fpc) return TRUE; out_err: - if (fpc->r_temp) { - FREE(fpc->r_temp); - fpc->r_temp = NULL; - } + FREE(fpc->r_temp); + fpc->r_temp = NULL; + tgsi_parse_free(&p); return FALSE; } @@ -1218,8 +1217,7 @@ out: tgsi_parse_free(&parse); if(fpc) { - if (fpc->r_temp) - FREE(fpc->r_temp); + FREE(fpc->r_temp); util_dynarray_fini(&fpc->if_stack); util_dynarray_fini(&fpc->label_relocs); util_dynarray_fini(&fpc->imm_data); diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c index 72d14a6e3a0..0d292f7ab89 100644 --- a/src/gallium/drivers/nv50/nv50_program.c +++ b/src/gallium/drivers/nv50/nv50_program.c @@ -343,8 +343,7 @@ nv50_program_translate(struct nv50_program *prog, uint16_t chipset) NOUVEAU_ERR("shader translation failed: %i\n", ret); goto out; } - if (info->bin.syms) /* we don't need them yet */ - FREE(info->bin.syms); + FREE(info->bin.syms); prog->code = info->bin.code; prog->code_size = info->bin.codeSize; @@ -428,14 +427,11 @@ nv50_program_destroy(struct nv50_context *nv50, struct nv50_program *p) if (p->mem) nouveau_heap_free(&p->mem); - if (p->code) - FREE(p->code); + FREE(p->code); - if (p->fixups) - FREE(p->fixups); + FREE(p->fixups); - if (p->so) - FREE(p->so); + FREE(p->so); memset(p, 0, sizeof(*p)); diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c index 3d510ea5f35..beb81d66476 100644 --- a/src/gallium/drivers/nv50/nv50_screen.c +++ b/src/gallium/drivers/nv50/nv50_screen.c @@ -267,8 +267,7 @@ nv50_screen_destroy(struct pipe_screen *pscreen) if (screen->base.pushbuf) screen->base.pushbuf->user_priv = NULL; - if (screen->blitctx) - FREE(screen->blitctx); + FREE(screen->blitctx); nouveau_bo_ref(NULL, &screen->code); nouveau_bo_ref(NULL, &screen->tls_bo); @@ -281,8 +280,7 @@ nv50_screen_destroy(struct pipe_screen *pscreen) nouveau_heap_destroy(&screen->gp_code_heap); nouveau_heap_destroy(&screen->fp_code_heap); - if (screen->tic.entries) - FREE(screen->tic.entries); + FREE(screen->tic.entries); nouveau_object_del(&screen->tesla); nouveau_object_del(&screen->eng2d); diff --git a/src/gallium/drivers/nvc0/nvc0_program.c b/src/gallium/drivers/nvc0/nvc0_program.c index f228d07bf6b..9655e18de52 100644 --- a/src/gallium/drivers/nvc0/nvc0_program.c +++ b/src/gallium/drivers/nvc0/nvc0_program.c @@ -574,8 +574,7 @@ nvc0_program_translate(struct nvc0_program *prog, uint16_t chipset) NOUVEAU_ERR("shader translation failed: %i\n", ret); goto out; } - if (info->bin.syms) /* we don't need them yet */ - FREE(info->bin.syms); + FREE(info->bin.syms); prog->code = info->bin.code; prog->code_size = info->bin.codeSize; @@ -752,12 +751,9 @@ nvc0_program_destroy(struct nvc0_context *nvc0, struct nvc0_program *prog) if (prog->mem) nouveau_heap_free(&prog->mem); - if (prog->code) - FREE(prog->code); - if (prog->immd_data) - FREE(prog->immd_data); - if (prog->relocs) - FREE(prog->relocs); + FREE(prog->code); + FREE(prog->immd_data); + FREE(prog->relocs); if (prog->tfb) { if (nvc0->state.tfb == prog->tfb) nvc0->state.tfb = NULL; diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c index eb74e955f52..d4487442a55 100644 --- a/src/gallium/drivers/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nvc0/nvc0_screen.c @@ -256,8 +256,7 @@ nvc0_screen_destroy(struct pipe_screen *pscreen) if (screen->base.pushbuf) screen->base.pushbuf->user_priv = NULL; - if (screen->blitctx) - FREE(screen->blitctx); + FREE(screen->blitctx); nouveau_bo_ref(NULL, &screen->text); nouveau_bo_ref(NULL, &screen->uniform_bo); @@ -269,8 +268,7 @@ nvc0_screen_destroy(struct pipe_screen *pscreen) nouveau_heap_destroy(&screen->lib_code); nouveau_heap_destroy(&screen->text_heap); - if (screen->tic.entries) - FREE(screen->tic.entries); + FREE(screen->tic.entries); nouveau_mm_destroy(screen->mm_VRAM_fe0); diff --git a/src/gallium/drivers/r300/r300_screen_buffer.c b/src/gallium/drivers/r300/r300_screen_buffer.c index 7cb8cd60d3e..f652bf72b0c 100644 --- a/src/gallium/drivers/r300/r300_screen_buffer.c +++ b/src/gallium/drivers/r300/r300_screen_buffer.c @@ -55,8 +55,7 @@ static void r300_buffer_destroy(struct pipe_screen *screen, { struct r300_resource *rbuf = r300_resource(buf); - if (rbuf->malloced_buffer) - FREE(rbuf->malloced_buffer); + FREE(rbuf->malloced_buffer); if (rbuf->buf) pb_reference(&rbuf->buf, NULL); diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index 6f9feb10564..46a6bf669b7 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -1840,8 +1840,7 @@ static void r300_delete_vs_state(struct pipe_context* pipe, void* shader) if (r300->screen->caps.has_tcl) { rc_constants_destroy(&vs->code.constants); - if (vs->code.constants_remap_table) - FREE(vs->code.constants_remap_table); + FREE(vs->code.constants_remap_table); } else { draw_delete_vertex_shader(r300->draw, (struct draw_vertex_shader*)vs->draw_vs); |