Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

nqp -O1: stage0/HLL-s0.pir fail #1061

Closed
rurban opened this Issue · 1 comment

1 participant

@rurban
Collaborator

error:imcc:e_pbc_emit: no label offset defined for 'rxsubrule42_back82'
The label was removed via dead_code_remove

found dead block 13
    ins deleted (dead block) 0xb36dc0  rxsubrule42_back82:
    ins deleted (dead block) 0xb37000  @pcc_sub_call_100:
    ins deleted (dead block) 0xb3d780 set_args 
    ins deleted (dead block) 0xb3d830 callmethodcc $P11, "!cursor_next"
    ins deleted (dead block) 0xb3d8e0 get_results 
    ins deleted (dead block) 0xb37120 repr_get_attr_int $I11, $P11, rx39_curclass, "$!pos"
    ins deleted (dead block) 0xb371e0 lt $I11, 0, rx39_fail72

but it should not because the label is used in a set_addr op.

  rxsubrule42_back82:
    $P11 = $P11."!cursor_next"()
    repr_get_attr_int $I11, $P11, rx39_curclass, "$!pos"
    lt $I11, 0, rx39_fail72
  rxsubrule42_pass81:
    rx39_cstack = rx39_cur."!cursor_capture"($P11, "prefixish")
    set_addr $I11, rxsubrule42_back82
@rurban rurban self-assigned this
@rurban rurban referenced this issue from a commit
@rurban rurban [imcc] fix GH #1061, nqp -O2: set_addr label marks a basic_block
set_addr label does mark a basic_block, dead_code_remove() needs the
label. disable old premature optimization

Fixes nqp/#160
All nqp tests pass now with parrot -O2.
dfe541d
@rurban
Collaborator

Fixed with commit dfe541d
Author: Reini Urban rurban@cpanel.net
Date: Mon Mar 10 10:19:03 2014 -0500

[imcc] fix GH #1061, nqp -O2: set_addr label marks a basic_block

set_addr label does mark a basic_block, dead_code_remove() needs the
label. disable old premature optimization

Fixes nqp/#160
All nqp tests pass now with parrot -O2.
@rurban rurban closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.