the timing of deleteBranch()
Miguel Garcia Gutierrez
miguel.m.garcia at oracle.com
Fri Apr 11 12:16:39 UTC 2014
Tapping into the collective knowledge of the list:
As part of some (experimental) control-flow-sensitive rewritings during HighTier, it's possible for the condition of an IfNode, FixedGuardNode, or GuardingPiNode to become constant.
By itself, the above doesn't kill any code: the nodes for the dead control-path remain in the graph, until LoweringPhase runs, right? AFAIK DeadCodeEliminationPhase doesn't call SimplifierTool.deleteBranch(branch)
Would it be useful to delete those dead branches somewhat earlier? A "lightweight LoweringPhase" could do the job, ie a phase that lowers *only* what would kill branches (IfNode with constant condition, etc.) Useful in other situations? WDYT?
Miguel
More information about the graal-dev
mailing list