objtool: Remove redundant checks on operand type
authorJulien Thierry <jthierry@redhat.com>
Fri, 27 Mar 2020 15:28:39 +0000 (15:28 +0000)
committerIngo Molnar <mingo@kernel.org>
Wed, 22 Apr 2020 08:53:49 +0000 (10:53 +0200)
POP operations are already in the code path where the destination
operand is OP_DEST_REG. There is no need to check the operand type
again.

Signed-off-by: Julien Thierry <jthierry@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
tools/objtool/check.c

index 4b170fd08a28b194a6e3c006c9bcb1237dd6a246..c18eca151b6dac538b93ecf72da8329e1917108c 100644 (file)
@@ -1715,15 +1715,13 @@ static int update_insn_state(struct instruction *insn, struct insn_state *state)
 
                case OP_SRC_POP:
                case OP_SRC_POPF:
-                       if (!state->drap && op->dest.type == OP_DEST_REG &&
-                           op->dest.reg == cfa->base) {
+                       if (!state->drap && op->dest.reg == cfa->base) {
 
                                /* pop %rbp */
                                cfa->base = CFI_SP;
                        }
 
                        if (state->drap && cfa->base == CFI_BP_INDIRECT &&
-                           op->dest.type == OP_DEST_REG &&
                            op->dest.reg == state->drap_reg &&
                            state->drap_offset == -state->stack_size) {