This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Remove some Pascal trees from the generic
- From: Waldek Hebisch <hebisch at math dot uni dot wroc dot pl>
- To: gcc-patches at gnu dot org
- Date: Fri, 9 Jul 2004 22:38:10 +0200 (CEST)
- Subject: Re: [PATCH] Remove some Pascal trees from the generic
Richard Henderson wrote:
>On Tue, Jul 06, 2004 at 08:28:00PM -0700, Andrew Pinski wrote:
>> * expr.c (expand_expr_real_1): Fix formating.
>> BUFFER_REF and IN_EXPR are dead.
>> * fold-const.c (non_lvalue): BUFFER_REF is dead.
>> * tree-inline.c (estimate_num_insns_1): Likewise.
>> * tree-pretty-print.c (dump_generic_node): BUFFER_REF,
>> IN_EXPR, SET_LE_EXPR, and CARD_EXPR are dead.
>> * tree.def (BUFFER_REF, IN_EXPR, SET_LE_EXPR, CARD_EXPR): Kill.
>> cp/ChangeLog:
>> * class.c (instantiate_type): BUFFER_REF is dead.
>> * lex.c (init_operators): IN_EXPR is dead.
>
>Ok.
>
>If Pascal ever gets ported to tree-ssa, these trees can be added to
>their language-specific source, and lowered in their gimplify hook.
>
ATM Pascal is not using BUFFER_REF, SET_LE_EXPR, CARD_EXPR and FILE_TYPE
at all. IN_EXPR is expanded in the front-end and never reaches back-end.
In fact Pascal also has SYMDIFF_EXPR for symmetric difference, and in
place where we expand SYMDIFF_EXPR we handle all set operations.
However, the current way is very slow for small sets so I consider a
change. For that a fast way to implement IN_EXPR would be nice (still
x & (1<<i) in C is order of magnitude faster then current Pascal
i IN x).
FYI FILE_TYPE handling is buggy -- back-end can not generate DWARF debug
info for files (and gdb has no support for reading such info), so GNU
Pascal just uses pointers as files.
--
Waldek Hebisch
hebisch@math.uni.wroc.pl