objtool: Remove useless tests before save_reg()
authorJulien Thierry <jthierry@redhat.com>
Tue, 15 Sep 2020 07:53:16 +0000 (08:53 +0100)
committerJosh Poimboeuf <jpoimboe@redhat.com>
Fri, 18 Sep 2020 17:02:27 +0000 (12:02 -0500)
save_reg already checks that the register being saved does not already
have a saved state.

Remove redundant checks before processing a register storing operation.

Signed-off-by: Julien Thierry <jthierry@redhat.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
tools/objtool/check.c

index 4e2f703b6a25b648815de7af1b5e85064cba9846..fd2edab8e6728398b3f7db77e74ebee8d4e38c32 100644 (file)
@@ -2030,7 +2030,7 @@ static int update_cfi_state(struct instruction *insn, struct cfi_state *cfi,
                                /* drap: push %rbp */
                                cfi->stack_size = 0;
 
-                       } else if (regs[op->src.reg].base == CFI_UNDEFINED) {
+                       } else {
 
                                /* drap: push %reg */
                                save_reg(cfi, op->src.reg, CFI_BP, -cfi->stack_size);
@@ -2059,9 +2059,7 @@ static int update_cfi_state(struct instruction *insn, struct cfi_state *cfi,
 
                                /* save drap offset so we know when to restore it */
                                cfi->drap_offset = op->dest.offset;
-                       }
-
-                       else if (regs[op->src.reg].base == CFI_UNDEFINED) {
+                       } else {
 
                                /* drap: mov reg, disp(%rbp) */
                                save_reg(cfi, op->src.reg, CFI_BP, op->dest.offset);