singhvk@eecg.toronto.edu (Vijaya Singh (Vij)) (12/11/90)
Hi,
A quick question regarding GCC's RTL generation and assembler
code generation...
IS THE FOLLOWING CORRECT???
(Inferred from browsing the GCC manual, if I'm wrong PLEASE let
me know!! --> thanks!)
*******************************************************************
The "machine.md" file generally contains 4 kinds of expressions:
1) (define_insn "name" ...) ie: with optional name
2) (define_insn "" ...) ie: without optional name
3) (define_expand "name" ...)
4) (define_peephole ...)
RTL generation uses 1,3
Code generation uses 1,2,4
TYPE 1 is used both for RTL generation (when "name" is required)
and for code generation (when RTL template is matched).
TYPE 2 is used only for code generation (when RTL template is
matched). This type can be used to generate more efficient code.
TYPE 3 is used only for RTL generation (when "name" is required).
This type is used when "name" requires more than one RTL insns.
TYPE 4 is used only for code generation (when RTL insn-pattern vector
is matched). This type is used for replacing a sequence of RTL
insns with one.
*******************************************************************
Thanks,
VIJ...
--
Vijaya Singh, Department of Electrical Engineering, University Of Toronto
VOICE: (416) 978-1653, FAX: (416) 978-7423
EMAIL: singhvk@eecg.toronto.edu
--
Send compilers articles to compilers@iecc.cambridge.ma.us or
{ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.