[PATCH]: Fix PR rtl-optimization/29841: cfgbuild.c: control_flow_insn_p () .

Maxim Kuvyrkov mkuvyrkov@ispras.ru
Tue Apr 17 10:02:00 GMT 2007


Eric Botcazou wrote:

...

> Index: cfgbuild.c
> ===================================================================
> --- cfgbuild.c	(revision 123843)
> +++ cfgbuild.c	(working copy)
> @@ -120,6 +120,11 @@ control_flow_insn_p (rtx insn)
>  	      || can_throw_internal (insn));
>  
>      case INSN:
> +      /* Treat trap instructions like noreturn calls (same provision).  */
> +      if (GET_CODE (PATTERN (insn)) == TRAP_IF
> +	  && XEXP (PATTERN (insn), 0) == const1_rtx)
> +	return true;
> +
>        return (flag_non_call_exceptions && can_throw_internal (insn));
>  
>      case BARRIER:

Did you consider fixing cfgrtl.c: rtl_verify_flow_info_1 () as well? 
The workaround for a barrier inside a basic block should no longer be 
needed with you patch.

--
Maxim



More information about the Gcc-patches mailing list