diff mbox series

no needs to use MARK_CURRENT_DELETED() for multi-jumps

Message ID 20210417133154.53987-1-luc.vanoostenryck@gmail.com (mailing list archive)
State Mainlined, archived
Headers show
Series no needs to use MARK_CURRENT_DELETED() for multi-jumps | expand

Commit Message

Luc Van Oostenryck April 17, 2021, 1:31 p.m. UTC
MARK_CURRENT_DELETED() was added for the case(s) where an element
must be removed from the list but the address of the other elements
must not be changed. In this case of effectively removing the
element from it list, the element is 'marked' as deleted in the list
and the list walking macros will later take this in account.

However, this is not never needed for multi-jumps.

So, use the usual DELETE_CURRENT_PTR() for them.

Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
---
 simplify.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ramsay Jones April 17, 2021, 4:18 p.m. UTC | #1
On Sat, Apr 17, 2021 at 03:31:54PM +0200, Luc Van Oostenryck wrote:
> MARK_CURRENT_DELETED() was added for the case(s) where an element
> must be removed from the list but the address of the other elements
> must not be changed. In this case of effectively removing the
> element from it list, the element is 'marked' as deleted in the list
> and the list walking macros will later take this in account.
> 
> However, this is not never needed for multi-jumps.

s/not never/not ever/ ?

ATB,
Ramsay Jones

> 
> So, use the usual DELETE_CURRENT_PTR() for them.
> 
> Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
> ---
>  simplify.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/simplify.c b/simplify.c
> index 9e3514d838a9..30d053f708e3 100644
> --- a/simplify.c
> +++ b/simplify.c
> @@ -2651,7 +2651,7 @@ static int simplify_cgoto(struct instruction *insn)
>  				continue;
>  			remove_bb_from_list(&jmp->target->parents, bb, 1);
>  			remove_bb_from_list(&bb->children, jmp->target, 1);
> -			MARK_CURRENT_DELETED(jmp);
> +			DELETE_CURRENT_PTR(jmp);
>  		} END_FOR_EACH_PTR(jmp);
>  		kill_use(&insn->src);
>  		insn->opcode = OP_BR;
> -- 
> 2.31.1
>
Luc Van Oostenryck April 17, 2021, 4:38 p.m. UTC | #2
On Sat, Apr 17, 2021 at 05:18:31PM +0100, Ramsay Jones wrote:
> On Sat, Apr 17, 2021 at 03:31:54PM +0200, Luc Van Oostenryck wrote:
> > MARK_CURRENT_DELETED() was added for the case(s) where an element
> > must be removed from the list but the address of the other elements
> > must not be changed. In this case of effectively removing the
> > element from it list, the element is 'marked' as deleted in the list
> > and the list walking macros will later take this in account.
> > 
> > However, this is not never needed for multi-jumps.
> 
> s/not never/not ever/ ?

Hehe :) Thanks.
Just 's/not never/never/'

-- Luc
Ramsay Jones April 17, 2021, 5:46 p.m. UTC | #3
On 17/04/2021 17:38, Luc Van Oostenryck wrote:
> On Sat, Apr 17, 2021 at 05:18:31PM +0100, Ramsay Jones wrote:
>> On Sat, Apr 17, 2021 at 03:31:54PM +0200, Luc Van Oostenryck wrote:
>>> MARK_CURRENT_DELETED() was added for the case(s) where an element
>>> must be removed from the list but the address of the other elements
>>> must not be changed. In this case of effectively removing the
>>> element from it list, the element is 'marked' as deleted in the list
>>> and the list walking macros will later take this in account.
>>>
>>> However, this is not never needed for multi-jumps.
>>
>> s/not never/not ever/ ?
> 
> Hehe :) Thanks.
> Just 's/not never/never/'

Heh, palmface, of course! ;-)

ATB,
Ramsay Jones
diff mbox series

Patch

diff --git a/simplify.c b/simplify.c
index 9e3514d838a9..30d053f708e3 100644
--- a/simplify.c
+++ b/simplify.c
@@ -2651,7 +2651,7 @@  static int simplify_cgoto(struct instruction *insn)
 				continue;
 			remove_bb_from_list(&jmp->target->parents, bb, 1);
 			remove_bb_from_list(&bb->children, jmp->target, 1);
-			MARK_CURRENT_DELETED(jmp);
+			DELETE_CURRENT_PTR(jmp);
 		} END_FOR_EACH_PTR(jmp);
 		kill_use(&insn->src);
 		insn->opcode = OP_BR;