Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #26927

Re: Code review requested

From Walter Banks <walter@bytecraft.com>
Newsgroups comp.lang.c
Subject Re: Code review requested
Date 2012-10-01 07:43 -0400
Organization Aioe.org NNTP Server
Message-ID <506981F4.81226011@bytecraft.com> (permalink)
References (5 earlier) <fd4f5b6a-e495-4de6-b886-9351a5e99514@r7g2000yqa.googlegroups.com> <505B8618.7020003@verizon.net> <c4939e6f-e921-49a3-bdb3-576460e6eb1f@u15g2000yql.googlegroups.com> <505B9D45.1040505@verizon.net> <505c1cf4$0$1997$426a34cc@news.free.fr>

Show all headers | View raw



Francois Grieu wrote:

> ? If the condition does
> ? not actually need to be re-evaluated, most modern compilers can be
> ? counted on to detect that fact (more reliably than I can), and use an
> ? unnamed temporary for the same purpose that a named boolean variable
> ? would have been used for.
>
> I wish I knew any compiler than could do that for the 8-bit targets
> (ST7-on-steroids, 8051-siblings, PIC18-and-then-some) that I often code for.

In our 8 bitcompilers we detect common conditional expressions but
don't ever save the results for future use for three reasons

1) It doesn't happen very often in real application code.
2) It slows down the original evaluation of the expression usually by interfering with data flow in a primary
register
3) Indirect paths to terms that are not declared as volatiles and should be.

It is one of those optimizations where the programmer has to be disciplined and results are limited and the
support is high. It comes up from time to time in internal product reviews and then we review the metrics of
actual applications and discover that it would be rarely useful

> I doubt it would use bit variables
> and instructions often availabl. Hence, *if* speed or size is more relevant
> than clarity, using an explicit intermediary bit variable would typically be
> beneficial on these targets.

We use bit instructions in our code generation and support single bit booleans on all processors with these
instructions. Our ram allocator packs packs booleans into bytes if we can.

Walter Banks
Byte Craft Limited

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Code review requested bart.vandewoestyne@gmail.com - 2012-09-20 02:27 -0700
  Re: Code review requested Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-09-20 11:44 +0100
    Re: Code review requested Bart Vandewoestyne <bart.vandewoestyne@gmail.com> - 2012-09-20 08:30 -0700
      Re: Code review requested Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-09-20 16:48 +0100
        Re: Code review requested Bart Vandewoestyne <bart.vandewoestyne@gmail.com> - 2012-09-20 13:38 -0700
        Re: Code review requested Bart Vandewoestyne <MyFirstName.MyLastName@telenet.be> - 2012-09-20 23:00 +0200
      Re: Code review requested ImpalerCore <jadill33@gmail.com> - 2012-09-20 09:02 -0700
        Re: Code review requested Bart Vandewoestyne <MyFirstName.MyLastName@telenet.be> - 2012-09-20 23:13 +0200
          Re: Code review requested Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-09-22 22:16 +0000
        Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-09-20 16:54 -0700
          Re: Code review requested ImpalerCore <jadill33@gmail.com> - 2012-09-21 12:10 -0700
          Re: Code review requested David Brown <david@westcontrol.removethisbit.com> - 2012-09-23 12:47 +0200
            Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-09-23 03:54 -0700
            Re: Code review requested "BartC" <bc@freeuk.com> - 2012-09-23 14:07 +0100
            Re: Code review requested Öö Tiib <ootiib@hot.ee> - 2012-09-23 15:13 -0700
              Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-09-23 15:39 -0700
                Re: Code review requested Ian Collins <ian-news@hotmail.com> - 2012-09-24 10:46 +1200
                Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-09-23 17:30 -0700
                Re: Code review requested Ian Collins <ian-news@hotmail.com> - 2012-09-24 14:05 +1200
                Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-09-24 00:26 -0700
                Re: Code review requested David Brown <david@westcontrol.removethisbit.com> - 2012-09-24 11:03 +0200
                Re: Code review requested Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-09-24 09:16 -0700
                Re: Code review requested David Brown <david@westcontrol.removethisbit.com> - 2012-09-24 18:25 +0200
                Re: Code review requested Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-09-25 04:49 -0700
                Re: Code review requested Ian Collins <ian-news@hotmail.com> - 2012-09-25 07:41 +1200
                Re: Code review requested James Kuyper <jameskuyper@verizon.net> - 2012-09-24 15:50 -0400
                Re: Code review requested Ian Collins <ian-news@hotmail.com> - 2012-09-25 09:30 +1200
                Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-09-24 12:45 -0700
                Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-09-24 16:10 -0700
                Re: Code review requested David Brown <david@westcontrol.removethisbit.com> - 2012-09-25 09:02 +0200
                Re: Code review requested "BartC" <bc@freeuk.com> - 2012-09-24 10:47 +0100
                Re: Code review requested David Brown <david@westcontrol.removethisbit.com> - 2012-09-24 13:41 +0200
                Re: Code review requested "BartC" <bc@freeuk.com> - 2012-09-24 13:40 +0100
                Re: Code review requested David Brown <david@westcontrol.removethisbit.com> - 2012-09-24 15:31 +0200
                Re: Code review requested Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-09-24 15:14 +0100
                Re: Code review requested David Brown <david@westcontrol.removethisbit.com> - 2012-09-24 17:40 +0200
                Re: Code review requested Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-09-24 18:11 +0100
                Re: Code review requested Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-09-24 11:13 -0700
                Re: Code review requested Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-09-24 20:52 +0100
                Re: Code review requested "BartC" <bc@freeuk.com> - 2012-09-24 16:22 +0100
                Re: Code review requested Rui Maciel <rui.maciel@gmail.com> - 2012-09-24 16:46 +0100
                Re: Code review requested David Brown <david@westcontrol.removethisbit.com> - 2012-09-24 18:22 +0200
                Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-09-24 12:52 -0700
                Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-09-24 13:59 -0700
                Re: Code review requested David Brown <david@westcontrol.removethisbit.com> - 2012-09-24 08:43 +0200
                Re: Code review requested Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-09-23 16:03 -0700
                Re: Code review requested Ian Collins <ian-news@hotmail.com> - 2012-09-24 11:10 +1200
        Re: Code review requested Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-09-24 00:49 -0700
      Re: Code review requested Ian Collins <ian-news@hotmail.com> - 2012-09-21 07:19 +1200
        Re: Code review requested Bart Vandewoestyne <bart.vandewoestyne@gmail.com> - 2012-09-20 13:29 -0700
          Re: Code review requested ImpalerCore <jadill33@gmail.com> - 2012-09-20 13:48 -0700
            Re: Code review requested James Kuyper <jameskuyper@verizon.net> - 2012-09-20 17:09 -0400
              Re: Code review requested ImpalerCore <jadill33@gmail.com> - 2012-09-20 14:52 -0700
                Re: Code review requested James Kuyper <jameskuyper@verizon.net> - 2012-09-20 18:48 -0400
                Re: Code review requested Francois Grieu <fgrieu@gmail.com> - 2012-09-21 09:53 +0200
                Re: Code review requested Walter Banks <walter@bytecraft.com> - 2012-10-01 07:43 -0400
                Re: Code review requested ImpalerCore <jadill33@gmail.com> - 2012-09-21 08:55 -0700
          Re: Code review requested Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-09-20 16:59 -0400
            Re: Code review requested hormelfree@gmail.com - 2012-09-20 17:39 -0700
          Re: Code review requested Rui Maciel <rui.maciel@gmail.com> - 2012-09-20 23:23 +0100
            Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-09-20 16:48 -0700
          Re: Code review requested David Thompson <dave.thompson2@verizon.net> - 2012-10-11 03:01 -0400
            Re: Code review requested Philip Lantz <prl@canterey.us> - 2012-10-11 02:15 -0700
    Re: Code review requested Bart Vandewoestyne <bart.vandewoestyne@gmail.com> - 2012-10-19 01:35 -0700
      Re: Code review requested Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-10-19 12:23 +0100
        Re: Code review requested Bart Vandewoestyne <bart.vandewoestyne@gmail.com> - 2012-10-19 05:51 -0700
          Re: Code review requested Keith Thompson <kst-u@mib.org> - 2012-10-19 12:21 -0700

csiph-web