This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SEQUENCEs


P.S.: There is the issue that we want a uniform type returned from the
expanders.
Either we could reorder the struct sequence_stack so that it can be tagged with
an rtx type without overwriting the first / last members, so we again pass 'rtl'
around, or we can all expanders return a strcut sequence;
for this we could have functions that wrap a single pattern in an INSN,
JUMP_INSN
or CALL_INSN, and that in turn into a sequence.
That will make these simple expanders slightly larger, but we can have special
functions
that handle the most common cases SET and PARALLEL, and moreover there is a lot
of
potential to make expanders smaller & faster currently unused:
- we could have gen_rtx_vec_n functions for small n, to be generated by genrtl
  instead of gen_rtx (n, .  That saves not only passing the size parameter,
  but also varargs, alloca and functioncall overhead.
- We could have extra generator functions with an implict mode, e.g.
gen_rtx_SET_VOID,
  gen_rtx_reg_HI, gen_rtx_REG_SI, gen_rtx_REG_DI
-- 
--------------------------
SuperH
2430 Aztec West / Almondsbury / BRISTOL / BS32 4AQ
T:+44 1454 462330


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]