Switch statement: extra out-of-bounds code emitted

John Wehle john@feith.com
Thu Dec 20 15:56:00 GMT 2001


> Perhaps more usefully,
> 
>    switch ( i&7 ) {    /* or i%8 */
>      case 0: case 1: case 2: case 3:  /* case bodies omitted */
>      case 4: case 5: case 6: case 7:
>    }
> 
> could omit the bounds checks.  This isn't dependent on the type of i.

VRP currently does remove the bounds check.

-- John
-------------------------------------------------------------------------
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email: john@feith.com  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |
-------------------------------------------------------------------------



More information about the Gcc mailing list