This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: machine-dependent Passes on GIMPLE/SSA Tree's?
- From: Dorit Nuzman <DORIT at il dot ibm dot com>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: gcc at gcc dot gnu dot org, Markus dot Franke at informatik dot tu-chemnitz dot de
- Date: Mon, 27 Nov 2006 22:06:34 +0200
- Subject: Re: machine-dependent Passes on GIMPLE/SSA Tree's?
> Markus Franke wrote on 11/27/06 12:50:
>
> > Are there also some other optimisation passes working on the GIMPLE/SSA
> > representation which make use of any machine-dependent features?
> >
> Yes. Passes like vectorization and loop optimizations will use so
> called 'target hooks' which allow the high-level passes to query the
> target for various capabilities and attributes. See the tree-vect*.c
> files for several examples.
builtin_mask_for_load
builtin_vectorized_function
builtin_mul_widen_even
builtin_mul_widen_odd
are examples for such target hooks.
There's other machine-dependent bits, like the UNITS_PER_SIMD_WORD variable
that each target can define,
and anywhere we check whether an operation is supported in the relevant
vector mode
(e.g. - "if (optab->handlers[(int) vec_mode].insn_code ==
CODE_FOR_nothing)").
dorit