This is the mail archive of the gcc-patches@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: [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 


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