machine-dependent Passes on GIMPLE/SSA Tree's?

Dorit Nuzman DORIT@il.ibm.com
Mon Nov 27 20:29:00 GMT 2006


> 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



More information about the Gcc mailing list