This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: How early are COND_EXEC patterns created?
- To: gcc-patches at gcc dot gnu dot org
- Subject: Re: How early are COND_EXEC patterns created?
- From: John Wehle <john at feith dot com>
- Date: Tue, 2 May 2000 19:56:55 -0400 (EDT)
- Cc: gcc at gcc dot gnu dot org, meissner at cygnus dot com, rth at cygnus dot com
>> > BTW, can COND_EXEC appear inside a PARALLEL?
>>
>> I would expect not, but did make provision for it in the bits
>> that scan for stores.
>
> As Richard knows, the reverse certain occurs (having a PARALLEL inside of a
> COND_EXEC) in the d30v. Look at cond_exec_si_addsub.
Perhaps the enclosed patch might be useful to clarify the documentation?
ChangeLog:
Tue May 2 19:49:58 EDT 2000 John Wehle (john@feith.com)
* rtl.def (COND_EXEC): Clarify.
-- John Wehle
------------------8<------------------------8<------------------------
*** gcc/rtl.def.ORIGINAL Tue Apr 25 16:11:52 2000
--- gcc/rtl.def Tue May 2 19:45:36 2000
*************** DEF_RTL_EXPR(NOTE, "note", "iuu0n", 'x')
*** 394,400 ****
Top level constituents of INSN, JUMP_INSN and CALL_INSN.
---------------------------------------------------------------------- */
! /* Several operations to be done in parallel. */
DEF_RTL_EXPR(PARALLEL, "parallel", "E", 'x')
/* A string that is passed through to the assembler as input.
--- 394,409 ----
Top level constituents of INSN, JUMP_INSN and CALL_INSN.
---------------------------------------------------------------------- */
! /* Conditionally execute code.
! Operand 0 is the condition that if true, the code is executed.
! Operand 1 is the code to be executed (typically a SET).
!
! Semantics are that there are no side effects if the condition
! is false. This pattern is created automatically by the if_convert
! pass run after reload. */
! DEF_RTL_EXPR(COND_EXEC, "cond_exec", "ee", 'x')
!
! /* Several operations to be done in parallel (perhaps under COND_EXEC). */
DEF_RTL_EXPR(PARALLEL, "parallel", "E", 'x')
/* A string that is passed through to the assembler as input.
*************** DEF_RTL_EXPR(CALL_PLACEHOLDER, "call_pla
*** 896,908 ****
of canonical RTL. It is, however, easier to manipulate this way. */
DEF_RTL_EXPR(PHI, "phi", "E", 'x')
- /* Conditionally execute code.
- Operand 0 is the condition that if true, the code is executed.
- Operand 1 is the code to be executed (typically a SET).
-
- Semantics are that there are no side effects if the condition
- is false. */
- DEF_RTL_EXPR(COND_EXEC, "cond_exec", "ee", 'x')
/*
Local variables:
--- 905,910 ----
-------------------------------------------------------------------------
| Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com |
| John Wehle | Fax: 1-215-540-5495 | |
-------------------------------------------------------------------------