Each branch of a Switch should get it's own id.
Many useful optimizations learn context-specific information in different branches. Right now, we can't do these unions soundly because branches do not have their own ids.
Example:
if x < 0:
abs(x)
else:
abs(x)+1
=>
if x < 0:
-x
else:
x+1
Each branch of a Switch should get it's own id. Many useful optimizations learn context-specific information in different branches. Right now, we can't do these unions soundly because branches do not have their own ids.
Example: